일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- BOJ
- SSAFY
- pymysql
- IntelliJ
- 추가합격
- tmehz
- treeset
- 싸피
- commit
- RequiredArgsConstructor
- window
- github
- SSAFY #싸피 #7기 #합격 #개발
- 의존성주입
- JsonObect
- 면접합격
- 삼성 #교육 #개발자 #웹
- UnsupportedOperationException
- SQL
- 커밋옮기기
- Java
- 프로시저
- 이중우선순위큐
- mybatis
- 백준
- 윈도우우분투
- 백엔드
- BFG
- gitlab
- 프로젝트회고록
- Today
- Total
목록전체 글 (20)
데굴데굴 굴러가는 개발 블로그
# Procedure, 프로시저란? DB 내부에 저장되어 있는 데이터들을 대상으로 SQL 쿼리들을 하나의 함수처럼 사용하기 위한 집합 => 쿼리의 함수버전!물론 function도 존재하지만 function은 무조건 return 값이 있어야하는 반면, 프로시저는 return 값이 있을수도 없을수도 있다. 기본 문법은 다음과 같다.CREATE OR REPLACE PROCEDURE 프로시저명(파라미터1, 파라미터2 ...)IS || AS 선언부(변수, 상수 선언)BEGIN 실행부(대부분의 SQL 쿼리로 작업을 하는 부분)EXCEPTION 예외발생시 처리하는 부분 END; 위에서 만든 프로시저를 실제로 사용하려면 아래와 같이 호출해주면 된다.CALL 프로시저명(변수1, 변수2...); 프로시저를 사용하는 이유..

💡 Stream이란? Java8 버전 이상부터 사용 가능하며, 람다식을 이용해 데이터(컬랙션, 배열 등..)를 가공하여 원하는 형태로 반환할 수 있다. 💡 대표적인 특징 1. 원본 데이터의 변경 X2. 재사용 불가능 (일회용)3. 내부 반복으로 작업을 수행 (간결한 소스코드로 바뀌는 이유) 💡Stream 처리 과정- Stream 생성- 중간 연산- 최종 연산ex. 객체.Stream생성().중간연산().최종연산 다양한 Stream생성 방식이 있지만, 지금은 List 관련한 부분만 작성한다. 💡중간 연산- 필터 (filter, distinct)- 변환 (map, flatMap)- 제한 (limit, skip)- 정렬 (sorted)- 확인 (peek) 💡필터- filter() : 특정 조건에 맞..
새로운 mapper 파일을 만들일이 생겨서 MyBatis 문법 select 쿼리를 만들다가 마주친 에러가 있었다. ### Error querying database. Cause: java.lang.UnsupportedOperationException 찾아보니 위의 오류는 주로 'List 형을 new로 초기화하지 않는 상태에서 Arrays로 생성하였을 시 발생' 한다고한다. Mapper에서 어떻게 이 오류가 발생하는가 싶어서 생각해보니 select된 정보를 mapper.xml에서 java쪽으로 다시 넘길 때, result를 만들면서 생기는 오류라는걸 깨달았다. 예상대로 resultType="java.util.List" 때문에 발생한 문제였다. 해결방법은 간단하다. resultType="HashMap"으로 ..
공인인증서 + ActiveX 기반의 카드결제(익스플로러에서만 가능해서 개선 요청이 계속 들어왔던 건) 시스템을 결제위젯SDK + API 으로 변경하는 리뉴얼 작업을 맡아, 토스페이먼츠측에서 제공하는 Json 형식의 반환값을 처리하던중 발생한 문제를 해결한 방법을 서술한다. [ 반환 값 ] 전달받은 객체의 형식은 위와 같이 JSON객체 안에 객체가 들어있었다. { key1 : value1, key2 : value2, key3 : { key4 : value4, key5 : value5 } } [Java 코드] 아래는 Java 파일에서 Json객체를 전달받고, 데이터를 다룬 코드이다. import java.io.InputStream; import java.io.InputStreamReader; import j..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class 백준_S3_11659_구간합구하기4 { static int dist, farNode; static ArrayList tree[]; static boolean[] isVisited; public static class Node{ // 위치, 가중치 int pos; int weight; Node(int pos, int weight){ this.pos = pos; this.weight = weight; } } pu..

최근 IntelliJ를 자주 사용하며 생산성을 높이기 위해 향로님의 인프런 IntelliJ 단축키 관련 강의를 수강하며 정리해봤다.. 3번중에 1번은 단축키로 해보려고 노력하고있다 언젠가 마우스를 안쓰는 그날까지 화이팅 파일 실행 관련 단축키 Mac Window 현재 파일 실행 Ctrl + Shift + R Ctrl + Shift + F10 이전 파일 실행 Ctrl + R Shift + F10 라인 관련 단축키 Mac Window 줄 복사 Command + D Ctrl + D 줄 삭제 Command + 백스페이스 Ctrl + Y 줄 합치기 Ctrl + Shift + J Ctrl + Shift + J 줄 이동 (블럭 내부만) Command + Shift + 상/하 Ctrl + Shift + 상/하 줄 이동..

스프링에서 DI(의존성 주입) 시 총 3가지 방법으로 의존성을 주입할 수 있다. Field(필드) 주입 Setter(수정자) 주입 Constructor(생성자) 주입 Field 주입 멤버 객체에 @Autowired로 의존성을 주입 @Service public class Example{ @Autowired private ExampleService exampleService; @Autowired private ExampleRepository exampleRepository; } Setter 주입 setter 함수에 @Autowired로 의존성 주입 @Service public class Example{ private ExampleService exampleService; private ExampleRepos..

프로젝트를 gitlab에서 진행하고 github에다가 커밋 기록(잔디) 까지 가져오고 싶어서 별 노력을 다하다가 계속 안되길래 모든 인터넷의 해결법을 모아서 정리해보도록 한다.. 대략적인 순서는 다음과 같다 1. Git lfs와 BFG Repo Cleaner 설치 https://rtyley.github.io/bfg-repo-cleaner/ BFG Repo-Cleaner by rtyley $ bfg --strip-blobs-bigger-than 100M --replace-text banned.txt repo.git an alternative to git-filter-branch The BFG is a simpler, faster alternative to git-filter-branch for cleans..