본문 바로가기

전체 글

[Algorithm] 2019 카카오 블라인드 테스트 문제풀이 - 후보키 [Algorithm] 2019 카카오 블라인드 테스트 문제풀이 - 후보키 문제 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하던 중에 후보키(Candidate Key)에 대한 고민이 필요하게 되었다. 후보키에 대한 내용이 잘 기억나지 않던 제이지는, 정확한 내용을 파악하기 위해 데이터베이스 관련 서적을 확인하여 아래와 같은 내용을 확인하였다. 관계 데이터베이스에서 릴레이션(Relation)의 튜플(Tuple)을 유일하게 식별할 수 있는 속성(Attribute) 또는 속성의 집합 중, 다음 두 성질을 만족하는 것을 후보 키(C.. 더보기
[IDE] IntelliJ IDEA 플러그인 추천 [IDE] IntelliJ IDEA 플러그인 추천 추천이라 써놓고 내가 사용하는 플러그인 및 테마 모음 IdeaVim 인텔리제이 에디터를 Vim처럼 사용할 수 있는 플러그인 유용도: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️ 플러그인 홈페이지 깃허브 Vim 없이 어떻게 컴퓨터로 글을 썼나 싶을 정도로 잘 쓰고 있는 플러그인. 마우스로 손이 가는 횟수를 90% 가량 줄이지 않나 싶다. 그만큼 편하고 속도도 빨라지고 여러 모로 생산성이 높아진다. Key Promoter X 클릭한 버튼의 단축키를 알람처럼 표시해주는 플러그인 유용도: ⭐️ ⭐️ ⭐️ 플러그인 홈페이지 깃허브 기능을 실행하면 단축키를 알려주는 팝업얼 띄워준다. 자주 쓰는 기능들 위주로 빠르게 단축키를 익히기 좋다. Rainbow Brackets 괄호 쌍마다 색.. 더보기
[Oracle] SELECT로 데이터 조회하기 [Oracle] SELECT로 데이터 조회하기 셀렉션, 프로젝션, 조인 데이터베이스의 데이터 조회는 3가지 차원으로 나눌 수 있다. 셀렉션: 행 단위로 데이터 조회 프로젝션: 열 단위로 데이터 조회 조인: 두 개 이상의 테이블을 연결하여 데이터 조회 데이터를 조회하기 위한 SELECT문을 사용해서, 적절하게 셀렉션, 프로젝션, 조인을 할 수 있다. SELECT 정리 DESC, DESCRIBE 테이블 정보를 살펴볼 수 있다. DESC를 사용하여 학습에 사용할 SCOTT의 테이블들을 살펴보겠다. SQL> DESC EMP; Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT.. 더보기
[Oracle] mac OS에서 도커로 오라클 XE 11g 설치 [Oracle] mac OS에서 도커로 오라클 XE 11g 설치 오라클 데이터베이스 학습을 위한 XE 11g 버전 설치 SCOTT 계정 생성 도커 설치 전제 TODO Homebrew로 Docker 설치 포스팅 후 링크 추가 1. 도커 이미지 pull 터미널에서 도커 이미지를 검색한다. 몇가지 이미지가 뜬다. $ docker search oracle NAME DESCRIPTION STARS OFFICIAL AUTOMATED oracleinanutshell/oracle-xe-11g 143 wnameless/oracle-xe-11g-r2 Oracle Express Edition 11g Release 2 on Ubun… 58 orangehrm/oracle-xe-11g docker container with Or.. 더보기
[Oracle] mac OS에서 도커로 오라클 EE 12c 설치 [Oracle] mac OS에서 도커로 오라클 EE 12c 설치 맥 환경에서 도커를 활용하여 오라클 데이터베이스 설치 방법. 도커가 설치되어 있다고 전제한다. TODO Homebrew로 Docker 설치 포스팅 후 링크 추가 1. 오라클 12c 도커 공식 문서 확인 1) Oracle Database Enterprise Edition 도커 Hub로 이동 https://hub.docker.com/_/oracle-database-enterprise-edition 위 링크에 접속해서 우측 Proceed to Checkout 버튼 클릭 2) 정보 입력 후 약관 동의 이름, 회사, 연락처 등 정보를 입력하고 약관에 동의한다. 3) 도커 이미지 문서 확인 오라클 DB 도커 이미지 가이드 문서를 확인한다. 2. 터미널.. 더보기
[Python] 파이썬 문자열 함수 정리 [Python] 파이썬 문자열 함수 정리 내가 보고 사용하기 위한 파이썬 문자열 함수 정리 지속 업데이트 예정 replace() 문자열 내의 특정 문자열을 다른 문자열로 바꾼 값을 리턴한다. replace("찾을 문자열", "바꿀 문자열") s = "Shoes on, get up in the morn', cup of milk, let's rock and roll" replaced = s.replace("milk", "coffee") print(replaced) # 결과 # Shoes on, get up in the morn', cup of coffee, let's rock and roll [MEMO] 찾을 문자열이 여러개라면? => 모든 문자열을 바꾼다. split() 인자를.. 더보기
[Spring Boot] 스프링부트 어노테이션 정리 [Spring Boot] 스프링부트 어노테이션 정리 개인적 학습을 위한 스프링부트 어노테이션 정리 어노테이션이 포함된 최상위 패키지를 기준으로 분류 context @Bean 어노테이션이 붙은 클래스에서 리턴하는 객체를 Bean으로 등록한다. 사용되는 클래스에 @Configuration 어노테이션을 반드시 명시해줘야 한다. [MEMO] Bean은 스프링 IoC 컨테이너에 의해 인스턴스화, 관리, 생성되는 객체를 의미한다. @Configuration 해당 클래스에서 Bean을 생성함을 명시한다. 내부적으로 @Bean 어노테이션이 붙은 메소드를 사용한다. @Configuration public class SampleConfig { @Bean public SampleController sampleControll.. 더보기
[Algorithm] 2019 카카오 블라인드 테스트 문제풀이 - 실패율 [Algorithm] 2019 카카오 블라인드 테스트 문제풀이 - 실패율 문제 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용.. 더보기