728x90

요즘은 어느 업종이나 마찬가지일거란 생각이 들긴 하지만
IT 업종만큼 새로운 기술과 트렌드가 미친듯이 쏟아지고 
잠깐 방심하면 뒤처지는 도메인도 보기 드물다는 생각을 많이 합니다. 

트랜드를 따라가기 위해 가장 좋은 것은 결국 미디어를 활용하는 것!
유튜브도 좋지만 정갈하게 정제된 정보를 쉽게 확인하고 따라가는 것은 
IT 전문 미디어들의 최신 글을 살펴보는 것 만큼 좋은 것도 없다고 봅니다. 


글로벌 테크 미디어들의 최신글을 한번에!

개인적으로 즐겨보는 미디어는 The Verge와 Engadget 정도입니다. 
때문에 이쪽에서 다루지 않는 기술이나 트렌드는 한 템포 늦는 경우가 종종 있습니다. 
(네, 물론 그런 경우는 별로 발생하지 않기는 합니다 ㅎㅎ 제가 게으른 탓이지요...)
보완재로 트위터-_-를 애용하고 있는데 이쪽은 정제되지 않은 정보가 많아
다시 또 원문을 찾아 읽는 수고를 해야만 하는 단점이 있습니다. 

그런 관점에서 TECHURLS 라는 페이지는 보석과도 같은 서비스입니다. 
Hacker News, Slashdot 같은 커뮤니티의 Tech 관련 글에서 부터 
The VErge, TechCrunch, NY Times의 기술 섹션까지
다양한 테크 미디어들의 최신 글을 한 눈에 살펴볼 수 있는 곳입니다. 

어마어마하죠? 
단점이 있다면 기사 타이틀만 소개되기 때문에
무엇을 읽을 것인가를 생각하고 고민해야 한다는 점?
기왕이면 작은 썸네일이라도 있었으면 하는 아쉬움이 있습니다. 

 

번외편 : 테크 말고는 없나요?

TECHURLS 는 로고에서 추정 할 수 있는 것처럼 xxxURLS 시리즈(?)를 많이 운영하고 있습니다. 
과학, 개발, 금융 분야는 물론이고 물리학? 수학? 까지 개별 서비스가 있습니다. 
관심이 있다면 이런 곳를 또 찾아서 보시는 것도 흥미로운 경험이 될 것 같습니다. 

728x90
728x90

JSON 으로 데이터를 표현하는 것은 굉장히 일반화 되어 있습니다. 많은 API 의 응답이 JSON 형태를 가지고 있을 뿐만 아니라 서버의 설정이나 개발된 코드의 환경 정보도 JSON 으로 쓰는 경우가 많습니다. 하지만 JSON 이 정말 편안한 형태인가? 에 대해서는 쉽게 고개를 끄덕이긴 어렵습니다. 파싱(Parsing) 하는 과정이 은근 까다로울때가 많고, 특히 JSON 이 중첩되어 있을 경우에는 더욱 그렇습니다. 

파이썬에서 requests 모듈을 이용하여 JSON 으로 응답하는 API 를 호출하기 위하여 아래와 같이 간단한 코드를 만들었습니다. 응답 결과가 JSON 이기 때문에 응답에 대하여 JSON 으로 쉽게 읽을 수 있겠지? 하는 마음에 json() 메서드를 호출해서 변수에 담았습니다. 

import requests
import json

_target = "https://www.example.com/api"
s = requests.Session()
result = s.get(_target).json()

데이터는 JSON 의 모습이지만 이 자료가 어떤 형태인지는 type 으로 찍어보거나 requests 모듈의 문서를 찾아서 json() 메서드의 자료형을 살펴봐야 합니다. 간단히 코드를 만들어서 확인해보니 문자열 형태가 아닌 Dictionary 형태의 자료였습니다. print 문 등으로 출력을 해보면 마치 JSON 처럼 생긴 결과가 나오지만 JSON 의 규격과 맞지 않아 JSON Validator 를 이용해보면 파싱이 제대로 되지 않습니다.

여기서 또 한가지의 문제는 이 응답 결과를 for 문으로 이용하는 코드를 만들었을 때 생깁니다. Dictionary 형태의 데이터였지만 특정 Key 의 값을 꺼내어 확인해보면 Dictionary 가 아닌 List 형으로 변경된 것을 알 수 있습니다. 자료형이 어떻게 바뀌어 가는지를 제대로 가늠하지 못하고 코드를 만들다 보니 한참을 헤메일 수 밖에 없었습니다. 결과에서 특정한 값이 필요할 때는 Dictionary 가 편하지만 Javascript 등에서 JSON 을 필요로 할 때는 문자열 형태로 전달해서 JSON 으로 파싱할 수 있도록 해주는 것이 좋습니다. 

result = s.get(_target).json()
print(type(result))             # DICT
result_json = json.dumps(result)
print(type(result_json))        # JSON
result_dict_again = json.loads(result_json)
print(type(result_dict_again))  # DICT

json 모듈이 제공하는 json.dumps() 메서드는 자료형을 JSON 형태로 (단순 문자열입니다!) 바꿔주는 역할을 하고, json.loads() 메서드는 문자열 자료를 파싱하여 Dictionary 의 Key, Value 형태로 변경해줍니다. 파이썬 내에서 자료를 핸들링 할때는 Dictionary 를 이용하고 외부로 전달할 때는 JSON 형태로 쉽게 바꿀 수 있게 되었습니다. 오늘도 파이썬 초보는 이렇게 한가지를 또 배워갑니다. 


사놓고 보지 않는 혼공파... 틈틈히 읽어야겠습니다 ㅜㅜ (반성..반성..)

 

 

혼자 공부하는 파이썬:파이썬 최신 버전 반영

COUPANG

www.coupang.com

 

Python 에서 선언되지 않은 변수를 처리하는 방법

언어마다 선언되지 않은 변수를 처리하는 방법들이 조금씩 다른 것 같습니다. 가령 Javascript 에서는 변수가 선언되지 않았을 때 undefined 인지를 확인하는 방법으로 선언되지 않은 변수를 조건문에서 확인하는..

ondemand.tistory.com

 

Python 프로젝트의 Package 를 쉽게 추출하고 설치하기

Python 을 조금씩 좋은 감정으로 알아가고 있는 중입니다. 결실을 맺게 될지는 잘 모르겠지만 오늘도 새롭게 공부한 것들이 있어서 공유해 봅니다. Python 에서 Package 관리를 위해 사용하는 것이 pip 혹은 pip3..

ondemand.tistory.com

본 포스팅은 소정의 수수료를 지급받을 수 있습니다

728x90

+ Recent posts