일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 예리님
- fluentpython
- codepresso
- mongodb
- 환경변수
- 프리온보딩
- 코테
- 깃
- 리액트
- pyladies
- Python
- js
- React
- 파이썬
- 네트워크
- cleancode
- pyladiesseoul
- 위코드
- flask
- env
- 알고리즘
- git
- javascript
- 플라스크
- 패스트캠퍼스
- AWS
- 파이콘코리아
- 전문가를위한파이썬
- 코드프레소
- 원티드
- Today
- Total
개발자가 내팔자
[WIL] ruby on rails로 기술 과제하기 본문
이번 주는 어떤 기업에서 기술 과제를 받아 새로운 언어와 프레임워크로 요구사항을 만족하는 API을 만드느라 정신이 없다.
조금 있으면 마감일이라 시간이 좀 빠듯해서 다 끝나고 회고를 하려고 했는데, 누가 블로그를 쓰라고 시켜서 꾸역꾸역 쓰는 중이다.
그냥 기능만 만들고 끝내면 심심할 것 같기도 하고, 새로운 언어를 학습하면서 해야하기 때문에
평소에 적용해보고 싶었던 것들을 시도해보면서 적응해나가고 있다.
TDD 커버리지 100% 달성
TDD를 기반으로 개발을 하니까 오히려 금방 익숙해지고 있는 것 같다.
물론 몇 개 안되는 API에 비해 테스트 코드 양이 방대해서 효율적으로 빠르게 뽑아내고 있지는 못하지만
어차피 새로운 프레임워크에 익숙해지기 위해서는 어쩔 수 없는 것 같다.
TDD를 하게 되면 테스트 하기 쉽도록 코드를 작게 분리하게 되는 것 같다.
factory 패턴을 이용해서 재사용이 쉬운 함수들을 만들어 테스트도 쉽게 짤 수 있도록 만들었다.
Ruby와 Python
나는 이전 회사에서 Python으로 Django를 써본 경험이 있다.
일단 둘의 철학이 너무 비슷한데, 문법적인 측면에서는 몇 가지 차이가 있어서 이런 부분은 계속 연습하면서 익혀야 할 것 같다.
프레임워크가 주는 안정성과 편리함을 잘만 이용하면 굉장히 편하고 좋은 것 같다.
Java Spring과의 비교
루비나 파이썬을 쓰다가 자바를 쓰면 왜.. 이렇게 까지? 라는 생각이 든다.
실제로 Java로 알고리즘 문제를 풀라고 시켜서 일단 파이썬으로 짜고 Java로 바꿨는데 코드가 두배로 길어졌다.
JVM은 어떤 환경에서든 실행할 수 있게 해주는 가상 환경이다. 이게 자바의 유일한 장점이었던 것 같은데
요즘 다른 스크립트 언어들도 다 여러 환경에서 실행할 수 있고, Docker도 잘 되어 있어서 크게 장점으로 느껴지진 않는다.
Java만의 장점이 뭘까? 생태계?
OOP(Object Orientaion Programming), 객체지향 프로그래밍
객체지향적인 프로그래밍을 한다는 것은 생각보다 쉽지 않다.
객체는 각자의 책임과 역할이 있고, 메시지를 통해 소통을 한다. 마치 살아있는 것처럼.
이는 현실세계의 문제를 코드에 녹여내기 위한 시도였기 때문에 어쩌면 당연한 것 같다.
객체지향의 가장 큰 특징은 캡슐화, 다형성, 상속, 추상화 등이 있는데
이건 공부해보면 책에 다 나오는 내용이니 굳이 여기에 쓰진 않겠다.
객체 지향 설계의 주요 원칙을 SOLID라고 하는데, 처음엔 별다줄이라고 거부감이 들었지만
실무에서 코드를 짜면서 생각보다 이 원칙을 많이 떠올리게 되는 것 같다.
과제들이 마구 쏟아지고 있고, 스터디도 있고 사이드 프로젝트도 있어서 좀 정신이 없는데
틈이 나면 객체지향에 대해서는 좀 더 심도있게 공부할 생각이다.
사실 읽고 있던 책을 마저 읽는 것 부터 하고 싶은데 여기다 적어놓고 나중에 다시 봐야겠다.
읽던 책들
http://www.yes24.com/Product/Goods/18249021
http://www.yes24.com/Product/Goods/11681152
http://www.yes24.com/Product/Goods/77283734
사놓고 안 본 책
http://www.yes24.com/Product/Goods/74219491
http://www.yes24.com/Product/Goods/108192370
그리고 보고 싶은 책
http://www.yes24.com/Product/Goods/16886031
'STUDY' 카테고리의 다른 글
[PyLadies X 한빛미디어] Fluent Python Study 1주차 (0) | 2025.01.12 |
---|---|
[회고] 면접 후기 (0) | 2022.08.25 |
[TIL] 미니 프로젝트가 끝났다 (0) | 2022.08.05 |
[TIL] 프로젝트를 시작하며 (0) | 2022.08.02 |
[InnovationCamp] 첫 번째 프로젝트 (0) | 2022.08.01 |