본문 바로가기

전체 글

(224)
[lombok] 룸북이란? 이번에 새 프로젝트를 시작하면서 롬북을 쓰게 되었다. 새로운 기술 조합으로 프로젝트를 시작하려니 배울 게 너무나도 많다. 그런데 왜 진작 안썼을까? 하는 기술들이 대부분이다. JPA를 사용하다보니 롬북의 편리함을 더욱 느껴서 정리해보려고 한다. Lombok이란? 어노테이션을 통해 특정 메서드를 자동으로 생성해주는 라이브러리이다. 모델 객체마다 반복적으로 생성해주어야하는 getter나 setter 메소드를 매우 간편하게 생성할 수 있다. 코드를 자동으로 생성해주기 때문에 생산성을 향상시킬 수 있으며 코드 가독성을 높이고 유지 보수에 용이하다는 장점이 있다. Lombok 설정하기 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectl..
[ERROR] The requested URL returned error: 403 문제상황 프로젝트 협업을 하며 브랜치에서 작업한 것들을 커밋 후 git push하였는데 The requested URL returned error: 403 이 떴다. 접근이 거부된다는 건데 상황은 이렇다. 이제까지 나는 ui가 주는 이점도 있고 하니 소스트리를 써왔다. git bash를 안써버릇해서 잊어버릴 것 같아 이번 프로젝트에서는 최대한 git bash를 이용하고자 하였다. 두개 다 연결해놓고 작업 후 git bash를 이용하여 커밋 후 git push를 날렸는데 에러가 났다. 혹시나 해서 소스트리에서도 확인해보니 같은 에러가 떴다. 해결방법 열심히 구글링을 한 결과 권한 부여를 위해 github에서 토큰을 발급받아 인증을 해줘야했다. 여러차례 다양한 방법 시도 끝에 해결방법을 찾았다. 우선 git..
[python] 1051- 숫자 정사각형 1051번: 숫자 정사각형 (acmicpc.net) 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 완전 탐색으로 해결하였다. 처음에는 테스트케이스를 다 통과했는데도 통과하지 못해서 고민하다가 반례를 찾아보았다. 질문 게시판에서 너무 웃긴 반례를 발견하고 적용해본 후 문제점을 알 수 있었다. 정사각형 판별 함수에서 모든 조건을 검색한 후 max 값을 return 해야 하는데 정사각형을 찾자마자 return 해버려서 답이 틀렸던 거였다. 테케는 오묘하게 그런 반례들을 확인할 수가 없었다. 이런 경우들이 부쩍 많..
[TIL] Spring Boot(intellij) - 예제 만들기 (스프링 핵심 원리-기본편) * 인프런 김영한 강사님의 스프링 핵심 원리 - 기본편 강의 정리 입문 강의를 듣고 정리하는 터라 프로젝트 생성부터 기본 세팅은 생략하고 정리하려 한다. 비즈니스 요구사항 설계 회원 도메인 설계 및 개발 회원 도메인 실행 및 테스트 주문과 할인 도메인 설계 및 개발 주문과 할인 도메인 실행 및 테스트 이렇게 다섯 단계의 프로세스로 진행한다. 우선 사전에 주의할 점은 예제 개발은 스프링의 도움 없이 순수 자바로만 개발하며 아직 데이터베이스를 사용하지 않기 때문에 데이터 메모리를 사용한다. 그리고 상품 등록의 경우 편의를 위해 임의로 등록하는 것으로 한다. 1. 비즈니스 요구사항 설계 회원 api : 회원 가입, 회원 조회 회원은 일반, vip 두 가지 타입 주문과 할인 api : 회원 상품 주문, 할인 정..
[2023] 네이버 웹&모바일 부스트캠프 코테 후기 싸피가 떨어지고 얼마 안 있다가 네이버 부스트캠프 모집글을 보고 바로 지원하게 되었다. 자소서&1차 코테 -> 2차코테의 2step을 모두 통과하면 합격이다. 자소서는 혼자서 여러번 고쳐가며 준비했고 코테는 오픈 카톡방을 이용해 스터디를 구해 하루 2 문제씩 백준 골드 문제나 문자열 구현 문제를 위주로 풀이하였다. 후기는 한 단계씩 끝날 때마다 작성해서 결과까지 나오면 한 번에 올릴 예정이다. 1. 자소서 항목은 4문항으로 왜 개발자가 되고 싶은지, 열린사고로 협력한 경험, 주도적으로 무언가를 한 일이 있는지 등을 물어보는 문항들이었다. 글자수는 400자 내외였는데 나는 거의 400자를 맞추어 작성하였다. 전체적으로 통일감 있게 쓰는 것이 좋을 것 같아서 왜 개발자가 되고싶은지부터 시작하여 비전공자로서 ..
[TIL] Spring Boot(intellij) - start2 (스프링 핵심 원리 정리) 인프런 김영한 강사님의 스프링 입문 강의를 듣고 핵심 원리 기본편 강의를 듣기 시작했다. 입문 강의를 베이스로 하여 더 깊게 스프링에 대해 공부해보고자 한다. 강의를 들으며 그냥 받아들이는 것 뿐만 아니라 왜 이렇게 코드를 짜는지에 대해 고민해보며 공부한 내용을 바탕으로 차근차근 정리해나가려고 한다. 완강할 때까지 화이팅!
[python] 1527 - 금민수의 개수 1527번: 금민수의 개수 (acmicpc.net) 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 자체는..간단하지만 백퍼 시간초과 걸리겠다 생각한 문제였다. 첫 접근방식은 범위내의 모든 수를 검사했더니 역시나 시간초과가 떴고 다른 접근 방법으로 문제를 풀이하였다. 범위가 넓기 때문에 모든 수를 검사하기 보다 자릿수를 계산하여 4와 7만 들어간 수들의 리스트를 생성한다. 그리고 그 수들이 주어진 a와 b의 범위내에 들어가는 수인지를 판단한다. 역으로 생각하면 검사해야 할 데이터가 확 줄어들기 때문에 ..
[python] collections 모듈 - Counter 1. Counter Counter 클래스는 컨테이너 안의 데이터를 편리하고 빠르게 개수를 세도록 지원한다. 예를 들어, 중복된 원소가 있는 배열을 인자로 넘겨주면 각 원소의 그 개수를 사전 형식으로 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) print(cnt) # Counter({3: 4, 1: 2, 2: 2}) 2. Counter 클래스 함수 elements() : 값의 요소를 풀어서 순서를 고려하지 않고 반환한다. 원소를 확인하기 위해 리스트로 감싼다. 그렇지 않으면 을 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) prin..

728x90