분류 전체보기 645

순열과 조합

1. 순열 itertools.permutations(iterable, r=None) iterable에서 r 길이 만큼 순열을 생성해 반환 r이 주어지지 않으면, 기본값은 iterable의 길이다. 순열 튜플은 iterable의 순서에 기반해서 만들어진다. 즉, 값이 아닌 위치를 기준으로 순열이 생성된다. 2. 조합 itertools.combinations(iterable, r) iterable에서 r 길이 만큼 조합을 생성 조합 튜플은 iterable의 순서에 기반해서 만들어진다. 즉, 값이 아닌 위치를 기준으로 조합이 생성된다. from itertools import product lst=[[1, 2], [4, 5], [7, 8]] print(list(product(*lst))) 데카르트 곱 위의 co..

Languages/Python 2021.08.17

[파이썬] 후보키

문제 설명 후보키 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하던 중에 후보키(Candidate Key)에 대한 고민이 필요하게 되었다. 후보키에 대한 내용이 잘 기억나지 않던 제이지는, 정확한 내용을 파악하기 위해 데이터베이스 관련 서적을 확인하여 아래와 같은 내용을 확인하였다. 관계 데이터베이스에서 릴레이션(Relation)의 튜플(Tuple)을 유일하게 식별할 수 있는 속성(Attribute) 또는 속성의 집합 중, 다음 두 성질을 만족하는 것을 후보 키(Candidate Key)라고 한다. 유일성(uniqueness..

coding test 2021.08.16

[파이썬, Java] 거리두기 확인하기

문제 설명 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다. 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. 1. 대기실은 5개이며, 각 대기실은 5x5 크기입니다. 2. 거리두기를 위하여 응시자들 끼리는 맨해튼 거리1가 2 이하로 앉지 말아 주세요. 3. 단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다. 예를 들어, 5개의 대기실을 본 죠르디는 각 대기실에서 응시자들이 거리두기를 잘 기키고 있는지 알고 싶어졌습니다. 자리에 앉아있는 응시자들의 정보와 대기실 구조를 대기실별로 담은 2차원 문자열 배열 places가 매개변수로 주어집니다. 각 대기실별로..

coding test 2021.08.10

[Error] 수정 후 조회수 초기화

특정 게시글을 클릭해서 상세보기를 할때 조회수가 1씩 증가하도록 만들었다. 게시글을 수정하면 조회수가 0으로 초기화되는 문제점을 발견했다. 디버그를 해보니 수정 버튼을 누르면 작동하는 putmapping 쪽에서 조회수가 0이었다. get으로 요청을 받고, 데이터를 출력할 때까지는 조회수가 제대로 나왔는데.. 결론은 get으로 요청 받았을 때의 객체와 put으로 요청 받았을 때의 객체가 다르다. put으로 요청 받았을 때의 객체는 사용자가 수정한 데이터다.(프런트엔드단의 데이터) get으로 요청 받았을 때의 객체는 데이터베이스에서 가져온 데이터. 🍯 해결 int view=postService.findOne(id).getView(); post.setView(view); // 조회수 저장 id로 해당 객체를 ..

[Error] Invalid use of NULL value

Invalid use of NULL value column을 not null로 제약 조건을 변경하려고 했더니 생긴 에러 이 문제의 원인은 해당 column이 현재 null 값을 가지고 있기 때문이다. update문으로 null값에 임의의 값을 넣어준다. update 테이블명 set 컬럼명=값 where 컬럼명 is null; 그 후 not null로 변경하면 성공 alter table 테이블명 modify column 컬럼명 타입 not null; 참고 https://stackoverflow.com/questions/22971586/mysql-alter-table-causes-error-invalid-use-of-null-value/22971654 MySQL Alter table causes Error:..

Languages/SQL 2021.08.06

[Error] Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long';

삭제 버튼의 기능 id 값 삭제 삭제 버튼 아래와 같은 에러가 발생함 ㅠㅠㅠ WARN 37728 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "${post.id}"] 타입 에러가 발생했다는 건데... ..

FE/html 2021.08.05

게시글 id

게시글을 삭제하면 그 번호가 없어져서 숫자가 연속적이지 않은 게 보기 싫었다. 게시글 번호는 데이터베이스에서 id 값을 가져왔었다. 삭제 할 때마다 데이터베이스의 id 값을 재조정해야하나??라고 생각했지만, 그럴 필요없음! https://wiki.modernpug.org/questions/8028785/%ED%85%8C%EC%9D%B4%EB%B8%94-row-%EC%82%AD%EC%A0%9C%EC%8B%9C-auto-increments-%EB%8B%A4%EC%8B%9C-%EC%93%B0%EB%8A%94-%EB%B2%95. 테이블 row 삭제시 auto increments 다시 쓰는 법. - Modern PHP User Group Confluence wiki.modernpug.org 데이터베이스의 id 값..

DB 2021.07.26