전체 글

https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 numbers를 각각 나누어 숫자를 만들 때 소수인지를 검사 하는 것이빈다. 17은 7 17 71 3개의 소수를 만들 수 있습니다. 문제에 대한 아이디어 숫자가 0 ~ 9 까지이고 numbers의 길이는 1이상 7이하이기 때문에 완전 탐색으로 충분히 해결할 수 있습니다. numbers로 만들 수 있는 숫자를 다 탐색하면서 소수인지 검사하면 됩니다. 전체 코드 import java..
https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이렇게 첫 번째 영역이 주어지면 쿼드 트리와 같은 방식으로 압축하는 것 입니다. 결국 0의 갯수는 4개, 1의 갯수는 9개 입니다. 문제 해결 방법 재귀를 사용해서 풀어야 하는 문제입니다. 똑같은 공간으로 계속 나누므로 적절하게 점화시막만 잘 만들면 쉽게 풀 수 있을 것 같습니다. 이 문제는 정사각형으로 계속해서 분할하면서 정사각형 안이 모두 0이거나 1이면 합치는 형식입니다. (off..
코딩 테스트를 볼 때 문자열을 가지고 장난치는 문제가 상당히 많이 나옵니다. 문자열 문제가 나왔을 때 대처할만한 메서드들을 공부해 보려고 합니다. 문자에 대해 문자의 배열 String.charAt(int index) // 문자 하나를 가져온다. String.toCharArray() // 모든 문자를 한 번에 배열로 가져온다. charAt은 하나하나씩 호출하므로 메서드 호출에 따른 오버헤드가 있습니다. toCharArray()는 문자열 길이에 해당하는 메모리를 사용합니다. 아스키코드 아스키코드도 문제를 풀 때 정말 많이 사용했습니다. 특히 Char를 int로 바꿀 때 자주 사용했습니다. char digit = '10'; int digitToInt = digit - '0'; 대문자를 소문자로 소문자를 대문자..
이번 프로젝트 때 스프링 부트로 1 : 1 채팅을 구현해야 합니다. 그래서 여러 가지 내용을 열심히 공부해 봤습니다. 프로젝트 채팅 1 : 1 조건 고민 상담 게시판에서 채팅방이 시작됨 채팅 매칭을 누르면 채팅방이 생성 대화를 한 내용은 DB에 저장 세션 값을 가지고 있어야 한다. WebSocket을 선택한 이유 WebSocket은 양방향 실시간 통신을 제공하는 프로토콜 및 API(응용 프로그래밍 인터페이스)입니다. 일반적으로 웹 브라우저와 웹 서버 간의 실시간 통신을 위해 사용됩니다. WebSocket은 기존의 HTTP 프로토콜을 확장하여 지속적인 연결을 제공하고, 클라이언트와 서버 간에 데이터를 양방향으로 주고받을 수 있게 합니다. WebSocket을 사용하기 전 일반적으로 웹은 클라이언트에서 서버로..
·JAVA 공부
람다식을 공부하면 람다식과 자주 같이 쓰는 것이 stream입니다. 코테에서도 stream을 잘 사용만 하면 가독성 면이나 편하게 data를 세팅할 수 있습니다. 그래서 이번에는 stream을 공부해 보려고 합니다. 아래의 내용은 이것이 자바다라는 책을 보면서 공부한 내용을 정리 했습니다. https://product.kyobobook.co.kr/detail/S000061695652 이것이 자바다 | 신용권 - 교보문고 이것이 자바다 | JAVA 17 버전으로 업그레이드해서 돌아왔다! 7년 동안 꾸준히 사랑받은 자바 베스트셀러 1위, 『이것이 자바다』 개정판!『이것이 자바다』는 기본 개념에 충실한 설명으로 2015년 product.kyobobook.co.kr 스트림이란? List를 탐색할 때는 for문으..
·JAVA 공부
자바로 프로젝트를 하면서 또 코테 문제를 풀면서 람다식은 자바의 엄청난 무기라는 것을 느꼈습니다. 그래서 이것이 자바다라는 책을 보면서 람다식을 공부한 내용을 정리해 봤습니다. https://product.kyobobook.co.kr/detail/S000061695652 이것이 자바다 | 신용권 - 교보문고 이것이 자바다 | JAVA 17 버전으로 업그레이드해서 돌아왔다! 7년 동안 꾸준히 사랑받은 자바 베스트셀러 1위, 『이것이 자바다』 개정판!『이것이 자바다』는 기본 개념에 충실한 설명으로 2015년 product.kyobobook.co.kr 함수형 프로그래밍이란? 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법을 말합니다!! 데이터 처리부는 데이터만 가지고 있을 뿐, 처리 방..
저번 글에서는 스프링 시큐리티를 이용해 세션 기반 인증을 하였습니다. 세션 기반 인증을 사용해 사용자마다 사용자의 정보를 담은 세션을 생성하고 저장해서 인증을 합니다. 토큰 기반 인증은 서버가 토큰을 생성해서 클라이언트에게 제공하면, 클라이언트는 이 토큰을 갖고 있다가 여러 요청을 이 토큰과 함께 신청합니다. 그럼 서버는 토큰만 보고 유효한 사용자인지 검증합니다!! 토큰을 전달하고 인증받는 과정 클라이언트가 아이디어와 비밀번호를 서버에게 전달하면서 인증을 요청합니다. 서버는 아이디어와 비밀번호를 확인해 유효한 사용자인지 검증합니다. 유효한 사용자면 토큰을 생성해서 응답합니다, 클라이언트는 서버에서 준 토큰을 저장합니다. 이후 인증이 필요한 API를 사용할 때 토큰을 함께 보냅니다. 서버는 토큰이 유효한지..
https://product.kyobobook.co.kr/detail/S000201766024 스프링 부트 3 백엔드 개발자 되기: 자바 편 | 신선영 - 교보문고 스프링 부트 3 백엔드 개발자 되기: 자바 편 | ★ 자바 백엔드 개발자가 되고 싶다면★ 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 product.kyobobook.co.kr 이번 방학 동안 이 책으로 스프링 부트 3을 공부해 보려고 합니다. 이 책은 스프링 부트 3을 사용해 웹페이지를 직접 구현해 봅니다. 그중 스프링 시큐리티로 로그인 및 회원가입을 구현하는 부분이 나옵니다. 그래서 이번 기회에 스프링 시큐리티를 이 책을 통해 공부하고 정리해 보려고 합니다. 스프링 시큐리티란? 스프..
Wooooong!!
취준생의 공부