분류 전체보기(76)
-
[형상관리] SVN이란?
버전관리와 형상관리 여러 사람들과 프로젝트 진행시 각자 업무를 나눠서 맡은 부분을 개발하게 됩니다. 각자가 개발한 소스 코드의 변경 사항을 버전 별로 관리하는 것을 버전관리라고 하며, 소스 코드뿐만 아니라 프로젝트의 진행상황, 빌드, 릴리즈, 퍼블리싱까지 통합적으로 관리하는 것을 형상관리라고 합니다. SVN이란?(SubVersion) svn은 SubVersion의 줄임말로, 중앙 집중 관리식 형상 관리 Tool입니다. svn client로는 Tortoise SVN, Collabnet 및 Visual SVN이 있습니다. svn의 주요 기능 여러 사람들이 프로젝트를 공유할 경우, 각자의 수정 사항을 팀 전체가 동기화하는 과정을 자동화 프로젝트 진행 중 문제 발생시 과거의 특정 시점으로 rollback 여러 ..
2021.07.29 -
[Java] 컬렉션 프레임워크 (3)
이번 글에서는 Set, Map, TreeSet/TreeMap, Collections 유틸 클래스에 대해서 다뤄보겠습니다. HashSet Set 인터페이스는 순서가 없고 중복을 허용하지 않는 '집합'의 속성을 띄는 자료구조입니다. 그 중에서 HashSet은 Set 인터페이스를 구현한 대표적인 구현 클래스입니다. HashSet은 중복을 허용하지 않기 때문에 객체를 저장하기 전에 기존의 컬렉션에 같은 객체가 있는지 먼저 확인합니다. add(Object o) 메서드를 호출하면 저장할 객체의 equals()와 hashCode()를 호출하여 중복을 체크합니다. 단, equals()와 hashCode()는 아래의 코드와 같이 오버라이딩되어 있어야 합니다. class Person { String name; int ag..
2021.07.28 -
[Java] 컬렉션 프레임워크 (2)
이번 글은 컬렉션 프레임워크에 관한 두 번째 포스팅입니다. 이번 포스팅에선 컬렉션을 read/write 하기 위한 Iterator, Arrays, Comparator/Comparable에 대해 다뤄보겠습니다. Iterator Iterator는 Collection에 저장된 데이터를 읽을 때 사용하는 표준화된 Interface입니다. 대표 추상 메서드는 hasNext(), next()가 있습니다. Iterator는 인터페이스지만, iterator() 메서드를 호출하면 Iterator 타입의 객체를 생성할 수 있습니다. 단, 1회용이라 한번 쓰고 나면 다시 iterator() 메서드로 다시 생성해야합니다. Iterator를 사용하면 List나 Set같은 Collection 타입의 어떠한 자료 구조라도 동일하고..
2021.07.27 -
[Java] 컬렉션 프레임워크 (1)
남궁성님의 '자바의 정석 기초편' 유튜브 강의를 보고 정리한 내용입니다. https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 자바의 정석 기초편(2020최신) 최고의 자바강좌를 무료로 들을 수 있습니다. 어떤 유료강좌보다도 낫습니다. www.youtube.com 컬렉션 프레임워크에 대해서 세 개의 포스팅으로 나눠서 올릴 예정입니다. 첫 포스팅에선 컬렉션 프레임워크의 전체적인 내용과 List, Stack/Queue 에 대해 다뤄보겠습니다. 컬렉션 프레임워크란? 컬렉션 프레임워크의 '컬렉션'은 여러 객체(데이터)를 모아놓은 것을 말하고, '프레임워크'는 표준화/정형화된 프로그램 방식을 말합니다. 프레임워크를 사용하면 생산성과 유지..
2021.07.26 -
[개발환경] Chocolatey
회사에 입사하여 가장 먼저 부여받은 일은 각종 보안 프로그램들이나 여러 개발 프로그램들을 실행 파일(.exe)로 설치하는 일이었습니다. USB안에 들어있는 무수한 프로그램들을 보면서, 개발에 관련된 패키지들을 커맨드라인 환경에서 한눈에 관리하고 향후 버전 관련 이슈가 생겼을 때 빠르게 처리할 수 있는 것이 없을까? 고민한 결과 찾은 것이 chocolatey입니다. (보안적인 이유로 기업 환경에선 제약이 있을 것이라 생각됩니다.) Chocolatey란? Chocolatey는 window용 CLI(Command Line Interface) 환경의 패키지 매니저입니다. windows PowerShell에서 동작하며 간단한 명령으로 소프트웨어 설치, 업데이트, 삭제 등의 작업을 진행할 수 있습니다. 비슷하게 s..
2021.07.25 -
[JPA] 영속성 관리 - 내부 동작 방식
JPA의 가장 핵심인 영속성 컨텍스트에 대해 다뤄보겠습니다. 영속성 컨텍스트란?(Persistence Context) 영속성 컨텍스트는 '엔티티를 영구 저장하는 환경'입니다. 영속성이란 '오래 계속되는 성질'을 말하고 context는 '저장소'의 의미를 가집니다. 한 트랜잭션내에서 다루는 엔티티들에 관련된 쿼리문들을 영속성 컨텍스트라는 일종의 Buffer에 오래 모아두었다가 Commit 시점에 한꺼번에 처리하기 때문에 이런 이름을 갖게 된 것 같습니다. JPA에서 아래의 코드를 실행하면 DB에 알아서 INSERT 쿼리문을 만들어서 날렸는데, 이는 사실 '엔티티를 영속성 컨텍스트에 저장하겠다'라는 의미입니다. entityManager.persist(entity); 엔티티의 생명주기 비영속(new / tra..
2021.07.24