Upgrade to Pro — share decks privately, control downloads, hide ads and more …

뭔지 모르지만 발표 - ASP에서 Django로 옮겨간 사연

뭔지 모르지만 발표 - ASP에서 Django로 옮겨간 사연

한 개발자의 성장기(아니 삽질기)입니다.
ASP 개발을 하다가 Django를 쓰게 된 이야기를 간략하게 재미위주로 적어보았습니다.

패러디 요소를 전부 찾아내신 분께 소정의 상품을... 드리진 않습니다.

* 원본 : https://docs.google.com/presentation/d/1V2u_6d0-VY5SZ0CIxikqfjDcUP4YJ5o_f5Db3chfzrs/edit?usp=sharing

* 맥의 '궁서' 폰트를 활용해서 구글 독스로 만들었기에, 맥으로 원본 주소를 보셔야 더 볼만합니다.

Kyoung Up, Jung

August 31, 2013
Tweet

More Decks by Kyoung Up, Jung

Other Decks in Programming

Transcript

  1. 주의 이 문서는 수준이 참 낮습니다. 미리 양해를 구합니다. 만든

    사람이 마감에 쫓겨 제 정신이 아닌 채 만들었습니다. 진지합니다. 궁서체입니다.
  2. 파이라고 합니다. 2013년 1월부터 지금까지 요새 Hot 한 SMARTSTUDY에서 소프트웨어

    엔지니어 인척 하며 월급과 경험치를 훔치고 있습니다. + exp 100 + gold 400 ㅋㅋㅋㅋㅋ 파이 [월급루팡]
  3. 뭘 할까 하다가, IRC에서... <아침놀> 2013.08.30 21:16:26 원래 남의 삽질은

    좋은 구경거리(....) 그렇다고 합니다. 그래서 그냥 적당히 삽질한 썰 풉니다. 적당히 삽질한 썰 풉니다. 되지도 않는 드립이나 쳐야지
  4. 첫 직장 G사에 입사. 취직 못하고 노는 것 보단 좋겠지

    뭐.(안일) 하지만 날 기다리고 있던 건
  5. 당시 할 줄 아는 거 약간의 웹 디자인 XHTML /

    CSS 학교 과제 수준의 C, Java 게시판 겨우 짤 수준의 JSP 이글루스 스킨만들다가... 졸업작품 하느니라...
  6. 취직이 된 게 신기하다. 시작된 월급 루팡 전설… 투 비

    컨티뉴 대표님, 절 뭘 믿고 뽑았나요?
  7. 최초 나모웹에디터로 제작 5년간 리뉴얼 없었음 놀랍게도 여기에 있던 코드가

    여기에도 또 있고… 수 십개의 게시판이 복붙 복붙 당시 G웹진의 상황 혁신적인 iCode
  8. ASP로 뭘 했나요? 모바일 게임 소개 페이지 제작 이벤트 페이지,

    설문조사 페이지 제작 다음 TV팟 연동 코너 제작 메인페이지 리뉴얼 등 등.
  9. object.title을 해보고 싶어서 언제까지 SQL 노가다 할텐가..! 직접 유사 ORM

    제작. Model용 Class는 Excel을 활용하여 생성(...) Top10, List 등 그때그때 필요한 함수 만듬 결론 ASP로 객체지향 프로그래밍, 몹쓸 짓이구나.
  10. 고통 받는 ASP 관리할 수 없는 거대한 스파게티 소스 해킹

    취약(망할 웹셀) 캐슬, 웹나이트 등 별짓을 다 해도 뚫린다. 크롬 : 이 사이트는 헤로운 사이트다.
  11. ASP는 안되겠어, 어떻게든... 주변에 알만한 사람들에게 어떻게든 날로 먹을 수

    있는 프레임워크를 추천 받았다. 후보는 ROR과 Django.
  12. Django! <아침놀> 제가 이번에 책을 검수했는데요... 쉽고 빠른 웹개발 Django.

    아침놀님의 강력 추천. 더 이상 설명은 생략한다.
  13. 날로 먹을 수 있다! ASP로 수십 수백줄 짜야했던 것들이 Django에는

    이미 다 있다. ORM, Model, Template, View, User, Auth, Admin, 등등등…
  14. 모든 것을 새롭게 아파치나 IIS로 다 되는거 아니였나요?! WSGI가 뭐에요?

    파일 서빙을 위한 경량 웹서버를 따로 돌려야한 다고요? Nginx는 또 뭐하는 놈이죠? HTTP가 뭐였죠? …. 웹이 뭐죠..?
  15. 서버가 어찌 돌아가는거야? 소스코드 웹서버 클라이언트 ASP url = path

    요청 웹서버가 알아서 다 해요 소스코드 웹서버 (proxy) 클라이언트 Django url != path 함수 실행 명령 Django (Python) WSGI 이게 다 뭐다냐.
  16. 하지만 해냈다. I웹진 개발 ❏ 최초 버전 약 4개월 걸림.

    오픈 성공. ❏ 최적화, 그거 먹는 거에요? -> 장애 발생 ❏ 캐쉬 발라서 해결. ❏ Django는 캐쉬 설정도 참 쉽습니다. ❏ 모듈을 나눌 줄 몰랐다.(Python 초보) ❏ 천 단위 라인의 코드 발생(.....)
  17. 이어지는 G웹진 리뉴얼 수십 개의 게시판 중에 고르고 골라서 보존해야

    하는 데이터 약 6만건 마이그레이션 해야 한다. 더불어 I웹진의 교훈 - 쓸대없이 만들지말고 Django Admin을 활용하자 - 캐쉬 등 미리 최적화 구조를 생각하자. - 디자인 그냥 내가 하자.
  18. 목표 재정의 기사를 최대한 읽기 쉽게 합시다. 기사 생산 및

    배포가 쉽게 해주세요. 웹 표준 준수로 검색 잘되게 해주세요. 짧고 예쁜 URL 주세요. (예전 URL 리다이렉트) 망한 커뮤니티는 완전 대폭 축소하죠. 배너는 밥줄이라 포인트 시스템 있어야 해요. …..
  19. 마이그레이션 계속 모든 것은 Django 안에서.. (management cmd) 1. 하나의

    모델로 읽어온다. 2. 필요한 정보를 추출하여 분류/관계 생성 3. 분류/관계 맞춰서 새 모델에 넣기 4. 새 모델에서 잘못된 데이터 재 가공 5. 위 단계 예상하지 못한 추가 작업 스크립트가 몇 개니...
  20. Backend module 분리를 의미 있게 열심히 자주 쓰는 모델은 역정규화

    save()에서 캐쉬 초기화 django admin에서 모든 것을 관리
  21. Publishing 각종 포탈 사이트로 기사 전송하는 많은 방법 FTP, RSS,

    XML, JSON… publish 앱에서 모두 해결 관리는 모두 Django admin Django admin은 (알고 쓰면) 쉽고 강력하다.
  22. Frontend 기사를 읽기 쉽게 하자. 디자인은 단순(좀 심했나.) 배너는 밥줄이라...

    HTML5 / CSS3 jQuery, Bootstrap custom IE 6~7 포기, 8 부분 지원
  23. 정신 차려보니... 많은 개발자들이 가고 싶어하는 HOT한 스타트업 SMARTSTUDY에 탑승해

    있네요. SMARTSTUDY는 여러분을 환영합니다. 기 승 전 광고