어제의 이야기
어제 공부한 것
아 나 0404 안썼네??
(오전에는 발표준비,
오후에는 티타임 바로 갔다가,
무슨 프레임워크 공부할지 찾아보고,
채용설명회 들르고,
저녁먹으러 갔으니..)
0404
...
stack growth, memory mapped file,
swap in/out 총 정리를 끝냈다.
총정리 대신 낮에는 3시 반까지
발표 준비를 했기때문에
(발표 할것을 추리고, 자료를 만들고,
발표 연습까지.)
오후 10시쯤에야 총 정리를 끝냈다.
발표 준비는
- mmap, munmap이 virtural memeory 파트에 있는 것에 관하여. 아마 비슷한 메커니즘을 load segment, mmap, swap 에서 하기때문 인것같음.
- 오히려 여러번 나오기때문에 mmap에서 헷갈렸던 length라는 인자. 사용자 지정 크기에 따라 read byte, zero byte 구하기.
- 실제 munmap에는 실행 시 변경 사항이 반영되는 기능은 없으나 msync라는 함수가 있음. 실제 그 메커니즘을 우리가 구현함.
라는 플로우로 진행했다.
stack growth의 rsp 위치를 다시금 확인하고
내가 실제로 어떤걸 구현했었는지 되새기면서
슈도 코드 단계가 확실히 좀 늘지 않았나 라는 생각.
그리고 이전 project 정리는
생각보다 가독성이 좋지않고
개념 정리가 보기가 어려운데, 그런건 불릿 형태가 좋구나 라는 결론도.
0405
오전에 바로 다른 분들 발표를 들음.
- 역시 바로 화면에서 그림으로 동작구조를 설명하는건 정말 가시성이 좋다. 표로 만든 것도 이해하기 좋은 이유가 있음. (하지만 결과가 나와야 표까지 만드니 쉽지않네..)
생각보다 다른 분들 발표가 기억이 나지않네
동일한 주제로 연속 발표는 쉽지 않구나.
발제를 하며, 코치님이
' PintOS를 했다는 사실을 어필하기 가장 좋은 것은
지금까지의 디버깅 이슈를 기록해두어 몇개를 남겨두고
어떻게 접근했었는지 설명하는 것.'
을 재차 강조하셨다.
...
운영진 티타임을 하고,
프레임워크 express js와 spring의 차이점을 알아봤다.
Express js
- Javascript 기반 언어. Node js에서 제공.
chrom V8 Javacript 엔진, 아무튼 그러한 컴파일러로 빌드하여 런타임 환경에서 실행. 언어를 돌리는 OS같은 것인데, Express는 서버 APP 실행 플랫폼임.
Just-In-Time으로, 변환 부분만 컴파일 및 반영으로 빠른 실행 가능.
- Node js를 쓰기때문에 버전에 따라 비동기가 세가지 있음.
callback : 인자를 받아 완료시 호출.
promiss : ES6부터 가능하며, 핸들러와 유사.
async/wait : ES8부터 가능하며, 비동기 코드를 동기식으로 작성 가능.
- HTTP 요청, 응답 생성을 용이하게하는 미들웨어 라는 템플릿이 있음.
(이것으로 RESTful API 구축, 즉 HTTP 기반 인터페이스 구축이 편리.)
내가 생각하는 장점은
- Javascript라 추가적으로 언어를 익히지 않아도 됨.
- Node js가 결코 용량이 가볍진 않지만 그만큼 다양한 모듈을 선택적으로 확장에 용이.
단점은
- 코드가 늘어났을때 통합하기 용이한 구조를 제공하진 않음.
- 비동기 충돌에 대한 방지가 오로지 프로그래머 몫임.
Spring
- Java 기반 언어.
- 의존성 주입. IOC 컨테이너 :
객체를 생성하고 관리하는 객체 라이프 사이클 설정 등이 가능함.
그에 대한 인과관계만 잘 파악한다면 객체들간 의존성 조절 가능.
- 관점 지향 프로그래밍, AOP :
cross-cutting-concern 모듈화.
중복적으로 발생하는 이슈를 통합적으로 관리 가능.
- 트랜잭션 관리 :
DB를 통한 교류를 원자적으로 진행 가능.
- MVC 웹 프레임 워크 :
HTTP 요청 및 응답 처리. 다양한 외부시스템과 통합, DB 가능.
JDBC, NoSQL 지원.
내가 생각하는 장점은
- 코드 량이 많다면 모듈화를 발달 시킨 언어인만큼 모듈화만 잘 해낼 수 있다면 디버깅이 용이함.
- 원자적 진행, 객체 라이프 사이클 등 안정성을 최대한 높임.
단점은
- Java를 추가적으로 익혀야함.
- 반대로 코드가 많지 않다면 그리 필요하지 않고, 오히려 시간이 좀 더 걸리거나 무거울 수 있음.
5주 안에 얼마나 대규모 앱을 만들거같....진 않다.
온라인 소매점 및 전자 상거래 플랫폼, 소셜 네트워크, 금융 서비스,
클라우드 기반 서비스, 온라인 미디어 서비스를 지피티가 예시로 들어줬는데
금융 서비스, 클라우드 기반 서비스는 무리고.
전자 상거래, 소셜 네트워크, 온라인 미디어를 특색있게 만드는 것 또한 쉽지 않음.
또 실제 기획보다 그냥 그것 자체를 구현하는게 하드할 확률이 높음.
...
흠...
그치만 자바 스크립트를 쓴다면 프론트인 사람도
뭘 잘못 썼는지 알아보기 편할 거고..
프로토타입을 여러개 제시해야하고
완성도가 중요하지 않은 프로젝트라면...
....
express js가 좋을거같음..
소감
이래저래 얘기해서
express js 하기로 확정.
후딱 티타임, 채용 설명회 정리하고
강의 찾아봐야지...
오늘의 계획
오전
TIL 정리 완.
낮
Node js...
책이 정보가 괜찮다는걸 꺠달음.
티타임, 채용설명회 요약.
express js 강의 찾아보기.
저녁
강의 듣고
앞으로 어떻게 진행할지 계획 세워보기
오늘의 다짐
생각보다 시작이 늦고 있지만
빨리 해야겠당...