4월 25일(월) 코드스테이츠 1일차가 시작됐음시작부터 개빡세게 코딩 공부할줄 알았더니 여러가지 학습과 관련된 세팅하느라 바빴을듯140명쯤 되는거 같은데, 빨리 세팅하는 사람이야 금방하지만 아닌 사람도 있을테니, 운영진이 고생이 많았겠다싶다.코드스테이츠측에서 준비한 학
HTML은 꺽쇄로 시작해서 꺽쇄로 끝난다.<> 이거말여 이거대부분은이런식으로 열고 닫아줘야 한다. 안 그런것도 있음.예에에에전에 독학 시작한지 얼마 안됐을 때 프론트랑 백엔드 다 경험해 보고 싶어서 이런거도 만들어 봤었다. 근데 보고 ㅋㅋㅋ 난 프론트엔드가 너무
css에서 가장 귀찮았던건 flex로 box 와리가리 시키는 거였다.왜 저기로 안가는지 왜 저건 저기 붙어 있는지, 도저히 알 수가 없었다. 후...일단 선택자를 잠깐 공부해보면태그 선택시엔라는 방식으로 선택할 수 있다.htmlcss이러면 div태그 전체 배경색이 파란
혼자 독학할 때 가장 힘들었던 부분이 이 CSS Flexbox였다. 대충 어떤 개념인지는 빠르게 파악을 했는데, 내 마음대로 박스가 정렬되고 배열이 안됐음. 대체??? 왜애애?? 가라는 곳으로 안감 정렬은 됐는데 이상하게 됨 거의 비슷하게 만들었는데 한두개 작은
이걸 만들란다.뭐 어렵진 않은데 다소 귀찮은 부분이 조금 있다.디테일한 부분은 귀찮으니까 대충 했는데 (영역3, 영역5의 높이 맞춤 ㅋㅋㅋ)여기에 올릴려니까 뭔가 쪽팔리기도 해서 살짝 손을 좀 더 봤다.대충 얼추 비슷하긴 함.CSS가 익숙치 않아서 많은 선언을 했고 ㅋ
첫 페어 진행 교육임상기 이미지를 html과 css로 목업하는거다.따라 만들면 됨.결과물은색상이 조금 저렴하고, username이 검은거 빼곤 거의 비슷하다.twittler의 경계면이 조금 신경쓰여서 border-radius를 없앴는데도 남아있더라 ㅋㅋㅋ아마 codeS
코드스테이츠 2주차, 월요일 첫번째 교육 내용은 Linux임내가 여자친구랑 카페가서 공부할 때, 노트북으로 코딩을 하는데이때 os를 Ubuntu를 쓰고 있었음.멀티OS로 썼었고 GUI가 잘 되어 있기 때문에, 크게 불편함은 없었는데CLI 환경에도 익숙해져야 한다는 코드
ㅎㅇ...난 깃을 혼자 연습용으로 올리고 있었음, 노트북으로 공부할때 파일 공유를 해야하기 때문걍 dropbox같은거 써도 됐을건데 굳이 git을 쓴 이유는! 어차피 나중에 git써야 할테니까명령어라도 익숙해져야지...문제는 다른 사람이랑 협업을 해본적이 없기 때문에,
코드스테이츠 2주차 수요일, 드디어 Java 기초에 입문인터페이스랑 추상클래스, 다형성 들어가려면 좀 시간이 필요한듯실은 개인 notion에 다 정리를 해놨었는데, Java 기초를 다시 다질겸...기본 타입은 데이터 값을 보여줌. 아래 나오는 정수뭐시기저시기는 다 이
그 사이에 조건문, 반목문을 배웠다.어느 언어를 가더라도 if나 for, while은 다 비슷비슷하니까 굳이 블로그로 정리할 필요성은 못느꼈음.반성 포인트가 있다면, 페어랑 같이 천천히 진행해야 하는데, 해당 시간내로 다 제출해야 하는줄 알고 후다다다닥거의 혼자 해버림
객체 지향은 일종의 방법론이다.프로그래밍을 할 때 어떤 방식이 더 효율적이고 유지보수가 편한가?한국에서는 Spring 프레임워크가 매우 많고, 이 Spring은 객체지향적 프레임워크다.애초에 Java가 그렇게 설계된거 같긴함. "모든 것은 객체다"자바스크립트 함수형 프
제목을 잘못지은거 같은데, 걍 ㄱㄱ...상속은 확장이라는 단어로도 많이 쓰인다. 국어사전 들고 올 필요 없다. 네가 맞으니까...일단 내 말 좀 들어보셈임의의 클래스 A가 있다. 이놈을 좀 더 상세하게 쓰려고 클래스 B를 만들었다.근데 B를 새로 만들기가 너무 귀찮다.
다형성과 추상화는 매우 중요한 개념이다.Spring 프레임워크나 Java도 그렇고 이 다형성과 추상화를 기본으로 설계돼 있다.다형성은 코드를 유연하게 붙여줄 수 있는 놀라운 개념이고추상화는 그 다형성을 활용하기 위한 인터페이스와 추상클래스를 제공한다.1개의 클래스는 상
이렇게 한다.즉 <> 이게 있으면 제네릭 타입을 사용했다고 보면 된다.제네릭은 Map, List, Set 같은 컬렉션 프레임워크를 사용할 때, 필수적이다.상기 컬렉션 프레임워크(Map, List, Set 등)에는 다양한 자료형이 들어올 수 있다.이 때, 제네릭에
Public static final 형식의 상수를 마치 클래스 다루듯 만든 것을 의미한다.Member 클래스 안에 각 Member마다 등급을 정해주기 위해 Grade enum을 만들었다.상기 BASIC, VIP는 static 변수를 참조하는 것처럼 활용할 수 있다.//
입출력을 위한 Stream임단방향이라 각각 필요하다.file의 경우 FileInputStream / FileOutputStream프로레스의 경우 PipedInputStream / PipedOutputStreamFile만 보자OutputStream을 만들었다.인스턴스를
아무래도 Section1은 프롤로그다보니까 막 엄청 어려운 내용은 없었음그래도 내가 모르는 부분, 약한 부분 (이론적인거)을 보충하게 됐다.난 뭐 다른 사람들에 비해 잘하는게 아니라서 쉽다 어렵다를 말할건 아니지만적어도 코드스테이츠 시작하기 전에 개인 공부를 해둔 것이
알고리즘을 풀다보면 다양한 풀이법이 나온다. 보통은 직관적으로 풀다가 테스트케이스에서 시간초과보고 박살 난 뒤에 털리는데, 이 시간복잡도를 예상하고 푼다면 어느정도 해결될 수 있다.이 시간복잡도의 중요 개념은 케이스가 많거나 클 경우 시간복잡도에 따라 기하급수적으로 처
클라이언트는 손놈, 서버는 가게 주인이라고 생각하면 이해하기 편하다.손놈이 뭔가를 요청한다. (GET) 서버는 그 요청을 보고 내용을 던져준다.손놈이 뭔가를 준다. (POST) 서버는 그걸 받고 응답한다.손놈이 뭔가 지워달라고 한다. (DELETE) 서버는 지운다.손놈
REST API는 HTTP API를 좀 더 잘 써보자고 튀어나온 일종의 약속이다.Representational State Transfer의 약자임뭔 개발기술이 아니라 일종의 약속이고 지향해야할 구조라고 볼 수도 있겠다.컴퓨터 과학자인 Roy Fielding 박사가 20
SQL은 Stuctured Query Language의 약자다.DB쪽에선 가장 유명한 친구임. 관계형 데이터베이스에서 사용한다.MySQL, Oracle, SQLite, PostgreSQL등 이 그 종류임.나 같은 경우 테스트용으로 h2를 많이 쓴다. 워낙 간단해야말이지
Entity Relationship Diagram (ERD) 는 시스템의 인티티들이 무엇이 있는지, 관계가 어떤지를 나타내는 다이어그램이다. 한 눈에 DB 구성이 어떤지, 필드는 무엇이 있는지, 어떤 필드가 연결되어 있는지 확인할 수 있다.이 ERD가 있어야 DB 설계
어플리케이션 흐름 제어권에 따라 차이가 난다.주도권을 개발자가 가지면 Library주도권이 얘가 가지면 framework다.스프링은 흐름이 개발자가 아닌 framework에 있다. 스프링이 워낙 자체적으로 해결해주는게 많으니까 당연함.만약 개발자가 개발할 때, 컨테이너
스프링 컨테이너는 객체 관리를 위해 만들어졌다.이를테면 각각 서비스가 가지는 Repository 클래스가 각기 다른 객체일 경우원하는 서비스가 만들어지지 않을 수 있다.뭐 static을 이용해서 어느 정도 구현할 수 있을 순 있다. 그래도 한계가 있음.때문에 new 생
OOP적으로 봤을 때, 서비스 클래스는 다른 외부 기술에 의존하지 않고 순수한 자바 언어로 작성되어 있어야 좋다.근데 결국 Jdbc를 쓰든, JPA를 쓰든 트랜잭션을 열고 롤백하고 트랜잭션을 닫으려면 서비스 클래스에 순수 비즈니스 로직만 담기 어렵다.이에 우린 @Tra
거의 알고리즘이었지뭐알고리즘은 이미 예전부터 하고 있었음...섹션1 때는 레벨1 풀고 있었나?하여튼 섹션2 종료즘엔 그래도 레벨2 거의다 풀었따.아무래도 갓영한 스프링 + 코드스테이츠 + 프로그래머스 + 개인프로젝트 를 모두 진행하고 있으니까점점 느려지는 듯이제 섹션3
리액트는 CSR(클라이언트 사이드 랜더링)임.그래서 제목에 저 어노테이션이 필요하다.나는 타임리프 밖에(SSR) 안다뤘었기 때문에 @ModelAttribute랑 BindingResult를 통해 예외처리를 했었음.근데 리액트는 CSR이라 저 @ModelAttribute를
스프링 Pageable를 이용하면 페이징을 쉽게 구현할 수 있다.상기 코드는 /members에 Get 요청을 하면 실행된다.Pageable을 통해 불러올 페이지, 한페이지에 몇개의 데이터를 보여주는 사이즈를 파라미터로 받아온다.즉 위 주소는 5개씩 데이터를 가져오는데
api문서 작성에 항상 고민이 많았음웹에서 스웨거로 직접 작성하는 법 밖에 없나 싶었는데,실은 스웨거도 코드 내에서 가능하더라 ㅋㅋㅋㅋ아오...코드스테이츠에서 알려준 건 Spring Rest Docs임스웨거가 더 편한거 같긴 한데,Spring Rest Doc은 테스트
사용차 요청AuthenticationFilter (UsernamePasswordAuthenticationFilter)에서 전달 받은 Username과 password를 가지고 Authentication을 생성함.생성된 인증 Authentication을 인증매니저 (Au
헤더, 페이로드, 서명으로 구성한다.헤더는 토큰의 타입, 해시 암호와 알고리즘으로 구성되어 있다.암호화 알고리즘은 SHA256 같은 친구를 말함.페이로드는 토큰에 담을 정보를 포함하고 있다.페이로드에 담는 정보의 한 '조각'을 클레임(claim)이라고 부른다.클레임은
OAuth는 인증을 위한 표준 프로토콜의 한 종류다.보안 된 리소스에 액세스하기 위한 권한 제공 프로세스를 단순화하는 프로토콜이다.위키백과OAuth("Open Authorization")는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에
기능 개발 거의 끝내놓고백단 서버를 뺀 다음에 프론트랑 통신을 해볼라 했음.당연하게도 cors 에러가 뜬다.어차피 개발서버니까 다 열어 제끼자배포할 때만 조율하면 되니까그리고 시큐리티 필터 체인에서 설정이러면 일단 연결은 되실거임이 놈이 핵심인데, credentials
원래 앞단이 제일 중요함 다른거 다 필요 없음화면 봐바 그럴싸 하잖아?프론트 분들이 고생 많으셨다.클론 코딩이므로 기획단계의 대부분을 건너 뛴다.와이어프레임은 귀찮아서 안했음. 그래서 프론트 코드 칠게 꽤 많았던거 같다.백단이야 뭐 대충 기능 보고 만들면 되니까 쉽다.
smtp 서버를 구축하신다구여?왜 스프링이 있는데 그런 수고를 하십니까?그냥 메일 보내봅시다.gradle에 의존성 추가application.yml도 고친다.username은 당연히 구글 계정 (네이버면 네이버겠지?)password는 구글 계정 보안에서 님이 설정한 비번
레포에 앞단 뒷단 레포가 다 있었음.이거 가지고 깃헙 액션을 사용하여 브랜치별로 앞단은 s3로 보내서 정적 웹사이트로 쓰고,뒷단은 ec2로 보내서 java를 구동해도 됨.난 좀 다르게 생각 했음같은 팀 앞단 분들이 .env가 적용이 안된다고 하는 상황뒷단 api 완성이