LinkedList vs ArrayList 1. LinkedList(링크드 리스트)란? [데이터1] -> [데이터2] -> [데이터3] -> ... -> [데이터N] -> null 링크드 리스트는 노드들이 데이터와 다음 노드를 가리키는 링크(포인터)로 이루어진 자료 구조이다. 각 노드는 메모리 어디든 저장될 수 있으며, 데이터 추가 및 삭제가 유연하게 이루어지며, 데이터에 대한 접근은 순차적으로 이루어져야 하기 때문에 접근 속도가 O(n)이다. LinkedList(링크드 리스트) 예시 코드 // LinkedList 선언 LinkedList linkedList = new LinkedList(); // 데이터 추가 linkedList.add("A"); linkedList.add("B"); linkedList..
예외처리(Exception handling) 예외처리(Exception handling)란? 자바(Java)에서 예외처리(Exception handling)는 프로그램 실행 중에 발생할 수 있는 예외 상황을 다룰 때 사용한다. 예외는 실행 중에 발생하는 오류나 예상치 못한 상황을 나타내며, 이러한 상황을 효과적으로 처리하면 프로그램의 안정성을 높일 수 있다. 예외처리는 try, catch, finally, throw, throws 등의 키워드를 사용하여 구현된다. 예외처리 키워드 설명 try-catch try 블록 내에는 예외가 발생할 수 있는 코드를 기술 catch 블록은 예외가 발생했을 때 해당 예외를 처리하는 부분으로, 예외의 종류에 따라 여러 개의 catch 블록이 사용될 수 있다. finally..
싱글톤 패턴(Singleton Pattern) 싱글톤 패턴이란?싱글톤 패턴(Singleton Pattern)은 소프트웨어 디자인 패턴 중 하나로, 어떤 클래스가 최대 하나의 인스턴스를 가지고 이에 접근할 수 있는 전역적인 접근점을 제공하는 패턴이다. 이는 클래스의 인스턴스가 오직 하나만 생성되어야 하고, 그 인스턴스에 대한 전역적인 접근이 필요한 경우에 사용된다. 싱글톤 패턴의 특징하나의 인스턴스: 클래스의 인스턴스는 오직 하나만 생성전역적인 접근점: 어디서든지 그 인스턴스에 접근할 수 있는 전역적인 접근점을 제공지연 초기화: 인스턴스가 필요할 때까지 생성을 지연시킴으로써 자원 절약 싱글톤 패턴의 장단점 장점 자원 절약: 인스턴스가 단 하나뿐이므로 자원 절약 전역적인 접근: 어디서든지 인스턴스에 접근할 ..
Spring 프로젝트에서 JSON 데이터셋 전달하는데 데이터의 양이 많으면 호출되지 않는 오류가 발생했다. 해당 오류에 대해 해결방법에 대해 포스팅해보려고 한다. 일단 다른 이유가 있을 수도 있지만 필자는 maxPostSize와 maxParameterCount의 설정 문제였다. Apache Tomcat 서버의 설정 속성으로, 웹 애플리케이션이나 서블릿에서 처리하는 HTTP 요청의 크기 및 매개변수 수를 제한하는 데 사용된다. 설정만 해주면 해결되는 문제였기 때문에 방법 또한 쉽다. 관련 오류 1. 오류1 : maxParameterCount 속성과 관련된 내용을 설명 maxParameterCount The maximum number of parameter and value pairs (GET plus PO..
SVN 충돌 - svn: E155004: E155038: * Cant revert * svn: resource does not exist * svn: E200030 :BUSY * 전자정부프레임워크 SVN에서 버전체크하지 않고 commit 했을 때 발생했다. 이 부분에서 엄청 애를 먹었다. 오류 내용 E155004: locked 오류는 SVN 저장소에서 파일이나 디렉터리가 다른 작업에서 잠겨 있다는 것이며, 이 오류는 주로 두 가지 상황에서 발생한다. 오류 발생 이유 1. 다른 작업에서 잠긴 파일 또는 디렉터리에 대한 작업을 시도할 때 다른 사용자가 이미 해당 파일 또는 디렉터리를 수정 중이거나 커밋을 하고 있을 수 있음. 자신이 다른 작업에서 해당 파일 또는 디렉터리를 수정 중일 수 있음. 2. 이전에..
오류 알림 'Publishing to [server_name] Server at localhost..' has encountered a problem. Could not replace with temp file Could not replace with temp file C:\[server_name]\workspace\.metadata\.plugins\org.eclipse.wst.server.core/tmp0\tmp*.jar. 오류 내용 이 오류는 Eclipse IDE에서 Tomcat 서버로 프로젝트를 배포하려고 할 때 발생한 것인데, 해당 오류 메시지는 두 가지 주요 문제가 있다. 1. Temp 파일 교체 문제 오류 메시지에서 "Could not replace with temp file" 부분은 일시적인..
형상관리 도구 종류 그 중 SVN이란? 형상관리 도구(Version Control System 또는 Source Code Management)는 소프트웨어 개발 프로젝트에서 코드와 리소스의 변경 내역을 관리하고 추적하는 데 사용되는 소프트웨어 도구이다. 다양한 형상관리 도구가 존재하며, 형상관리 도구는 대규모 프로젝트에서는 필수이다. 형상관리, 협업, 소스코드 공유 등등 가독성 있게 관리하기 쉽게 만들어주는 도구이며 회복 및 백업도 용이하게 할 수 있다. 형상관리 도구에 대해 설명을 하자면, 형상관리 도구 종류 Git Git은 분산형 버전 관리 시스템으로, 가장 널리 사용되고 인기 있는 형상관리 도구 중 하나 소스 코드 변경 내역을 추적하고, 여러 개발자가 협업할 때 코드 충돌을 관리 브랜치를 통한 기능..
데이터베이스 병렬 처리(Parallel Processing)란? AS-IS에서 TO-BE로 변경하는 과정에서 실행과 결과가 같은 쿼리인데 처리시간에서 많은 차이를 보였다. TO-BE로 개발하기 위해서는 AS-IS의 환경에서 돌리는 것이 아니라 TO-BE에 맞는 환경에서 돌려보고, 테스트를 해봐야했기에 처리시간에 따라 업무 진척도도 달라졌다. AS-IS (운영DB) 0.2초 TO-BE (개발DB) 60초~120초 쿼리가 복잡하기도 했고, ASIS에 동일하게 맞춰야해서 임의로 쿼리를 바꿀 순 없었다. 기존 ASIS의 운영DB와 개발DB는 다르기 때문에 튜닝이 안 되어있다는 얘기를 듣긴 했지만, 튜닝은 바로 할 수도 없고 1주일 정도를 기다려야했다. 2주 안에 개발을 해야했기 때문에 어떻게든 조금이라도 빨리 ..