Slide 1

Slide 1 text

뭔지 모르지만 발표 ASP에서 Django로 옮겨간 사연 페이스북에서 홧김에 정한 패기 넘치는 제목

Slide 2

Slide 2 text

주의 이 문서는 수준이 참 낮습니다. 미리 양해를 구합니다. 만든 사람이 마감에 쫓겨 제 정신이 아닌 채 만들었습니다. 진지합니다. 궁서체입니다.

Slide 3

Slide 3 text

파이라고 합니다. 2013년 1월부터 지금까지 요새 Hot 한 SMARTSTUDY에서 소프트웨어 엔지니어 인척 하며 월급과 경험치를 훔치고 있습니다. + exp 100 + gold 400 ㅋㅋㅋㅋㅋ 파이 [월급루팡]

Slide 4

Slide 4 text

뭘 할까 하다가, IRC에서... <아침놀> 2013.08.30 21:16:26 원래 남의 삽질은 좋은 구경거리(....) 그렇다고 합니다. 그래서 그냥 적당히 삽질한 썰 풉니다. 적당히 삽질한 썰 풉니다. 되지도 않는 드립이나 쳐야지

Slide 5

Slide 5 text

이것은 한 개발자의 성장기 라고 쓰고 삽질기 라고 읽습니다.

Slide 6

Slide 6 text

첫 직장 G사에 입사. 취직 못하고 노는 것 보단 좋겠지 뭐.(안일) 하지만 날 기다리고 있던 건

Slide 7

Slide 7 text

ASP!!!! 오 예!! 그것도 Classic ASP. 망했어요. 이때는 아직 ASP가 좋은지 나쁜지도 몰랐다.

Slide 8

Slide 8 text

당시 할 줄 아는 거 약간의 웹 디자인 XHTML / CSS 학교 과제 수준의 C, Java 게시판 겨우 짤 수준의 JSP 이글루스 스킨만들다가... 졸업작품 하느니라...

Slide 9

Slide 9 text

취직이 된 게 신기하다. 시작된 월급 루팡 전설… 투 비 컨티뉴 대표님, 절 뭘 믿고 뽑았나요?

Slide 10

Slide 10 text

최초 나모웹에디터로 제작 5년간 리뉴얼 없었음 놀랍게도 여기에 있던 코드가 여기에도 또 있고… 수 십개의 게시판이 복붙 복붙 당시 G웹진의 상황 혁신적인 iCode

Slide 11

Slide 11 text

소스 코드가 2GB! 돌아가는 게 신기하다. 게임 소스 아닙니다. 웹페이지입니다.

Slide 12

Slide 12 text

ASP로 뭘 했나요? 모바일 게임 소개 페이지 제작 이벤트 페이지, 설문조사 페이지 제작 다음 TV팟 연동 코너 제작 메인페이지 리뉴얼 등 등.

Slide 13

Slide 13 text

object.title을 해보고 싶어서 언제까지 SQL 노가다 할텐가..! 직접 유사 ORM 제작. Model용 Class는 Excel을 활용하여 생성(...) Top10, List 등 그때그때 필요한 함수 만듬 결론 ASP로 객체지향 프로그래밍, 몹쓸 짓이구나.

Slide 14

Slide 14 text

고통 받는 ASP 관리할 수 없는 거대한 스파게티 소스 해킹 취약(망할 웹셀) 캐슬, 웹나이트 등 별짓을 다 해도 뚫린다. 크롬 : 이 사이트는 헤로운 사이트다.

Slide 15

Slide 15 text

나에게 떨어진 임무 I웹진을 새로 만들고 G웹진을 리뉴얼 하라.

Slide 16

Slide 16 text

단, 너 혼자서 까라면 까야지... 할 수 있지? … / 네...

Slide 17

Slide 17 text

ASP는 안되겠어, 어떻게든... 주변에 알만한 사람들에게 어떻게든 날로 먹을 수 있는 프레임워크를 추천 받았다. 후보는 ROR과 Django.

Slide 18

Slide 18 text

Django! <아침놀> 제가 이번에 책을 검수했는데요... 쉽고 빠른 웹개발 Django. 아침놀님의 강력 추천. 더 이상 설명은 생략한다.

Slide 19

Slide 19 text

날로 먹을 수 있다! ASP로 수십 수백줄 짜야했던 것들이 Django에는 이미 다 있다. ORM, Model, Template, View, User, Auth, Admin, 등등등…

Slide 20

Slide 20 text

그러니 잘 찾아봐 쉽긴 X뿔... 세상의 모든 것을 그곳에 두고 왔다. docs.djangoproject.com

Slide 21

Slide 21 text

