전체 글 250

MSA란 무엇일까? [세무민의 코딩 일기]

이번 포스팅에서는 MSA에 대해 공부하는 내용을 적어보려고 합니다. 1. 모놀리식 아키텍처 개념 모듈별로 개발한 뒤 개발 완료 시 웹 어플리케이션을 하나의 결과물로 패키징하여 배포하는 형태를 말한다. 웹의 경우 .war로 파일을 말은 뒤 WAS에 배포하는 형태이다. 장점 war파일만 빌드하면 되서 간편합니다. 단점 CI(지속적인통합)와 CD(지속적인배포)가 어렵다. 모듈 수정 시 다른 모듈이 사용 불가능한 상태가 발생한다. 2. 마이크로서비스 소프트웨어 개발 기법 중 하나로 애플리케이션의 결합된 서비스의 모임으로 구조화하는 서비스이다. 이는 서비스 지향 아키택처(SOA) 스타일의 일종이다. 3. SOA 개념 SOA란 서비스 지향 아키택처로 대규모 컴퓨터 시스템을 구축 시 소프트웨어 기능을 서비스로 판단하..

프로그래머스 비밀지도 문제 풀이 - [세무민의 코딩일기]

안녕하세요 세기무민입니다. 이번에 풀어볼 문제는 2018년도 카카오 블라인드 테스트 1차 비밀지도 문제입니다. 문제 설명 입출력 및 예시 문제 풀이 이번 문제는 위의 설명대로 문제를 접근하면 됩니다. 요약을 하자면 1. 2진수로 변환하기 2. 2진수로 변환한 수의 자리수를 맞춰주기 3. 2진수로 변환한 값들을 비교 및 #으로 출력 arr1과 arr2의 값들을 2진수로 변환해서 두개를 합쳤을 때 1인 경우에 #으로 표시해주면 됩니다. 여기서 2진수로 변환하는 방법이 여러가지가 있지만 저는 format을 이용하였습니다. 2진수로 변환을 완료했다면 다음으로 확인할 것은 해당 배열의 자리수와 일치하는지 확인이 필요하고 만약 자리수가 다르면 자리수를 맞춰주면 됩니다. 마지막으로 자리수를 맞췄다면 해당 값들을 비교..

[세무민의 코딩일기] : 오라클 시퀀스 조회 번호 확인하기

안녕하세요 세기무민입니다. 이번에 다룰 포스팅은 USER_SEQUENCES입니다. 우선 Oracle 문서에서 확인한 정의는 위와 같습니다. 즉 USER_SEQUENCES는 현재의 사용자가 소유한 시퀀스를 모두 보여줍니다. 타입은 VIEW입니다. 해당 뷰의 컬럼은 아래와 같습니다. 아래의 컬럼은 ALL_SEQUENCES의 컬럼이며 USER_SEQUENCES와 같습니다. 컬럼 명 컬럼 내용 SEQUENCE_OWNER 시퀀스의 소유자 SEQUENCE_NAME 시퀀스 이름 MIN_VALUE 시퀀스의 최소값 MAX_VALUE 시퀀스의 최대값 INCREMENT_BY 시퀀스가 증가하는 값 CYCLE_FLAG 시퀀스 순환 여부 ORDER_FALG 시퀀스 번호 순서 생성 여부 CACHE_SIZE 시퀀스의 캐시 크기 LA..

DB/SQL 2022.02.23

[세무민의 코딩일기] : 오라클 프로시저 및 함수 내용 찾기

안녕하세요 세기무민입니다. 이번에 다룰 포스팅은 오라클을 사용하다보면 프로시저와 함수를 만드는데 만약 프로시저와 함수가 엄청 많다면 모든 내용을 들어가서 확인하는건 비 효율적입니다. 따라서 프로시저와 함수 내에서 내용을 찾는 쿼리를 알아보도록 하겠습니다. /** * 프로시저 내 포함된 내용 찾기 */ SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE= "PROCEDURE"-- 타입 : 프로시저 AND TEXT LIKE '%%'-- 찾으려는 텍스트 입력 /** * 함수 내 포함된 내용 찾기 */ SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE= "FUNCTION"-- 타입 : 함수 AND TEXT LIKE '%%'-- 찾으려는 텍스트 입력 우선..

DB/SQL 2022.02.21

프로그래머스 키패드 누르기 문제풀이- [세무민의 코딩일기]

