본문 바로가기

반응형

항해99

(46)
멘토링 황준일 멘토님과 미니 프로젝트 멘토링 시간은 상당히 유익했다. 제한된 시간내 하나라도 더 알려주시려는 멘토님의 마음이 엿보여서 감사했다. 간단히 정리하자면 1. nodejs는 관계형 db와 궁합이 좋지않다. => 싱글스레드이기 때문에 비동기 작업에 콜백이 필요하여 db를 여려번 찾아야하는 RDBMS와 어울리지 않음. 2. 몽고DB는 대용량 I/O가 강점. => 이번 미니프로젝트의 예로, circle을 99개 생성하는것이 아닌, 99개의 circle을 하나의 배열에 담아 통째로 저장하는것이 몽고db를 잘 활용하는 방법이다. mongodb "document", not mongodb table 3. api가 늘어난다는것 => 메모리 사용이 늘어나고 서버를 늘려야 한다. 4. restful한 api 작성을 위해..
[항해99]WIL(5주차) 1. 같이 일하기 좋은 개발자란? 연차에 알맞은 실력을 갖춘 개발자다. 물론 주니어에게 실력을 기대하지 않는다고 하지만, 장기적인 관점에서 회사, 동료와 좋은 관계를 유지하기 위해서는 발전하는 모습을 보이고 기여할 수 있는 능력을 갖춰야한다. 인간성이나 애사심으로 호소하는 것은 한계가 있다. 인성과 좋은 커뮤니케이션 능력 등을 간과하지 않겠지만, 실력을 갖추기 위한 자기계발 역시 동료와 회사에 대한 예의임을 명심하겠다. 커뮤니케이션 능력이 충분조건이라면 실력은 필요조건이다. 2. Jest를 이용한 코드 테스트 - Jest는 페이스북에서 만든 테스팅 프레임 워크이며 단위(Unit) 테스트에 주로 사용한다. - Jest를 실행하면 "{파일명}.test.js" 또는 "{파일명}.jest.js" 또는 이름이 "..
OSI 7Layer open system interconnection 상위계층 7. 응용 - http, ftp와 같은 프로토콜이 속한 계층 - 특정 어플리케이션을 이용해 데이터를 입력한다 6. 표현 - 데이터의 변환, 압축, 암호화가 실행된다. 서로 다른 통신 기기간 인코딩, 디코딩 가능해진다. (표현 부분이 없으면 데이터 무쓸모) 5. 세션 - 통신회선을 연결하고 유지, 종료를 담당 하는 부분 하위계층 4. 전송 - 포트번호를 명시하여 누가 보내는지, 누구에게 전송하는지 확인한다. - TCP/ UDP 3. 네트워크 - 수신자에게 가기위한 경로설정과 도착지 주소(IP)를 표현한다. 2. 데이터링크 - MAC(매체접근제어)주소를 표현한다. 1. 물리 - 디지털 신호를 전기신호로 전송한다. - 회선, 부호화, 전기신호의 생성 ..
[항해99]과제 제출 전 오늘은 과제를 완성하고 제출만 남은 단계에서 여유롭게 외출까지 다녀왔다. 그러나 제출 전 ec2에 올리니 오류발생, 초조하게 디버깅하다 과제 마감 1시간 앞두고 서버와 몽고디비 연결에 성공해서 무사히 제출하는 짜릿한 경험을 했다.. 강의로 몽고디비 연결하는 법을 배웠지만 직접 해보기 전까지 내 지식이라고 하기 어렵다는 걸 새삼 느꼈다. 1. 과제 완성하고 운동 다녀온뒤 제출하려고 여유롭게 착석. 2. 로컬에서 잘 돌아가는데 배포하니 오류가 발생. 3. 어디서 오류가 났는지 이것저것 만지는 와중 데이터베이스 관련임을 직감. 4. 서버와 몽고 아틀라스 db연결을 수정하고 간신히 시간내 제출. 맨땅에 헤딩하며 배운것은 선명하게 저장된다.
[항해99]WIL(4주차) 드디어 4주차 과제를 완성하고 WIL을 작성한다. 개인적인 소감으로 WIL을 시작한다. 1. 게임을 할때도 키보드나 책상을 내려쳐본적이 없는데 코딩때문에 샷건을 치게될 줄이야. 겨우 복붙해가며 과제를 만드는 수준이지만, 구글과 깃헙에 의존해 맨땅에 헤딩하듯 코드를 만드는 과정은 정신건강에 유해하다. 그러나 머리를 쥐어뜯고 책상을 내려치는 이 과정은 꼭 필요하다. 취업을 하면 누구하나 가르쳐주는 사람 없이 정말 맨땅에서 밥값을 해야하기 때문에, 스스로 고민하고 해결하는 과정을 통해 코딩근육을 키울 수 있을것이다. 단기간에 개발자가 되는것이 목표라면 이런 고통이 따르는것은 자연스럽다. 특히 이번주는 하차에 대한 두려움도 상당했다. 지난주에 비해 과제 요구사항이 2배는 많아진 탓에 제출을 못하는거 아닌가 하는..
[항해99]WIL(3주차) 1. 이번주 학습내용 및 보완점 Node.js 주특기 주차가 시작되었다. 이번주는 팀과제, 개인과제를 수행하며 주특기 기본을 다졌다. - 개인 과제는 기한내에 제출했으나 보완할 점이 많아 보여 아쉬움이 남는다. - 팀과제에서 공부한 내용을 복습하며 소화하도록 한다. - 깃헙 사용법을 어느정도 익혔다. 이번주는 팀작업이 없었지만 앞으로 팀원들과 원격저장소 협업도 매끈하도록 더 연습하겠다.. - JS문법 기초가 부족하다. 외부 인강을 듣도록 한다. 2. 이번주 키워드 2.1 RESTful API : 이전 블로그에 정리한 포스트로 대체 https://upsanddowns.tistory.com/6 2.2 package.json : 프로젝트의 정보를 정의하고, 의존하는 패키지 버전 정보를 명시한다. 이름과 버전 ..
객체지향 프로그래밍이란 1. 정의 프로그래밍 방법론의 일종. 연관된 변수와 함수를 한 덩어리로 구조화하여 표현한다. 어플리케이션을 현실과 같이 객체 단위로 쪼개고 객체들이 상호작용하면서 시스템이 동작 객체는 클라스를 통해 만들 수 있으며 클라스는 객체의 설계도가 된다. 2. 장점 클라스로 정의된 함수들은 상대적으로 적은 매개변수를 가지며 이는 유지보수에 유리하다. 3. 특징 캡슐화 : 객체의 데이터를 외부에서 변경하지 못하도록 하고, 접근 제어 메소드로만 변경할 수 있게한다. 추상화 : 불필요한 정보는 숨기고 객체가 가진 동작을 기준으로 추상화하여 사용의 편의성을 높인다 상속 : 새로운 클래스가 기존 클래스의 자료와 연산을 이용할 수 있게 하며 하위 클래스로 가며 기능을 확장할 수 있다. 다형성 : 한 요소에 여러 개넘을 넣는..
쿠키, 세션, 캐시 1. 쿠키 : 클라이언트가 관리하며, 보안취약, 조작 가능하기때문에 민감하거나 중요한 정보를 담지 않는다. ex) 공지사항 오늘 다시 확인 안함, 비회원으로 장바구니 담아도, 로그인하면 장바구니에 남도록 함 2. 세션 : 쿠키에 담기 부적절한 정보를 세션에 담아 서버에서 관리. 단, 세션을 남용하면 서버에 부하 발생 3. 캐시 : 가져오는데 비용이 드는 데이터를 한번 가져온 뒤로 계속 저장하여 사용한다. ex)db에서 이미지 꺼내오는데 리소스 많이 필요하니 캐시에 저장, 임시로 저장해 사용하는 것. 레디스 서버

반응형