분류 전체보기

개인 프로젝트에서는 쓴 적이 없던, 회사에서 처음 본 속성이다. 그것은 바로 @Transactional의 noRollbackFor 속성. 간단히 말하면 이름 그대로 롤백이 일어나지 않도록 하는 속성이다. 대부분의 비즈니스 로직이 실행되는 Service 단에서 각 메서드마다 @Transactional 어노테이션을 붙여 메서드 내부의 작업들이 하나의 트랜잭션으로 묶여 처리되도록 한다. 물론, Service 단이 아닌 Controller 단에서도 불가피하게 호출하는 Service 단의 메서드가 많다면.. 해당 어노테이션을 사용해 하나의 트랜잭션으로 묶을 수 있다. 이 때, 호출된 해당 트랜잭션이 수행되던 중 어떠한 이유로 에러가 발생한다면 묶여있는 모든 트랜잭션이 rollback 처리가 된다. 하지만! 특정한..
· node.js
아직 제대로 공부 못하고 눈치껏 코드 보고 공부하고, 구글링해서 구현하고 있는 node.js다. 백엔드와 통신하기 위한 과정 중에 요청 객체(req)를 사용해 해당 객체 안에 있는 url 등을 꺼내 사용하기도 한다. 사실 잘 모르지만 그래도 자주 쓰는데 계속 까먹어서 일단 기록부터 해야겠다. 정확하게 요청 객체(req), 응답 객체(res)가 뭔지...route란 무엇인지..가 사실은 먼저 기록되어야할 것 같지만, 신입인데 쳐내야할 일이 적지 않은 나에게 기초부터 아주 잘 쌓아올리는게 쉽지는 않아서(그럼에도 불구하고 해야하지만..) 필요한 것부터 기록한다. 요청 객체 (Request) 클라이언트의 요청 데이터를 받아온다. 일반적으로 req라는 변수로 사용하는데 request 와 같은 다른 이름으로 지어도..
· DataBase
최근 MySQL DB에서 data source rejected establishment of connection, message from server: "too many connections" 이라는 에러가 발생한 적 있다. 잘 되다가 갑자기 이런 에러가 떠서(코드나 DB 설정 등을 수정한 적도 없고, 개발자 여러 명이 어플리케이션 실행을 시킨 상황도 아닌 것으로 파악되는데,,) 당황스러웠지만 우선 에러를 직독직해 하면 알 수 있듯 Connection 문제라고 하니 연결된 Connection 수 먼저 체크했다. 정리해보자면 이 에러는 DB와 연결된 client의 수, 다른 말로는 DB와 연결된 접속 수가 너무 많아서 발생한 에러인데, 또 다시 같은 에러가 발생할 수 있으므로 DB에 최대한으로 접속 가능한..
· DataBase
파이썬에 이어 MongoDB까지 사용해볼 일이 생겼다. 기존 개인 토이프로젝트에서는 MySQL만 사용해보았고, 회사에서는 MSSQL, MySQL을 함께 쓰는데, MongoDB는 처음이니 다운로드와 설치부터 해보자! 1. MongoDB 설치파일 다운로드 MongoDB 다운로드 페이지로 접속(https://www.mongodb.com/try/download/enterprise) MongoDB Enterprise Server 클릭 후 본인 OS 선택 및 Package는 msi로 선택 후 다운로드 클릭 2022년 12월 1일 기준 가장 최신 버전은 6.0.3 버전 2. 설치파일 실행 다운로드 받은 설치파일 실행 라이센스 동의 조항 체크 후 next 두 가지 옵션 중 원하는 것으로 선택하면 된다.(나는 Compl..
· Python
작은 토이프로젝트로 파이썬을 이용해 백엔드를 만들 기회가 생겼다. 하지만 파이썬을 제대로 공부해본 적이 없는 나는..우선 파이썬부터 설치해야 한다. 그래서 작성하게 된 윈도우10 환경에서 파이썬 설치하기! 1. python 설치 파일 다운로드 python 공식 홈페이지로 접속(https://www.python.org/) Downloads > Windows 클릭 Stable Releases 바로 아래에 있는 것이 안정화된 버전 중 가장 최신 버전이므로 해당 버전을 클릭 현재는 2022년 10월 24일에 배포된 3.11.0 버전이 최신 버전 본인의 OS에 맞는 버전을 클릭해 설치파일 다운로드 2. python 설치 다운로드 한 파이썬 설치파일 실행 Add python.exe to PATH 체크 : 환경변수에..
· Java
이전 글에 이어서 이번 글에서는 접근 제어자에 대해 정리해보고자 한다. 접근제어자(access modifier) 멤버변수 또는 클래스에 사용되며 해당하는 멤버변수 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스나 멤버변수, 메서드, 생성자에 접근 제어자가 지정되어 있지 않다면 default임을 의미한다. 종류 접근 제어자 같은 클래스 같은 패키지 자손 클래스 전체 private O X X X default O O X X protected O O O X public O O O O 그렇다면 접근 제어자를 사용하는 이유는 무엇일까? 이유에는 크게 2가지가 있다. 외부로부터 데이터를 보호하기 위해 외부에는 불필요하고, 내부적으로만 사용되는 부분을 감추기 위해 이것을 데이터 감추기(data..
· Java
매일 public과 private 제어자를 사용해 클래스나 메서드를 선언하는데, 이 둘을 주로 사용하다보니 다른 접근 제어자인 protected, default가 헷갈리기 시작해 정리하는 글이다. 이왕 정리하는 김에 접근 제어자 뿐만 아니라 그 외의 제어자에 대해서도 간략히 정리해보고자 한다. 제어자(modifier)란? 클래스, 변수 또는 메서드의 선언부에 사용돼 부가적인 의미를 부여한다. 종류 접근 제어자 : public, protected, default, private 그 외 제어자 : static, final, abstract, native, transient, synchronized, volatile, strictfp 하나의 클래스나 멤버변수, 메서드 등의 대상에 대해서 여러 제어자를 조합해 ..
기초 자료구조인 Stack에 대해서 알고 있다면 어렵지는 않은 문제이다.. 하지만 시간 초과가 떴고.. 검색해보니 명령 N 이 최대 10,000이고 명령마다 println으로 출력 시 시간 초과가 발생할 수 있으므로 StringBufferr를 사용해주면 해결된다고 한다. 시간 초과 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Stack stack = new Stack(); int num = sc.nextInt(); for(int i = 0; i < num; i++) { String order = sc.next..
Stack 기본 개념 LIFO(Last In First Out) 형식의 기초 자료구조 아래 그림처럼 한 쪽 끝에서만 데이터를 넣고 뺄 수 있다. 이러한 구조는 '뒤로 가기'나 '실행 취소(undo)', 컴퓨터 구조에서의 'stack memory'에서 사용된다. 구조 상 당연히 직전에 추가된 데이터를 빠르게 가지고 올 수 있다. 기본적으로 Java에서 Stack 클래스는 내부에서 최상위 타입 배열인 Object[] 배열을 사용해 데이터들을 관리하고 있다. Stack 기본 연산 push(item): item 하나를 스택의 가장 윗 부분에 추가한다. pop(): 스택에서 가장 위에 있는 항목을 제거한다. peek(): 스택의 가장 위에 있는 항목을 반환한다. isEmpty(): 스택이 비어 있을 때에 true..
자료구조(Data Structure). 구글링을 하면 '데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미'한다는 위키백과의 글이 가장 먼저 검색된다. 그리고 자료구조를 검색하면 알고리즘 문제를 푸는 분들이 많다. 자료구조와 알고리즘은 뗄 수 없는 관계이기 때문이다. 어떤 알고리즘 문제를 해결하기 위해서는 문제를 파악한 다음 문제에 사용할 적합한 자료구조를 선택한다. 예를 들어 비슷해보이는 List일지라도 순서가 있는 데이터들의 삽입과 삭제가 빈번하다면 LinkedList를, 그렇지 않을 경우네는 ArrayList를 사용한다. 각 알고리즘의 문제에서, 그리고 실제 서비스 로직을 구현하는 상황에서도 각 자료구조 별 특징을 정확하게 이해하고 있어야 적합한 자료구조를..
토발자_Hflug
'분류 전체보기' 카테고리의 글 목록 (5 Page)