항해99 기록

항해99 하이커스 출발
항해99 커리큘럼을 모두 진행하고 추가적으로 하이커스라는 스터디를 모집했다 너무 매력적인 커리큘럼이라 바로 지원을했고, 약 15분간의 면접후 다음주에 면접 결과가 도착했다. 너무나 운이 좋게도 합격을 했고 이 커리큘럼을 진행하기로 결정했다. 열심히 스터디원들과 커리큘럼을 따라가서 코테도 열심히 준비해야지!

항해99 수료 후기
항해의 99일이 정말 빠르게 지나갔다. 최선을 다해 열심히 노력했지만 나름 아쉬운 점도 있었고, 만족스러운 부분도 많았다. 제일 많이 기억에 남고 얻어간것들 모두 실전프로젝트이기에 좋았던 점이나 아쉬웠던 점들을 실전프로젝트 위주로 써보려 한다. 우선 실전 프로젝트 결과물을 설명하기 위한 주소를 첨부한다. https://github.com/raddaslu/dalk https://www.debate-talk.com/ 아쉬웠던 점 성능 이슈를 너무 늦게 발견했다. 다른 조들과 얘기하다 성능 이슈에 대한 얘기가 나왔고 그제야 성능 측정을 시도해보았다. 성능 측정 결과는 처참했고 여러 가지 조사한 결과 JPA의 N+1이란 문제를 발견했다. 이를 해결하기 위한 다양한 방법 중 Query dsl이라는 훌륭한 해결방법..
팀프로젝트 클론코딩 Colly
https://github.com/dss1222/hanghae99_7w 깃헙주소 GitHub - dss1222/hanghae99_7w: 항해 7주차_클론코딩 항해 7주차_클론코딩. Contribute to dss1222/hanghae99_7w development by creating an account on GitHub. github.com https://www.notion.so/7-6-0d5d64e9fb2a41c1a4347383853d7e3b 7주차 클론코딩(6조) 프로젝트 소개 www.notion.so api db 설계 자신이 좋아하는 취미생활을 공유하는 사이트의 클론 코딩입니다. 자세한 내용은 위 주소로 들어가시면 볼 수 있습니다.
나의 우체국
https://github.com/dss1222/nightletter_login 깃헙주소 GitHub - dss1222/nightletter_login Contribute to dss1222/nightletter_login development by creating an account on GitHub. github.com https://www.notion.so/anggom/8-585643bae5aa47bc813e57ff8e5a9fcd api설계, db설계 미니프로젝트 8조 (편지플랫폼) 편지를 전해드립니다! 많은 사람들에게 전달되는 공개편지로 마음을 전해보세요! www.notion.so 익명 혹은 자신의 닉네임을 표현하고 편지를 작성하는 미니 프로젝트입니다. 더 자세한 내용은 위 주소로 가시면 볼 수 ..
항해 6주차 회고록
이번주에는 처음으로 미니프로젝트를 하면서 협업을 했다. 리액트(프론트)와 어떤 방식으로 통신하는지 처음으로 알았고 서로가 서로를 잘 알지 못해 소통하는 과정에서 많은 어려움을 겪었다!! 그러나 이번 과정에서 얻은 것이 매우 많았는데 ! api통신을 할때 서버와 클라이언트가 어떻게 통신하는지 이론적으로만 알다가 실제 경험해보니 확실히 어떻게 동작하는지 알았고 좋은팀원들을 만나 재미잇게 협업을 진행했다. 이번 주 전까지는 뭔가 오류가 생기면 어디서부터 오류를 잡고 어떻게 해결해야할지 막막했는데 이번 협업을 하면서 오류를 찾고 고쳐가는 과정을 많이 경험함으로써 확실히 오류에 대해 능동적으로 대처하는 능력을 얻었다. 이번주차 진행한 프로젝트는 깃헙에서 확인할 수 있다. https://github.com/dss1..

