서버를 구성할 때 고를 수 있는 언어는 다양한데 각자 장단점이 있는 것 같다. java의 spring framework를 잘 쓰시는 분들이 워낙 많아서 특이사항이 없으면 spring을 고르는게 좋은 것 같지만 그래도 다른 언어의 프레임워크를 쓰면 좋을 만한 상황이 있는 것 같다. 그 중에 파이썬으로 구성하면 두 가지 상황에서 강점을 발휘한다.

python

1. 머신러닝, 데이터 사이언티스트와 같이 협업하기 좋다.
  머신러닝 개발자나 데이터 사이언티스트라면 파이썬에 익숙할 것이다. 그러면 머신러닝 개발자가 모델을 서빙하는 서버를 구축해야한다던가, 데이터 사이언티스트가 데이터 파이프라인을 만드는데 있어서 서버도 같이 본다던가, 그런 유도리있는(?) 개발이 가능하다. 협업이라고 하기엔 조금 이상한 것 같은데 아무튼 유연한 상황들이 있어서 좋은 것 같다. 그래서 머신러닝에만 집중하는 회사들은 파이썬으로 서버를 만드는 경우가 많은 것 같다.

2. 스크립트 언어답게 일회성으로 뭔가 만들어야 할 때 좋다.
  가끔은 일회성으로 해야 할 것들을 코드로 짜는 경우도 있는데 이럴 때 참 편한 것 같다. 컴파일도 프로젝트 생성도 필요없이 스크립트 짜서 뭔가 하게 하는 것도 좋은데 django 같은 경우에는 python manage.py shell < main.py 과 같이 django 내부에 정의되어 있는 모델, 함수들을 바로 쓸 수 있어서 편하더라. 컴파일 언어 같은 경우에는 batch나 내부에 따로 일회성 api를 짜야할 것 같은데 더 좋은 방법이 있는지는 잘 모르겠다.

그리고 뭐 바로바로 실행하면서 함수를 테스트할 수 있는 것도 좋은 점이긴 한데 그건 스크립트 언어들의 장점이니까 '파이썬'으로 서버를 구성했을 때의 장점은 아니다. 아무튼 쓰면 쓸 수록 귀여운 언어인 것 같다. 뭔가 개구쟁이 같은 느낌이다.

4월부터 기존에 다니던 회사에서 퇴사하고 나서 무얼 해볼까 고민을 많이 했다. python으로 개발을 배우기 시작하고, 빠르게 배워서 취업을 했었던 나로서는 처음부터 CS(computer science) 지식이 부족한 것 때문에 그것에 대한 갈망이 있어 CS 관련 강의를 들어보고 싶기도 했고, 금융권으로 취직을 하고 싶어 C++을 배워보고 싶었는데 그 발판으로 무얼 할까 고민을 했었다. 그 와중에 실무 프로그래밍 입문 강의를 접하게 되었고, "실무"에 적합한 지식을 가르치고 프로그래밍 기초를 가르친다는데에서 들어보기로 했다. 물론 처음엔 20만원 정도하는 강의라서 조금 비싸다고 생각했다. 강의를 다 들은 지금도 그 생각에 변함은 없지만 강의 내용은 굉장히 마음에 든다.

실무 프로그래밍 입문 C#

이 강좌가 마음에 들었던 이유는 사실 python으로 개발을 하면서 왜 이런 기능이 있는지에 대한 의문을 해소해 주었기 때문이다. 예를 들어 "class에서 decorator로 @staticmethod를 써보면서 그냥 instance로 만들고 method를 호출하는 거랑 뭐가 다른가?" 라던지 "한 번만 쓸 로직인데 이걸 가독성을 위해서 함수로 만들어야하나 말아야하나..." 등등 이런 의문을 예시를 들어주면서 해소시켜줘서 굉장히 마음에 들었다. 개인적으로 프로그래밍을 하면서 실수를 줄일 수 있는 방향으로 코드를 짜야 한다는 말이 마음에 와닿았다. 파이썬으로 웹 개발을 하다보면 깊이 생각을 안 하고 코드를 짜게 될 때가 있는데 워낙 무거운 프로그램이 아니다보니 그냥 실행시켜보고 오류나면 다시 고치는 걸 반복할 수 있기 때문이다. 이러다보면 내가 테스트해보지 않은 부분에서 오류/예외가 날 수도 있다는 생각에 불안불안한 마음 한편에 있었는데 이런 걸 방지하기 위해 실수를 줄일 수 있는 방향으로 코드를 짜는 방법을 가르쳐줘서 마음에 들었다.

결론적으로 가격 때문에 조금 망설여지긴 했지만 충분히 좋은 강의라고 생각한다. 그리고 좀 쉬면서 고민을 해보고 다음주에는 COMP1000: 소프트웨어 공학용 수학을 결제하고 들어볼 생각이다.

 

