본문 바로가기

항해9911

[항해 99] WIL 7주차 - clone coding 두번째 협업으로 clone coding을 진행하였다. 클론코딩이란 실제 있는 서비스를 모방해서 기능들과 페이지를 직접 구현해보는 것을 클론코딩이라 한다. 우리는 트위터를 클론코딩하기로 했다. 프론트분들이 트위터에 대한 강의(노마드코더 니꼬쌤)가 있어 추천해주셨다. 백엔드에서 사실 기존 기능과 다르지 않기에 빠르게 구현했다. 더 많은 기능을 구현하고자 싶지만 프론트 단에서 부담감이 있기에 추가 기능을 진행하되, 프론트에 연결하지는 않고 또는 최대한 백엔드 성능 향상 위주의 기능들을 진행하기로 했다. 좋아요 기능, 소셜로그인 기능, 검색 기능을 추가 기능으로 잡았고 그 외 더 해보고 싶었던 에러 핸들러, 로깅 기능들을 진행했다. 먼저 좋아요 기능을 담당을 받았다. DB의 게시글 테이블에 LikeCount 컬.. 2022. 8. 29.
[항해 99] WIL 6주차 - 첫 협업(잘 못했던 점...) 이번 주차부터 프론트와 백이 함께 프로젝트를 진행했었다. 하필 또.... 또... 팀장이 되었다 ㅜㅜ 처음 협업에 팀장이니 만큼 잘해야겠단 생각이 앞섰던 나머지 많이 서둘른게 화가 된게 아닌가 싶다. 처음으로 완성을 못한 주가 되었다. 그래서 지금까지 진행했던 팀장 역할을 잘하신 분과 나의 차이점을 분석해 보았다. 1. 아이스브레이킹 / 아이디어 선정 타임을 길게 잡았다. - 난 급했던 나머지 아이디어도 아이스 브레이킹도 업무를 진행하면서 했다. 하지만 곰곰히 생각해보니깐 팀장역할을 잘 수행하셨던 분들은 아이디어나 아이스브레이킹 타임을 꽤 길게 잡았던 것 같다. 2. 업무분담을 효율있게 선정했다. - 이번 프로젝트도 잘하시는 분과 처음하시는 분이 존재했다. 주니어한테 많은 것을 바라지 않는 것처럼 처음하.. 2022. 8. 21.
[항해 99] WIL 5주차 주특기 심화주 5주차가 끝났다. 4주차에 진행했던 로그인/회원가입/포스트/좋아요/댓글 기능을 Layerd architecture pattern으로 나누고 Test Code를 작성하여 서비스의 안정성을 높이는 작업을 진행했다. 코드를 나눔으로서 가독성이 좋아지고 코드간 독립성이 향상된다. 연계성이 줄어들기에 어디서 오류가 났는지 파악하기 쉽고 추상화가 되었다. 또한 테스트 코드를 작성하여 만에 하나라도 나올 오류들을 찾고자 할 수 있다. 단위테스트는 함수의 기능을 점검할 수 있다. 대신 인풋과 그 안에 사용되는 외부 모듈들은 목함수를 써서 가짜처럼 만들어야한다. 통합테스트는 기능들이 연계될 때 발생하는 오류들을 체크한다. 이 때 서비스에서 사용하는 메인 DB가 아닌 Test DB를 두고 테스트해야한다. 2022. 8. 14.
[항해 99] TCP 우리가 사용하는 인터넷 통신을 세부적으로 보면 OSI 7 Layer로 총 7계층으로 나눠지면서 통신하다. (왜 이렇게 하느냐면 계층을 나눠 통신이 일어나는 과정을 단계별로 파악할 수 있고 어느 곳이 문제인지를 쉽게 판단할 수 있기 때문이다.) 그래서 각 계층마다 맡은 역할이 존재하고 이 계층마다 존재하는 프로토콜이 존재한다. 예를 들어 HTTP는 7계층 중 상위 계층인 application Layer에 존재하는 프로토콜이다. 데이터를 어떤 형태로 어떻게 보내고 받을지를 정하는 프로토콜이다. 또한 TCP란 프로토콜도 존재한다. 전송계층(Transport Layer)에 존재하는 프로토콜로 그 밑의 하위 계층인 네트워크 계층(Network Layer)의 불안전함을 보완해주는 프로토콜이다. 이 TCP에 대해 알.. 2022. 8. 11.
[항해 99] WIL 4주차 - 주특기 숙련, 주특기 심 (후기) 서론 8.5(금) - 주특기 심화 주차 시작 아침 9시 ~ 저녁 9시까지 하루 총 12시간(+알파) 일정 7.29(금) : 주특기 숙련 주차 팀 배정 및 OT 7.29(금) ~ 8.4(목): Node.js 주특기 숙련 팀/개인 과제 진행 8.5(금) : 주특기 심화 주차 팀 배정 및 OT 8.5(금) ~ 8.6(토): JS언어 Node.js런타임, express 프레임워크, MySQL, Layerd Architecture Pattern, Test Code 팀 프로젝트 진행 주특기 숙련 개인 프로젝트 (JS언어로 Node.js와 express.js를 이용하여 회원가입/로그인/로그인 인증/ 글 작성/수정/삭제 기능 및 댓글 작성/수정/삭제 기능 구현) 팀 프로젝트 (ORM, ODM이 뭔지, IIFE와 req.. 2022. 8. 7.
[항해 99] WIL 3주차 - 주특기 입문, 주특기 숙련 (후기) 서론 7.29 - 주특기 숙련 주차 시작 아침 9시 ~ 저녁 9시까지 하루 총 12시간(+알파) 일정 7.22(금) : 주특기 입문 주차 팀 배정 및 OT 7.22(금) ~ 7.28(목): Node.js 팀, 개인 과제 진행 7.29(금) : 주특기 숙련 주차 팀 배정 및 OT 7.29(금) ~ 7.30(토): JS언어 Node.js런타임, express 프레임워크, MongoDB, MySQL 개인, 팀 프로젝트 진행 주특기 입문 개인 프로젝트 (JS언어로 Node.js와 express.js를 이용하여 글 작성/수정/삭제 기능 및 댓글 작성/수정/삭제 기능 구현) 팀 프로젝트 (Javascript에 대해 중요한 점 찾아서 넣기) Node.js, express.js, mongoDB, Thunder Clie.. 2022. 7. 31.
Docker Error 항해99 주특기 심화 4주차 학습자료 중 Docker를 이용하여 MySQL 서버를 띄울수 있게 해주는 명령어 실행 docker run --rm -p 3306:3306 --name test-db -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci Error 발생 docker: Error response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file specified. See 'docker run --help'. 해결 cd "C:\Program Files\Dock.. 2022. 7. 31.
[항해99] 프로세서는 무조건 빠른 게 좋을까? 오늘날 사용하는 cpu는 속도와 처리 중심의 질적변화와 코어의 수를 늘리는 양적 변화를 보여왔다. . 프로세서는 인출, 해석, 실행 의 사이클을 계속해서 반복 수행한다. 인출 : 메모리(램)에서 수행할 명령어를 가지고 오는 행위 해석 : 명령어를 수행하기 위해 필요한 자원을 준비하고 어떻게 명령을 수행해야하는지 파악하는 행위 실행 : 실제 필요한 자원을 메모리(램)에서 가져와 업무를 수행하는 행위 이 사이클을 도는데 프로세서는 1나노초(10억분의 1초)도 안걸린다. 컴퓨터 설계자들은 이처럼 사람이 상상할 수도 없는 속도를 만들어내는데 다양한 아키텍처 기법을 동원하여 진화시켜 왔다. (질적 진화)파이프라이닝 : 인출, 실행 단계를 겹치도록 프로세서를 설계해서 명령어 여러 개가 다양한 단계에 걸쳐 진행되도록.. 2022. 7. 26.
[항해 99] WIL 2주차 - 알고리즘, 주특기 입문 (후기) 서론 7.21 - 주특기 입문 주차 시작 아침 9시 ~ 저녁 9시까지 하루 총 12시간(+알파) 일정 7.15(금) : 알고리즘 팀 배정 및 OT 7.15(금) ~ 7.21(목): 알고리즘 문제풀이 시작 7.22(금) : 주특기 입문 주차 팀 배정 및 OT 7.22(금) ~ 7.23(토): javascript에 대한 학습 및 개인, 팀 프로젝트 진행 알고리즘 걷기반으로 알고리즘 위주보단 JS란 언어에 친해지자는 반으로 총 28문제를 풀이(난이도 하, 중하) 1주차 프로젝트에 촉박함에 비해 심적인 여유가 있었던 주차 28문제 이상 풀고 싶을 땐, 챌린지, 챌린지의 챌린지란 12문제, 14문제 추가 풀이 가능 (난이도 중, 중상) 챌린지까지 총 40문제 풀었음 주특기 입문 개인 프로젝트 (JS언어로 Node.. 2022. 7. 24.