5주차 회고록 CORS
프론트엔드와 팀과제를 하는중 CORS오류가 발생하고 이를해결하는 과정에서 CORS에 대해 공부할 필요성을 느껴 알아보려 한다. CORS(Cross-Orgin Resource Scharing) 교차 출처 리소스 공유란 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조 웹페이지는 교차 출처 이미지, 스타일시트, 스크립트. ifram, 동영상을 자유로이 임베디드 할 수 있다. 특정한 도메인 간 요청, 특히 Ajax 요청은 동일-출처 보안 정책에 의해 기본적으로 금지된다. CORS는 교차 출처 요청을 허용하는 것이 안전한지 아닌지를 판별하기 위해 브라우저와 서버가 상호 통신하는 하나의 방법을 정의한다. 순수하게 동일한출처 요청보다 더 많은 자유와..

트랜잭션에 대해서 <항해톡>
트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 즉 데이터베이스가 항상 정확하고 일관된 상태를 유지할 수 있도록 다양한 기능을 제공하는 것 쉽게 말해서 어떠한 데이터베이스의 동작이 발생했을 때 모든 요구조건을 만족했을 때 동작이 실행되게하고 하나라도 요구조건을 만족하지 못하면 진행했던 동작을 초기화 시키는 작업이다. 트랜잭션이 나오게 된 배경 데이터 베이스는 우리가 흔히 사용하는 파일 시스템과는 달리 기본적으로 4가지 특징이 존재한다 실시간 접근성 계속적인 변화 동시 공유 내용에 따른 참조 계좌를 두개 사용할 시 A 계좌→ B계좌로 200,000 원 이체 시 A 계..

4주차 회고 정리 ORM, SQL, MVC
이번주 무진장 할게많아 결국 블로그를 한개도 못썻다... 이번주에 공부하면서 정리하고자 하는 주제를 제목에있는 세개로 정했다. ORM이란 ORM : Object-Relational Mapping Object : 객체 지향 언어 (자바 파이썬) Relational : 관계형 데이터베이스 (H2, MySQL) 백엔드 개발자(Backend Developer): 웹 서버를 개발하는 개발자 DBA (Database Administration): 데이터베이스 관리자. 데이터베이스를 설치, 구성, 관리 등의 일을 맡은 사람 ORM이 없는 환경에서 백엔드 개발자가 개발을 하면 비즈니스 로직을 짜야하는것에 중점을 둬야하는데 SQL문을 작성하는데 더많은시간을 쓰게된다고한다. 그래서 생긴 것이 ORM이다 JAP는 ORM기술..

3주차회고 DI, IOC, Bean
이번주차에 정리할 키워드는 제목과 같다 먼저 IOC란 무엇일까 IOC란 Inversion of Control 즉 제어의 역전이라고 부른다. Spring을 쓰기전 옛날에는 개발자가 프로그램의 흐름을 제어하는 주체였지만 스프링을 사용하고 나서부턴 프로그램의 흐름을 프레임워크가 주도하게 됐다고 한다. 즉 스프링에서의 객체의 생성~ 생명주기 관리를 컨테이너라는 녀석이 하게되는데 제어권이 컨테이너로 넘어가게 되고 이것을 제어권의 흐름이 바뀌었다고 해서 IOC라고 부르게 됐다. DI (의존성 주입) Dependency Injection 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념. DI란 IOC컨테이너에서 빈 객체를 생성하는 방식을 말한다. 위 그림에서와 같이 기존 new로 생성하는 것을 외부에서 주입하는..

항해99 2주차 회고 (객체지향 프로그래밍)(JVM)
이번주 목요일까지 알고리즘 테스트준비와 금요일부터는 스프링 기초 강의를 시작했다. 이번주를 돌아보며 알아볼 것은 객체지향 프로그래밍과 JVM이다 객체지향 프로그래밍 객체지향 프로그래밍 (Object-Oriented Programming)이란 프로그램을 설계하는 개념이자 방법론이다. 줄여서 OOP라 부르며, 단어 뜻 그대로 프로그램(실제세계)를 객체(사물)라는 기본 단위로 나누고 이 객체들간의 상호작용을 기본개념으로 한다. 객체지향 프로그래밍(OOP)은 프로그램을 유연하고 변경하기 쉽게 만들기 때문에 재사용성이 용이하며 대규모 프로젝트에서 많이 사용되는 방법론이다. 프로그램 개발과 유지보수가 용이하다는 점이 가장 큰 장점으로 꼽힌다! 객체지향의 특징 4가지 (추상화, 캡슐화, 상속, 다향성) 1. 추상화(..