전체 글 13

DB Lock

본 포스팅은 DB Lock에 대해서 포스팅 하고자 한다. Lock이란Lock이란 데이터베이스에서 동시성과 데이터 일관성을 보장하기 위해 사용되는 메커니즘이다. 예를 들어, 여러 사용자(트랜잭션)들이 동시에 같은 데이터에 접근하려고 할 때데이터베이스는 Lock을 사용하여 해당 데이터를 사용하고 있는 사용자(트랜잭션)와 다른 사용자(트랜잭션)들 간의 접근을 제어하여 충돌을 방지한다. Lock의 종류Lock의 종류에는 크게 공유 락 (Shared Lock)과 베타 락 (Exclusive Lock)이 있으며, 공유 락은 다른 말로 Read Lock 이라고 불리며 베타 락은 Write Lock 이라고 불린다 - 공유 락 (Shared Lock)공유 락은 데이터를 변경하지 않는 읽기 명령에 대해 주어지는 락으로서 ..

카테고리 없음 2024.09.02

CI/CD? Jenkins?

본 포스팅은 CI/CD와 Jenkins에 대해서 다루기 위해 포스팅을 한다. CI/CD란?지속적 통합(Continuous Integration) 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어공유 레포지토리에 통합히는 것을 의미한다.  그렇다면 CI가 필요한 환경에는 어떤 조건들이 있을까?지속적으로 서비스해야 하는 어플리케이션이나 현재 개발 중인 어플리케이션은기능 추가 시마다 형상관리 도구에 의해 commit 등을 날려 Repository에 버전 업데이트를 하는데, 이 때다수의 개발자가 한 팀으로 작업할 경우, 이 공유 레포지토리에 수많은 commit들이 쌓이게 된다.그럴 때마다, 기능별로 빌드/테스트/병합까지 하려면 상당히 번거롭지 않겠는가?이런 상황에서, 자동화된 빌드&테스트는..

CS 2024.09.01

Jenkins ↔ GitHub Organization 셋팅 방법

1.Github setting1) Organization Github 계정에서 Setting 2)  Developer settings > GitHub Apps3) New GitHub App 4) GitHub App name & Homepage URL 작성GitHub App name : GitHub App의 이름Homepage URL : GitHub Organization계정의 주소 5) Webhook URL 작성"/github-webhook/"을 꼭 붙혀야하며, Webhook URL은 젠킨스 서버를 말한다. 6) Repository permissions를 위해 클릭 7) 아래 그림에 맞춰 설정[Webhooks는 Organization permissions에도 존재함]추가적으로 위내용에 대한 셋팅을 수정할..

카테고리 없음 2024.08.31

Git Hub Organization 계정 만들기

본 포스팅은 Git Hub Organization 계정을 만들기 위해서 작성한 포스팅이다. Git Hub Organization?GitHub에서 제공하는 서비스중 하나로 팀단위 개발시 원본 소스코드의 저장을 개인 Github가 아닌 팀단위 Gihub로 사용하기 위해 조직(공용) GitHub 계정을 가르킨다. Git Hub Organization을 만들면 어떻게 형상관리가 될까?Git Hub Organization로 팀단위 형상관리시 여러가지 방법의 소스코드 관리가 있겠지만, 필자는 아래 그림과 같은 형식의 형상관리 설계를 하여 진행 하였다.위 그림과 같이 Upstream이 Organization Repository가 되는것이고, Origin이 개인 Remote Git Repository가 되는것이며 마지..

CS 2024.08.30

형상 관리란?

형상관리란?위키피디아에선 형상 관리에 대해서 이와 같이 정의 하고 있다. 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간이라고 한다. 역시 딱딱한 글자로 봤을땐 와닿지가 않는다. 그럼 이런 형상관리라는게 무엇이며? 왜 생겨 난 것인가에 대해서 이야기를 다뤄볼려고한다. 형상관리가 없던 시절....형상 관리가 없던 시절의 우리 개발자들은 소스코드를 어떻게 관리를 했을까? 생각해보자.분명 코드를 수정하면 수정전의 코드는 따로 어딘가 백업을 하여 관리하였을 것이다. 이유는 수정후 코드가 어떻게 문제가 발생이 되어 수정전의 코드로 돌아갈수도 있기 때문이다. 그럼 어떤식으로 백업을 하였을까? 아..

CS 2024.08.29

Web Server? Web Application Server?