안녕하세요 세기무민입니다. 이번에 돌아온 포스팅은 프로그래머스 알고리즘 풀이 문제로 돌아왔습니다. 문제설명 입출력 예시 문제풀이 우선 저는 이 문제를 보자마자 메모장에 그림을 그렸습니다. 전화기가 위와 같이 있다고 가정하면 일단 왼쪽의 숫자들은 3으로 나눴을 때 나머지가 1인 경우의 수 오른쪽의 숫자들은 3으로 나눴을 때 나머지가 0인 경우의 수라는 것을 알 수 있습니다. 그런 뒤 이 문제에서 가장 중요한건 가운데 숫자를 클릭하는 방법인데 우선은 가운데 숫자들은 3가지의 조건을 생각해봤습니다. 1. 왼쪽과 오른쪽의 길이가 같은 경우 2. 왼쪽이 오른쪽 길이보다 큰 경우 3. 오른쪽이 왼쪽 길이보다 큰 경우 위와 같이 3가지로 나눌 수 있는데 그렇다면 어떻게 길이를 구분할 지 고민해본 끝에 좌표 이동을 생..

세무민의 코딩일기 : 포트폴리오 화면에 블로그 기능 추가하기 2탄 [포트폴리오 사이트 제작하기 4탄]

안녕하세요 세기무민입니다. 우선 제가 진행하려는 화면은 아래의 포스팅 화면을 기반으로 진행하였습니다. 👇👇👇👇👇👇👇👇👇 전에 진행했던 포스팅을 보고 싶다면?! 👇👇👇👇👇👇👇👇👇 세무민의 코딩일기 : (JPA&Jquery) 포트폴리오 화면에 블로그 기능 추가하기 1탄 [포트폴리오 사이트 안녕하세요 세기무민입니다. 우선 제가 진행하려는 화면은 아래의 포스팅 화면을 기반으로 진행하였습니다. 👇👇👇👇👇👇👇👇👇 전에 진행했던 포스팅을 보고 싶다면?! 👇👇👇👇👇 sg-moomin.tistory.com 👇👇👇👇👇👇👇👇👇 현재까지 진행한 내용들은 아래의 주소에서 확인 가능합니다. 👇👇👇👇👇👇👇👇👇 GitHub - sg-moomin/sg-moomin.github.io Contribute to sg-moomin/sg-mo..

[세무민의 코딩일기] LeetCode Exchange Seats 문제풀이

오늘 풀어볼 문제는 LeetCode의 Exchange Seats 문제입니다. 1. 문제 및 예시 2. 문제풀이 이번 문제는 앞뒤로 바꾸는 쿼리 결과를 조회하면된다. 그렇다면 곰곰히 생각해보면 2의 배수의 경우는 앞뒤로 변경이 가능하지만 2의 배수에서 -1인 경우는 마지막의 값은 변경이 불가능하다. 이 말은 즉슨 Mod(ID, 2) = 1 공식에 따라서 문제를 풀면 된다. 3. 코드 /** * LeetCode : Exchange Seats * URL :https://leetcode.com/problems/exchange-seats/ */ SELECT ID, IFNULL(CASE WHEN MOD(ID, 2) != 0 THEN LEAD(student) over() ELSE LAG(student) over() ..

Algorithm/leetCode 2022.02.11

세무민의 코딩일기 : (JPA&Jquery) 포트폴리오 화면에 블로그 기능 추가하기 1탄 [포트폴리오 사이트 제작하기 3탄]

안녕하세요 세기무민입니다. 우선 제가 진행하려는 화면은 아래의 포스팅 화면을 기반으로 진행하였습니다. 👇👇👇👇👇👇👇👇👇 전에 진행했던 포스팅을 보고 싶다면?! 👇👇👇👇👇👇👇👇👇 (Java&Spring) JPQL 활용하기[포토폴리오 싸이트 제작하기 2탄 - 세무민의 코딩일기] 이번 포스팅에서는 JPA를 활용하는 내용에 대해서 알아보겠습니다. 우선 최근에 개인적인 사정으로 코딩 공부를 못했는데 오랜만에 주말에 JPA에 대해서 공부를 조금 해봤습니다. JPA를 이용한 포 sg-moomin.tistory.com 👇👇👇👇👇👇👇👇👇 현재까지 진행한 내용들은 아래의 주소에서 확인 가능합니다. 👇👇👇👇👇👇👇👇👇 GitHub - sg-moomin/sg-moomin.github.io Contribute to sg-moom..