노마드코더(nomad coder) 에어비앤비 클론 코딩 후기

2달에 걸친 풀스택 에어비앤비 클론 코딩을 드디어 끝냈내요. 이 코스를 통해 python과 Django를 배울 때는 재밌어서 하루도 빠짐없이 코딩을 했습니다. 5월에는 천천히, 6월에는 2배 정도 빠르게 했�

00pen.tistory.com

약 5개월에 걸쳐 nomad coder을 통해 풀스택 개발자로 성장하기 위해서 강의도 많이 들었고, 이제는 정말 직장에서 일을 하면서 돈도 벌고, 기업에서 경험을 쌓아야 겠다는 생각에 나만의 웹사이트나 앱을 만들어 포트폴리오를 만들어보고자 생각이 들었습니다.

계획은 자신의 자산 상태를 여러 그래프로 보여주는 Dashboard를 만드는 것입니다. 에어비앤비 클론 코딩을 할 때는 오직 Django로만 풀스택 개발을 했지만 기업에서는 대부분 백앤드와 프론트앤드를 나누어 개발하는 것이 일반적이기 때문에 그에 맞추어 Django (+ Rest Framework)로 백앤드 API 서버를 만들고, React와 Redux를 이용해 프론트엔드를 만들 예정입니다.

저는 2주일 안에 끝내는 것으로 잡고 싶었으나 주변 개발자님들의 말을 들어보면 그렇게 마음대로 되지는 않을 거라는 말을 들어 3주~4주를 목표로 잡았씁니다. 지금은 이미 백앤드 API 서버를 만들고 있는 중이고, 시작한지 3주가 되는 날은 8월 15일이네요.

 

프로젝트명은 asset-dashboard.

지금까지 진행상황은...

 

7월 25일 - 간단하게 머리 속 계획을 그림으로 그려보고, Django와 더불어 필요한 것들 설치

개발환경은 간단하게 Ubuntu 16.04(WSL로 윈도우에서 사용), VS Code로 했고, pipenv로 가상환경을 꾸려서 함

 

7월 26일 - 일단 백엔드 API에 필요한 주식정보(현재가, 종목코드) 가져오는 crawler 코드 먼저 짬

https://00pen.tistory.com/84

 

Marketdata.krx 종목코드, 현재가격 가져오기

주식데이터를 가져오는 방법으로는 증권사 api도 있고, github에 올려져 있는 여러 코드들도 있지만 Django 백앤드에 필요한 상장주식코드(ETF 포함)만 가져오는데 무겁게 하기 싫어 코드를 짜보았습

00pen.tistory.com

 

7월 27일 - crawler 코드 정리하고, Django에서 db로 넘겨주도록 commad 생성, 주요 Model과 Serializer, View 생성

Github 주소  - https://github.com/qhqnf/asset-dashboard

https://00pen.tistory.com/87

 

Django Rest framework 와 React로 포트폴리오 만들어보기(2)

https://00pen.tistory.com/85 Django Rest framework 와 React로 포트폴리오 만들어보기(1) 노마드코더(nomad coder) 에어비앤비 클론 코딩 후기 2달에 걸친 풀스택 에어비앤비 클론 코딩을 드디어 끝냈내요. 이..

00pen.tistory.com

 

* React Native를 이용하여 개발하면서 Expo라는 앱을 사용하게 되었는데 Dev tool을 사용하면 갑자기 네이버도 안 들어가지고 '사이트에 연결할 수 없습니다' - ERR_CONNECTION_FAILED 라고 떠서 stackoverflow를 참고하여 해결한 방법입니다. (일반적인 경우에도 해결방법이 될 지는 모르겠네요...)

해결방법을 알려준 stackoverflow의 유저도 저와 굉장히 유사한 환경에서 개발을 하고 있었는데

1. WSL을 이용해 Ubuntu를 사용

2. React-Native와 Expo를 사용해 개발 중

위와 같은 상황에서 Expo Dev-tool을 사용하다보면 갑자기 인터넷이 연결되어 있지만 네이버와 같은 평범한 사이트도 연결이 되지 않는 상황이 벌어지고 있는 것 같습니다. 컴퓨터를 껐다가 키면 해결되긴 하지만 번거롭기 때문에 그보다 쉬운 방법을 알려주었습니다.

1 - WIN+R -> services.msc 검색 -> 서비스 창이 뜸
2 - LxssManager 찾기
3 - 우클릭 후 재시작

'네이티브 ELF 이진 파일의 실행을 지원합니다.' 라는 걸 보니 확실히 React Native와 관련이 있는 거 같긴한데... 왜 이러는 걸 까요... 아무튼 재시작을 하면 모든 사이트들이 잘 돌아가긴 합니다...ㅋㅋ

출처: https://stackoverflow.com/questions/58159333/err-connection-failed-on-chrome-ie-after-20-minutes-of-working-when-internet-is

+ Recent posts