모든 것을 새롭게 아파치나 IIS로 다 되는거 아니였나요?! WSGI가 뭐에요? 파일 서빙을 위한 경량 웹서버를 따로 돌려야한 다고요? Nginx는 또 뭐하는 놈이죠? HTTP가 뭐였죠? …. 웹이 뭐죠..?

Slide 22

Slide 22 text

서버가 어찌 돌아가는거야? 소스코드 웹서버 클라이언트 ASP url = path 요청 웹서버가 알아서 다 해요 소스코드 웹서버 (proxy) 클라이언트 Django url != path 함수 실행 명령 Django (Python) WSGI 이게 다 뭐다냐.

Slide 23

Slide 23 text

하지만 해냈다. I웹진 개발 ❏ 최초 버전 약 4개월 걸림. 오픈 성공. ❏ 최적화, 그거 먹는 거에요? -> 장애 발생 ❏ 캐쉬 발라서 해결. ❏ Django는 캐쉬 설정도 참 쉽습니다. ❏ 모듈을 나눌 줄 몰랐다.(Python 초보) ❏ 천 단위 라인의 코드 발생(.....)

Slide 24

Slide 24 text

이어지는 G웹진 리뉴얼 수십 개의 게시판 중에 고르고 골라서 보존해야 하는 데이터 약 6만건 마이그레이션 해야 한다. 더불어 I웹진의 교훈 - 쓸대없이 만들지말고 Django Admin을 활용하자 - 캐쉬 등 미리 최적화 구조를 생각하자. - 디자인 그냥 내가 하자.

Slide 25

Slide 25 text

목표 재정의 기사를 최대한 읽기 쉽게 합시다. 기사 생산 및 배포가 쉽게 해주세요. 웹 표준 준수로 검색 잘되게 해주세요. 짧고 예쁜 URL 주세요. (예전 URL 리다이렉트) 망한 커뮤니티는 완전 대폭 축소하죠. 배너는 밥줄이라 포인트 시스템 있어야 해요. …..

Slide 26

Slide 26 text

근데, 저는 한 명입니다. 공돌이를 갈아넣어봅시다. 으아아아아아... 한번 해봤으니 이번엔 좀 쉬울꺼야… 쉽긴 X뿔...

Slide 27

Slide 27 text

일단 마이그레이션 게시판 수만큼 있는 테이블 컬럼으로 나뉜 페이지 구분(text1,text2,text3..) 기사 내용엔 나모 강한 향기가(....) …. 어쩌라고….

Slide 28

Slide 28 text

마이그레이션 계속 모든 것은 Django 안에서.. (management cmd) 1. 하나의 모델로 읽어온다. 2. 필요한 정보를 추출하여 분류/관계 생성 3. 분류/관계 맞춰서 새 모델에 넣기 4. 새 모델에서 잘못된 데이터 재 가공 5. 위 단계 예상하지 못한 추가 작업 스크립트가 몇 개니...

Slide 29

Slide 29 text

Backend module 분리를 의미 있게 열심히 자주 쓰는 모델은 역정규화 save()에서 캐쉬 초기화 django admin에서 모든 것을 관리

Slide 30

Slide 30 text

Publishing 각종 포탈 사이트로 기사 전송하는 많은 방법 FTP, RSS, XML, JSON… publish 앱에서 모두 해결 관리는 모두 Django admin Django admin은 (알고 쓰면) 쉽고 강력하다.

Slide 31

Slide 31 text

기사 관리 및 배포(출판)

Slide 32

Slide 32 text

기사 작성

Slide 33

Slide 33 text

Frontend 기사를 읽기 쉽게 하자. 디자인은 단순(좀 심했나.) 배너는 밥줄이라... HTML5 / CSS3 jQuery, Bootstrap custom IE 6~7 포기, 8 부분 지원

Slide 34

Slide 34 text

허술한 모자이크

Slide 35

Slide 35 text

어떻게든 했습니다. 되던데요. 더이상 PPT를 만들다간 내가 지루해서 안되겠다.

Slide 36

Slide 36 text

다하고 보니... 국내에 얼마 없는 Django 개발자.(요샌 많더라.) 얕지만 나름 풀 스택 개발자. 가.. 되어있더라…?!

Slide 37

Slide 37 text

정신 차려보니... 많은 개발자들이 가고 싶어하는 HOT한 스타트업 SMARTSTUDY에 탑승해 있네요. SMARTSTUDY는 여러분을 환영합니다. 기 승 전 광고

Slide 38

Slide 38 text

들어주셔서 감사합니다. 질문해주세요. 과.. 관심 좀… 치킨 치킨 치킨? 취킨 취킨 치킹.