전체 글 (72) 썸네일형 리스트형 [MSSQL] 프로시저 프로시저란? SQL SERVER에서 제공하는 프로그래밍기능으로 쿼리문들의 집합이라 할 수있다. 쿼리문을 하나의 함수 형식으로 만들어 어떠한 동작을 일괄적으로 처리하는 용도로 사용된다. 사용되는 이유 1. SQL SERVER의 성능을 향상시켜준다. 프로시저를 처음에 실행하면 컴파일 단계를 거쳐서 결과값을 캐시에 저장하게 된다. 이 후에 동일한 SP(Stored procedure)를 실해하면 캐시에 저장된 값을 가져와 사용하여 실행속도가 빨라진다. 2. 유지보수 및 재활용 Java, C#등으로 만들어진 응용프로그램에서 직접 SQL문을 호출하지 않고 SP의 이름을 호출하도록 설정해 사용하는 경우가 많은데, 이 때 개발자는 수정요건이 발생할 때 코드 내 SQL문을 건드리는 게 아니라 SP파일만 수정하여 유지보수.. var / let / const 차이점 자바스크립트를 사용할 때 항상 변수선언에 크게 생각안하고 개발을 했었는데 최근에 3시간을 날려버린 이후 재발방지차원에서 정리해보려한다. 'var는 오래되었고 요즘은 let으로 바꿔서 사용한다.'라는 말을 들은 적이 있다. var로 선언한 변수는 let으로 선언한 변수와 유사한데 대부분의 경우에는 let -> var, var N+1 문제 및 해결법 Spring JPA를 사용하다보면 쉽게 마주할 수 있는 N+1 쿼리에 대해 원인과 해결 방법에 대해서 알아보려한다. N+1? JPA의 Entity 조회 시 내부에 존재하는 다른 연관관계에 접근할 때 또 다시 한번 쿼리가 발생하는 비효율적인 상황을 일컫는 말이다. 1번의 쿼리를 날렸을 때 의도하지 않은 N번의 쿼리가 추가적으로 실행되는 것을 의미한다. 위의 글만 본다면 어떤 상황인지 알기 어려우니 N+1설명 때 가장 많이 사용되는 post예시를 들어보겠다. N+1 발생 케이스 예시로 게시글에 대한 테이블을 post라고 두고, post에 달린 댓글들을 command라는 테이블이라 지칭하자. 한 post에는 여러 개의 command가 달릴 것이다. 1. 즉시 로딩 (fetchType.EAGER)후 findAl.. @Transactional 오늘은 @Transactional 어노테이션에 대해 정리해보려한다. 우선 @Transactional 어노테이션을 사용하려면 트랜잭션에 대해 알아야할 필요가있다. 트랜잭션이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업 단위나 한번에 수행되어야할 일련의 연산을 의미한다. 특징으로는 Database시스템에서 병행제어 및 회복 작업이 수행될 때 처리되는 작업의 논리적 단위로 사용자가 어떤 서비스를 요청할 때 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 각 트랜잭션은 commit 혹은 rollback되어야한다.(원자성 보장) 1. 원자성 (Atomicity) 각 트랜잭션은 commit 혹은 rollback되어야한다. 트랜잭션 안에서의 모든 명령은 완벽하게 수행되어야하고,.. MSA 큰 서비스를 하고 있는 업체에서는 MSA를 고려해봐야한다는 말을 들어본 적이 있을 것이다. 오늘은 MSA가 어떤 것인지에 대해 정리해볼려한다. MSA [Micro Service Architecture] "하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐" 마이크로서비스를 전통적인 monolithic 접근 방식과 구별 짓는 기준은 애플리케이션의 핵심기능을 세분화하는 방식이다. 각 기능을 서비스라 부르며, 독립적으로 구축해 배포가 가능하다. *Monolithic Architecture - 기존의 시스템은 정보제공을 위한 화면부터 DataBase까지 전체가 하나의 흐름으로 묶여있는 애플리케이션 형태(한 프로젝트에 소프트웨어의 모든 구성요소가 포함된 형태) 등.. AWS EC2 서버 구축 - 1. 인스턴스 생성 정말 오랜만에 AWS EC2를 이용해서 서버구축을 해보았다. 구축과정의 페이지가 변경된 것을 보고 깜짝놀랐다.ㅋㅋ AWS와 EC2를 간략하게 정리하고 인스턴스 구축과정을 설명하겠다. AWS - Amazon Web Service 아마존에서 제공하는 클라우드 서비스, 네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공하는데 개발자가 웹서비스를 이용해서 확장할 수 있고 애플리케이션을 구축할 수 있도록 지원해준다. EC2 - Elastic Compute Cloud 이 서비스를 통해서 아마존이 구축한 데이터센터의 서버용 컴퓨터의 자원을 원격으로 사용할 수 있다. 여러 장점이 있는데 가상 인스턴스의 크기가 고정되어있지않아 크기조절이 가능하다. 저렴하다.(가입한지 1년동안 FREE .. [Java 자료구조] 스택(Stack) leetcode 20번 문제에서 자료구조로 스택을 사용해야했다. 스택을 공부한지 너무 오래되어 다시 정리하고자 한다. https://joey-program.tistory.com/83 스택이란? 스택은 영어로 '쌓다', '쌓아 올린 더미'를 의미한다. 의미와 동일하게 자료구조의 스택(stack) 역시 비슷한 특징을 지닌다. LIFO(Last In First Out)이라는 특징을 갖는데 예를 들어 긴 발포비타민 통을 생각하면 된다. 한 쪽은 막혀있고 한쪽에서만 비타민을 뺄 수 있는 형식인 것이다. 자바에서는 java.util.Stack 클래스를 통해 stack(스택) 동작을 제공하고 있다. 큐(Queue) 왁 같이 사용해 다양한 문제 해결을 할 수 있다. 스택 사용법 class Solution { publi.. 20. Valid Parentheses 난이도 쉬움 Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. '(', ')', '{', '}', '[' 및 ']' 문자만 포함하는 문자열 s가 주어지면 입력 문자열이 유효한지 확인합니다. 다음과 같은 경우 입력 문자열이 유효합니다. 열린 브래킷은 동일한 유형의 브래킷으로 닫아야 합니다. 열린 브.. 이전 1 2 3 4 5 ··· 9 다음