분류 전체보기
-
[개념] Django는 Web Server가 아니라구요!!💻 프로그래밍/Django 2020. 8. 10. 19:38
안녕하세요! 운동하는 개발자 Jay입니다. 오늘은 Django, Nginx, WSGI, gunicorn의 개념적인 내용을 간단히 다뤄보려고 합니다. 사실 웹 개발자로서 처음 커리어를 시작했을때, 많이 헷갈렸던 부분이었습니다. "우리 회사 웹 서버는 Django를 사용해!" 개발자 친구들을 만나면 이렇게 설명 했던 것 같습니다.ㅎㅎㅎ 근데 사실 정확히 따지자면, 틀린 말이죠! (창피함😱) 아마, 저 처럼 처음 웹 개발자로서 커리어를 시작하시는 분들도 이런 개념에 헷갈리셨을 수도 있을 것 같아요! (나만 그런 건가 hoxy?) 1. Django의 역할이 그래서 정확히 뭔데?? 네! 그래서 Django의 역할은 도대체 뭘까요? 이미 다들 알고 계신텐데 Django는 Web Server가 아니라 Web Appl..
-
[Node.JS] Express 로 api 서버 만들기💻 프로그래밍/node 2020. 7. 28. 10:00
안녕하세요! 운동하는 개발자 제이입니다! 오늘은 Django가 아닌 Node.js로 api 서버를 만들어 보려고 합니다!! 정확히는 Node기반으로 된 Express라는 웹 프레임워크로 api 서버를 만들어 볼 거예요! (참고 : 이 글에서는 npm, node에 대해 직접적인 설명과 React에 대한 설명은 하지 않습니다.) 1. React 프로젝트 만들기 프로젝트 생성 후 npm start 명령어를 실행하면 오른쪽 이미지와 같이 리액트 기본 페이지가 나오는 것을 확인할 수 있습니다. 여기까지 되었다면, 기본적인 준비가 끝난 거예요! 📌npm vs npx npm : Node.js의 의존성과 패키지 관리를 위한 패키지 매니저. npm install을 명령어로 pacakge.json에 있는 패키지를 설치. ..
-
[RxPy] 디버깅, 오류 처리하기💻 프로그래밍/Python 2020. 7. 15. 17:52
안녕하세요! 운동하는 개발자 Jay입니다! 오늘은 RxPy의 디버깅과 오류 처리에 대해서 알아보겠습니다. 1. do() 연산자로 디버깅하기 🐛 RxPy의 유틸리티 연산자 중 do_action()이 있습니다. do_action()은 rx.core.operators.do에 _do_action()을 wrapping 하고 있죠! rx.core.operators.do 에는 do 관련된 함수들이 모여있습니다. 왜 다른 do 함수들은 wrapping이 안되어 있는지 모르겠네요ㅎㅎ - 개인적인 생각으로는 do_action()으로 다른 do 함수들의 동작을 다 할 수 있어서 그런 것 같아요. 어떤 함수들이 있는지 한 번 봐볼까요? _do_action() : on_next, on_error, on_complted 호출 후..
-
[RxPy] CPU Concurrency와 Muliti Thread로 Rx하기💻 프로그래밍/Python 2020. 7. 14. 19:13
안녕하세요! 운동하는 개발자 JAY 입니다! 오늘은 드디어! RxPY를 Multi Thread(멀티 쓰레드)로 사용하는 방법에 대해 설명하려고 합니다! 직접 코드를 실행해보기에 앞서 몇 가지 개념에 대해서 알아보고 들어가겠습니다! 1. Concurrency(병행성) VS Parallelism(병렬성) 🌏 RxPy 3.1.0 문서에 보면 Multi Thread 관련된 설명에 이렇게 나와 있습니다. Concurrency(병행성)이라는 개념이 살짝 헷갈릴 수도 있는데, 보통 Multi Thread하면 Paralle(평행) 이라고 생각을 할 수 있는데, 다른 언어는 어떤지 모르겠지만 RxPy에서는 Concurrency(병행)입니다. 즉, 실제로 동시에 실행하는 것이 아닌 동시에 실행하는 것처럼 보이는 것입니다...
-
[MySQL] Unknown table 'COLUMN_STATISTICS' in information_schema (1109) 에러💻 프로그래밍/DB 2020. 7. 12. 23:22
안녕하세요! 운동하는 개발자 제이입니다. 오늘은 mysqldump 할 때, 생기는 에러에 대해서 알아보려고 해요! 최근에 DB 덤프를 해야 하는 일이 있었는데, 갑자기 오류가 나더니 안되는 거예요?! (사실 mysql관련 brew 업데이트를 어떤 작업 중에 하게 됐어요ㅠㅠ) mysqldump -u[user] -p -h[호스트] [데이터베이스] [테이블명] > [저장할 이름].sql 이렇게 mysqldump 명령어를 실행하니까, mysqldump: Couldn’t execute ‘SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, ‘$.“number-of-buckets-specified”’) FROM information_schema.COLUMN_STATISTICS WHERE S..
-
오픈소스 컨트리뷰터? 야 너도? 야 나두! (feat. RxPy)👨🏻💻 개발자 제이의 이야기 2020. 7. 11. 06:13
안녕하세요! 운동하는 개발자 Jay입니다. 제가 드디어!! 오픈소스 컨트리뷰터가 됐습니다 😃 오늘은 어떻게 오픈소스 컨트리뷰터가 됬는지 제 썰(?)을 풀어보려고 합니다. 최근에 회사에서 Rx 스터디를 하고 있었는데, 숙제 중에 retryWhen 연산자를 활용해야 하는 숙제가 있었습니다. 하지만 RxPy에는 retryWhen 연산자가 없어서 직접 만들어서 사용해야 했습니다. 멀리 돌아갈 필요 없이 retry 연산자를 응용하면 될 것 같아서 라이브러리를 살펴봤습니다. RxPy의 retry 연산자는 최종적으로 _catch_with_iterable이라는 메소드를 return 하고 있었는데, 커스텀을 위해 복붙 하는 순간 제 눈을 의심하는 것을 발견했습니다. 처음에는 제가 띄어쓰기를 지웠나??ㅋㅋㅋㅋ 하고 생각했..
-
그 쪽(회사) 주니어 개발자는 안녕하신가요?! (부제: 주니어 개발자가 회사를 떠나는 이유)👨🏻💻 개발자 제이의 이야기 2020. 7. 2. 17:38
안녕하세요! 운동하는 개발자 JAY입니다. 뭔가 코로나 때문에 재택근무도 하고 그러다 보니 2020년 상반기가 금방 지나간 거 같습니다 ㅎㅎ 6개월이 지난 현재, 개발자로서 잘 성장해 왔는지와 주니어 개발자로서 회사에 대한 로망(?) 대해서 정리를 해보고 싶었습니다.(라고 쓰고 불만이라고 읽는다) 최근에 느끼는 저의 고민과 지인들을 만나면서 듣게된 내용들을 컨텐츠로 만들면 좋을 거라 생각해서 글을 쓰게 되었습니다. 모든 개발자들에게 마찬가지겠지만 개발(일)이라는 게 인생에 있어서 중요한 부분을 차지하고 있고, 특히 주니어 개발자들은 더 열심히 공부하고 무언가 얻어가야 한다고 생각합니다. (조금 극단적이지만) 오늘 하루가 내년의 나에게 얼마나 큰 영향을 미칠지 모른다고 생각합니다. 그리고 일을하면서 본인과..
-
[RxPy] Operator 응용과 Custom Operator 만들기(feat. 메서드 체이닝(Method Chaning))💻 프로그래밍/Python 2020. 6. 29. 02:56
안녕하세요! 운동하는 개발자 JAY입니다. 오늘은 RxPy 연산자를 응용해서 몇 가지 문제를 풀어보도록 하겠습니다. RxPy에 대한 기본 설명은 여기를 참고해주시기 바랍니다. Rx에서 제공하는 연산자들이 궁금하다면 여기에서 확인해 주세요! 문제를 풀기전 메서드 체이닝에 대해서 알아보고 가겠습니다! 1. 메서드 체이닝? 그게 뭐입니까 휴먼? 🤔 일단 메서드 체이닝이란 method().filter().map() 이런 식으로 메서드를 연속적으로 이어서(체이닝) 쓸 수 있는 방식을 말합니다. 다만 RxPy에서는 메서드 체이닝을 지원하지 않습니다. RxJava 와같은 언어도요 ㅎㅎ 메서드 체이닝을 지원하지 않는 다면, 여러 Observable을 연속적으로 사용할 때 매우 비효율적으로 사용하게 됩니다. 예를 들면 ..