div 세로로 배열하기

세월이 흘러 table은 낡은 것이 되고 요즘엔 전부 div로 화면을 구성하더라. ㅠ.ㅠ

table의 td는 style의 vertical-align을 지정하여, 텍스트와 이미지를 배치할 수 있지만, div 태그안에서는 vertical-align이 적용되지 않습니다. div에 vertical-align을 지정하려면 아래와 같이 합니다.

 x:left, y:bottom 정렬

 

 

x:center, y:bottom 정렬

 

x:center, y:center 정렬

display: table; 은 table 태그 이외의 것을 table처럼 화면에 표시하도록 합니다.
그리고 display: table-cell; 이 적용된 태그는 테이블의 셀과 동일하게 취급하기 때문에
td와 마찬가지로 vertical-align을 사용할 수 있습니다.

 

heroku 시작하기

heroku의 특징

  • 로컬 파일 저장을 허락하지 않는다. 따라서 sqlite3도 사용이 불가하다.

 

주요 명령

  • 로그파일 보기
  • 재시작 하기
  • 수정된 파일 반영하기(나같은 경우 pycharm에서 git push를 하면 된다.)

 

참고자료

대용량의 json 처리하기

파이썬은 json데이터를 처리하기 참 편하다. 그런데 기본 방식으로 json을 처리하려면, 전체 json파일을 모두 읽어들인뒤 데이터 객체를 리턴해준다.

즉, 100MB짜리 json파일을 처리하기 위해서는 100MB를 메모리에 올려야 한다는 의미가 되겠다.

나무위키의 덤프파일을 다운로드하면 대략 7GB의 json으로 된 텍스트 문서를 처리해야하는데, 한방에 읽어서 처리하는것은 바보같은 일이다.

python에서는 이를 처리하는 패키지가 있다. ijson 이라고 하는데, json파일을 읽어들이면서 이벤트처리 방식으로 파싱이 가능하다. 다만, 홈페이지가 없는지 문서가 잘 되어 있지는 않다. 적당히 테스트해본뒤 경험에 의해 코딩하면 될듯하다. 어렵지 않으니…

간단히 아래와 같이 코딩하면 namuwiki의 json파일을 읽으면서 순차적으로 파싱해서 출력해준다.

 

예외

나무위키의 문서를 해당 타이틀의 텍스트 파일로 만들었는데… 예를들어 ‘대한민국.txt’. AUX.txt라는 파일은 만들 수 없다. AUX라는 이름의 파일은 윈도우즈에서 생성할 수 없다.

 

참조