웹 서버(Web Server)- 정적인파일을 제공하기 위한 서버로, HTTP 프로토콜에 의해 제공하며 여담으로 일반적으로 과거 서버 PC에 파일 View목적으로 사용하였다고 한다. 웹 어플리케이션 서버(Web Application Server)- 동적인 데이터를 제공하기 위한 서버, 웹서버에서 처리할 수 없는 동적인 정보를 처리하여 웹서버에 정적인 정보를 제공한다.- 일반적으로 웹서버의 기능을 내제하고 있어 별도의 웹 서버 없이도 서비스가 가능하다.- WAS와 DB가 연결되어 WAS에서 처리에 필요한 데이터를 꺼내와 원하는 정보로 가공처리하여 동적으로 처리하여 정보를 제공한다. 추가적으로 WAS에서 처리 과정과 순서는 아래와 같다.①웹서버로 부터 요청이 들어오면 제일먼저 컨테이너가 이를 알맞게 처리한다...

카테고리 없음 2024.08.28

GC - Garbage Collection [가비지 콜렉션]

오늘은 자바의 특징중 하나인 GC(Garbage Collection) 즉, 가비지 콜렉션에 대해서 알아볼려한다. 우선 GC가 무엇인가 알아보자.1. GC란?JVM에 의해 구동되는 자바 프로그램은 메모리 관리를 개발자가 직접 명시적으로 수행하지 않고 자동 메모리 관리 기능을 지원한다. 가비지 컬렉션은 자바의 메모리 관리 방법 중의 하나로 자바 가상 머신의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스를 말한다. 2. GC가 등장하게 된 계기과거의 프로그래밍 언어들은 메모리 할당기능이 존재하지 않거나 프로그래머가 할당한 뒤 수동으로 해제까지 하는 방식으로 메모리를 관리하였다. 대표적인 예가 C와 C++이다. 두 언어에서는 OS 레벨의 메모리에 직..

Java 2024.07.05

다형성

오늘은 객체지향프로그램의 꽃인 다형성에 대해서 알아보자. 1. 다형성다형성이란 프로그램 언어 각 요소들(상수, 변수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다. [출처 : 위키피디아] 쉽게 말하면, 다형성이란 하나의 객체에 여러 가지 타입을 대입할 수 있다는 것을 의미한다. 반대로, 단형성은 하나의 객체에 하나의 타입만 대응할 수 있습니다. 다형성을 설명하기 전에 단형성을 사용한 코드를 보겠습니다. 예를 들어, 자동차의 부모클래스가 있고, 각각이 상속받는 BMW와 Hyndai 클래스있어 해당 클래스들의 info()메소드를 main메소드에서 호출한다고 하면, 아래와 같은 코드일것이다.public class Car { private int door; priv..

CS 2024.06.28

클래스 다이어그램

오늘은 객체지향 프로그래밍 코딩전에 반드시 거쳐야하는 클래스 다이어그램에 대해서 알아보려고한다. 통상적으로 개발자들이 무언가 목표로 하는것을 개발하자고 한다면, 하기전에 항상 해당 프로그램에 대해 어떻게 만들고 어떤식으로 개발을 해야할지에 대한 방향성과 그것에 맞는 설계도를 작성하게 되는데 그중 한가지가 클래스 다이어그램이다. 그럼 이 클래스 다이어그램은 어떻게 작성하고 어떻게 읽으며, 클래스 다이어그램이란 정확히 무엇인가? 지금부터 낱낱이 파헤쳐 보자. 1. 클래스 다이어그램? 소프트웨어에서 사용되는 표준화된 범용 모델링 언어인 UML중 구조다이어그램에 해당하며, UML은 소프트웨어 집약 시스템의 시각적 모델을 만들기 위한 도안 표기법을 포함한다. 또한 객체지향 프로그래밍 소프트웨어 집약 시스템을 개발..

CS 2024.06.28

객체 vs 클래스

오늘은 객체와 클래스에 대해 포스팅 하고자 한다. 위 내용에 대해서 이야기를 하기전에 객체가 무엇인지 클래스가 무엇인지에 대해 먼저 알아보자. 1. 객체 ?자신 고유의 속성을 가지는 물리적, 추상적인 모든 대상을 일컫는다. 사람과 동물, 물품, 어떤 논리나 사상, 개념, 철학 등과 같이 눈으로 볼 수 있는 것부터 볼 수 없는 것까지 객체의 범주에 포함될 수 있다.  즉, 객체는 우리가 보고 느끼며 인지할 수 있는 모든 것을 의미한다. 객체는 클래스에 의해 정의되고 설계된 내용을 기반으로 생성된다. 객체는 속성과 행위를 가진다. 즉, 클래스를 통해 만들어진 객체가 실제로 사용할 수 있는 주체가 된다. 객체의 속성은 필드, 행위는 메서드에 해당한다. 2. 클래스 ?클래스란 객체를 정의한 설계도 또는 틀이라 ..

CS 2024.06.21