목록분류 전체보기 (28)
나의 독학은
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bO9EOc/btszC0xxFCU/ZjrWVykzNQUiwKdZry2Z8K/img.png)
AssertJ 공식 문서 : https://www.javadoc.io/doc/org.assertj/assertj-core/latest/index.html isEqualTo : 실제값과 예상값이 같은지 판단하는 함수 int a = 1; int b = 2; assertThat(a+b).isEqualTo(3); // 테스트 성공! assertThat(실제값).isEqualTo(예상값) hasSameHashCodeAs, doesNotHaveSameHashCodeAs : 실제값와 예상값의 해시코드가 일치 여부를 판단 /* HashCode 일치 여부는 isEqualTo와 함께 동일한 VO 객체인지 판단하는데 쓰인다. */ Position first = new Position(3); Position second = ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uid6E/btsyVa8rpMa/MGaWJkfdiF6YsJ9HjWzyyk/img.png)
[❓자바 코딩 컨벤션 왜 지켜야 하는가? ] 예를 들어, 대학생 시절에 조별과제 ppt를 만들기 위해 5명이 모였다고 가정을 합니다. ppt를 5분할 해서 각자 맡을 파트를 정하고, 3일 뒤에 각자 ppt를 완성하여 만났습니다. 그런데, ppt의 배경 색, 글자 크기와 색등을 통일하지 않고 각자 취향껏 만들어왔습니다. 이 상태로 ppt를 합친다면 좋은 점수를 못 받을 것은 분명합니다. 코딩도 똑같습니다. 여러 개발자가 협업하는 과정에서 내가 작성한 코드를 다른 개발자가 작업하거나, 반대로 다른 개발자가 작업한 코드를 내가 작업할 때도 있습니다. 이 때, 자바 코딩 컨벤션을 통일해서 코드를 작성했다면 어려움 없이 상대방의 코드를 읽고, 추가 작업을 할 수 있습니다. 즉, 자바 코딩 컨벤션는 개발자들의 협업..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cDZZ4b/btsyMOfyNKz/3FhzUl1CnxqbHw0gZPw0D0/img.png)
😊 1주차 시작 전 취준 기간 중 1달이란 시간을 프리코스에 투자하는 만큼 꼭 성장하고 싶었기에 어떻게 하면 프리코스의 전보다 성장할 수 있을지 고민했고 이번 주에는 2개의 목표를 세웠다. ✅목표 첫 번째는 프리코스를 진행하며 모르는 용어들을 다 찾아보고 이해 하기. 두 번째는 최근에 학습한 람다식과 객체지향을 활용해서 1주차 보내기. 최소 이 2개를 취준생이어서 프리코스에만 집중할 수 있는 시간과 독학이란 길을 걸어온 노력과 근성을 가지고 이루고자 한다. 분명히 성장해있겠지!? 😊 숫자 야구 게임 구현 ✅ 구현 중에 만난 오류 해결과 아쉬움 나는 이전 기수 프리코스 문제들 중 유일하게 딱 한 문제를 하루동안 풀어봤었는데, 그게 숫자 야구 게임이었다. 그러나, 구현하면서 계속 에러를 마주했었지만 해결하지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPcIxh/btsyIITgwqb/efa1mSnkHkmdR9xEJNBd10/img.png)
❗각 용어마다 깊이 들어가는 정도는 비전공자가 프리코스를 하는데에 어려움이 없을 정도까지만 들어갑니다. ❗ 각 용어들은 프리코스에 맞춰 설명드림을 미리 알려드립니다. 🕶️[프리코스 과제 제출 문서 깃허브 용어 정리] ▷ fork 우아한 코스 깃허브에 있는 Repository를 자신의 깃허브로 가져오기 *자신의 깃허브로 가져오지 않으면 Repository안에 있는 코드를 수정할 수 있는 권한이 없다. ▷Repository 코드가 들어있는 폴더(파일)을 말한다. 5기 프리코스에서는 java-baseball, java-onboarding 같은 것들을 말한다. ex) 흔히 알고 있는 바탕화면의 폴더를 예시로 들었습니다. 자소서 폴더에 다양한 워드 문서들이 있다. 자소서 폴더가 Repository, 워드 문서들이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qIPgT/btstk3O78Xs/h8WjNRkjkOLTnAYKkcBek1/img.jpg)
'우테코 6기 준비' 오픈채팅방에서 6기 준비생들의 많은 질문들마다 정성스럽게 답변 해주시는 5기 교육생님이 계셨다. 이 분이 6기 준비생들을 위해 '객체지향의 사실과 오해' 와 '함께 자라기' 를 추천 해주셔서 읽게 되었다. 이 기회에 객체 지향이 무엇인지 정립해 보고자 한다. 😁본론 나는 객체지향에 대해 자바의 정석을 배우면서 알게 된 캡슐화, 추상화, 다형성만 알고 있는 상태로 책을 읽었다. 책을 읽으며 객체지향 코드의 예시를 생각하며 읽고자 했지만 내가 아는 객체지향 코드의 예시가 있을리가 없었다ㅎㅎ 그래서, 상태와 메시지 파트는 이해하지 못한 채로 1회독을 마쳤다. 객체지향 코드의 예시를 알아보고자 1회독을 끝낸 후 조영호님의 세미나 강연과 김영한님의 스프링 강의 객체지향 파트를 추가적으로 들었..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wUDVL/btsu0t6C51n/l83itodAqoaFITw5TFsvCK/img.png)
어느 시니어 분의 유튜브에서 주니어때 마우스 없이 단축키만을 이용해 인텔리제이를 쓰는 연습을 하는 것이 좋다고 얘기하셨다. 나 역시 Spring을 공부하면서 키보드와 마우스로 왔다갔다 하는 것이 불편했기에 인텔리제이의 단축키를 정리해본다. ▷ F2 에러난 곳으로 한 번에 이동 ▷ psvm main메서드 만들 때 사용 ▷ soutv 변수에 대한 System.out.println를 자동 완성 ▷ soutm 메서드에 대한 System.out.println를 자동 완성 ▷ Enter 패키지를 여닫는 것과 같이 Project Structure를 보기 쉽게 정리할 때 사용 ▷ iter iterator 처럼 리스트나 배열을 순회하고 싶을 때 자동 완성 해주는 단축키 ▷ Ctrl + A 여러 변수들을 전체 선택 하는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cQK4PI/btsut5Eux5w/KVwH5AIL3P6QVYVOII7rN0/img.jpg)
11.1 웹 애플리케이션에 대한 공격 패턴 ✅ 능동적 공격 : 공격자가 웹 애플리케이션에 액세스해서 공격 코드를 보냄 ex) SQL인젝션, OS 커맨드 인젝션 ✅ 수동적 공격 : 함정을 이용해서 유저가 공격 코드를 실행시키는 공격 ex) 크로스 사이트 스크립팅(XSS), 크로스 사이트 리퀘스트(CSRF) 11.2 출력 값의 이스케이프 미비로 인한 취약성 ❗❗이스케이프 : 특정 문자나 문자열을 일반 텍스트로 해석하지 않고 특별한 용도로 사용하기 위해 특수한 문자로 처리하는 것 ex) 역슬래시(\)를 사용하여 특수한 문자를 나타냄. \n (줄 바꿈 문자) , \t (탭 문자) , \\ (역슬래시 자체) ✅ 크로스 사이트 스크립팅 - 동적으로 HTML을 생성하는 부분에서 취약성이 발생 - 아이디와 패스워드를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckjK3o/btst86Kutiq/oHeFV0ocoEj75uY5XakxRK/img.jpg)
9.3 브라우저에서 양방향 통신을 하는 WebSocket ✅ WebSocket 프로토콜 - 핸드쉐이크로 최초 접속할 때는 HTTP 프로토콜을 이용, 그 후로는 WebSocket 프로토콜 이용 - 한 번 접속을 하면 서버와 클라이언트 어느 쪽에서도 송신이 가능하다. ✅ 특징 1. 서버 푸시 기능 → 서버는 클라이언트의 리퀘스트를 기다리지 않고 데이터 보냄 2. 통신량의 삭감 → 접속을 유지함으로써 접속하는데 필요한 오버헤드의 양과 헤더의 사이즈를 줄임 3. 실시간 네트워킹 → 채팅, 주식, 비디오 데이터 등 실시간 데이터가 필요한 곳에 사용 4. 핸드쉐이크/리퀘스트 및 리스폰스 → HTTP의 Upgrade 헤더 필드를 사용하여 핸드쉐이크를 실시함. 핸드쉐이크 리퀘스트 메시지 핸드쉐이크 리스폰스 메시지 내용..