본문 바로가기

공부106

[Oracle] CHARSET, 한글 바이트 수 확인하기 Charset 확인하기 SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY'); 위 쿼리를 조회하면 캐릭터셋 정보가 나온다. 한글 바이트 수를 확인하려면 'NLS_CHARACTERSET' 파라미터만 조회해도 된다. 한글 바이트 수 확인하기 NLS_CHARACTERSET으로 확인하는 방법 한글자당 2Byte: KO16KSC5610 (한글 완성형), KO16MSWIN949 한글자당 3Byte: UTF8/AL32UTF8 내 로컬의 경우 AL32UTF8이므로 한글자당 3Byte씩임을 알 수 있다. 직접 한글 바이트 수를 조회.. 2020. 10. 25.
[Oracle] Database 접속 schema id, password 변경하기 접속 비밀번호(PASSWORD) 변경하기xxxxxxxxxxALTER USER ori_name IDENTIFIED BY new_password; 스키마명/유저명(ID) 변경하기변경하고자 하는 스키마의 레코드 순번을 USER$ 테이블에서 스키마명으로 조회한다.xxxxxxxxxxSELECT USER#,NAME FROM SYS.USER$ WHERE NAME='ORI_NAME';USER$ 테이블에서 스키마명을 변경한다.xxxxxxxxxxUPDATE USER$ SET NAME='NEW_NAME' WHERE USER# = 1번 쿼리에서 조회한 인덱스;커밋xxxxxxxxxxCOMMIT;시스템 체크포인트 변경xxxxxxxxxxALTER SYSTEM CHECKPOINT;SHARED_POOL 초기화xxxxxxxxxxALTE.. 2020. 10. 25.
[programmers] 모의고사 모의고사x수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.​1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...​1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주.. 2020. 5. 18.
[programmers] 체육복 체육복x점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.​전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작.. 2020. 4. 7.
[Spring] Spring Scheduler 현재 회사에서 사용하는 배치 프로그램들이 개발자마다 다른.. 방법으로.. 만들어져 있어서 이번에 개선을 하기로 했다.Spring의 Spring Scheduler와 MyBatis로 일괄 적용을 하기로 했는데,이왕 적용 하는김에 정리도 같이 해보려고 한다. Spring Scheduler란?Spring framework에서 제공하는 스케줄러Spring3버전 이상의 환경에서 사용할 수 있다. Spring Scheduler 적용 applicationContext.xmlScheduler를 사용하기 위해 task를 추가해준다.x ... ​@Schedule, @Async 어노테이션을 활성화시켜준다.xml이 아닌 java config를 사용한다면 아래와 같이 어노테이션으로 작성하면 된다.xxxxxxxxxx@Configu.. 2020. 3. 11.
크론(cron) 표현식 cron 표현식은 UNIX 기반 OS에서 Crontab을 사용하거나, Spring Scheduler 등의 스케줄러에서 사용되는 job scheduling 표현식이다.업무를 진행하면서 크론식 사용은 종종 해보았지만 늘 쓰던대로만 써왔고, 여태 정리를 해본 적은 없는 것 같아 한 번 정리하여 작성해보기로 하였다. cron 표현식이란참고: 위키백과cron 표현식은 스페이스(" ")로 구분되는 7개의 단위로 표현되는 문자열이다.각 필드는 앞에서부터 초, 분, 시, 일, 월, 요일, 년 으로 구성된다.필드명필수값 여부허용 값 범위허용 특수 문자비고초(Seconds)Y0-59* , -일부 표현식에서 사용되는 필드 crontab에서는 사용되지 않음분(Minutes)Y0-59* , - 시(Hours)Y0-23* , -.. 2020. 3. 11.
[programmers] [1차] 멀쩡한 사각형 멀쩡한 사각형x가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다.가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 soluti.. 2020. 2. 26.
[programmers] [1차] 비밀지도 비밀지도x네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.​1. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는"벽"("#") 두 종류로 이루어져 있다.2. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다.3. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다.4. 암호화된 배열은 .. 2020. 2. 26.
[programmers] [1차] 다트 게임 다트 게임x카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다.갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다.​1. 다트 게임은 총 3번의 기회로 구성된다.2. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다.3. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다.4. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수.. 2020. 2. 24.
[programmers] 실패율 실패율x슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.​이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라.​실패율은 다음과 같이 정의한다.스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주.. 2020. 2. 15.