전체 글

하루 한권 책으로 떠나는 개발여행
선형알고리즘과 이진 검색 알고리즘 들어가며 데이터를 조회할때 검색 알고리즘을 사용하곤 합니다. 그래서 이번 포스팅에서는 가장 검색의 기본적인 알고리즘인 선형 검색과 이진검색 알고리즘에 대해서 알아보도록 하겠습니다. 선형 검색 선형검색이란? 리스트나 배열에서 순차적으로 배열 요소를 검사해 나가며 원하는 값을 찾는 방법입니다. 즉 배열[0]부터 배열[N]까지의 요소 중 원하는 KEY값을 찾는다고 할 수 있습니다. 예를 들어 {1,2,3,7,9} 값이 들어있는 배열을 생각해 봅시다. 만약 "7"이라는 값을 찾으려면 다음과 같이 arr [0]부터 arr [3]까지 찾게 됩니다. 만약에 "10"이라는 값을 찾는다고 가정하면 다음과 같이 arr[0]~arr[4]까지 모든 배열을 검색하고 난 뒤에 종료를 하게 됩니다..
JWT토큰을 사용하게 된 이유를 간단하게 알아보자 들어가며 JWT(JSON Web Token) 토큰은 현대 웹개발에 많은 부분을 차지하고 있습니다. 이번 포스팅에서는 JSON 토큰이 왜 등장하게 되었는지 간단하게 알아보도록 하겠습니다. OSI 7 계층 OSI(Open Systems Interconnection) 모델은 데이터 통신의 프로세스를 이해하고 설명하는 데 사용되는 개념적인 모델입니다. 이 모델은 7개의 계층으로 구성되어 있으며, 각 계층은 특정한 역할을 담당합니다. 물리계층 : 실제 데이터가 전송되는데 필요한 하드웨어계층(bit 단위로 처리되며 0,1로 이진수 형태로 전송) 랜선, 리피터, 허브등과 같은 장비를 가지고 있다. 데이터 링크 계층 : 물리적인 데이터를 전송하기 위한 프레임 구조 및 ..
· Devops
커밋, 푸쉬를 취소및 ADD 언스테이징을 해보자 들어가며 프로젝트 도중 민감한 정보가 올라간지 모르고 커밋을 하고 푸쉬를 하고 나서 롤백하려고 많은 삽질을 한 후에 해결방법을 작성했습니다. add 언스테이징하기 위와 같이 현재 add.txt 파일이 스태이징 된 상태입니다. 언스테이징을하기 위해서는 다음과 같은 명령어를 통해서 언스태이징이 가능합니다. git rest 명령어를 실행 시 빨간색으로 변하며 언스트이지 상태로 변하는 것을 볼 수 있습니다. Commit 취소하기 //commit을 취소하고 stage 상태 $ git reset --soft HEAD^ //commit을 취소하고 unstaged 상태 -Default $ git reset --mixed HEAD^ == git reset HEAD^ // ..
· Spring
Dispatcher Servlet과 MVC 패턴에 대해서 알아보자 들어가며 스프링 프레임워크를 이용하여 웹 개발을 시작하려면 Dispatcher Servlet과 MVC 패턴에 대한 기본적인 이해가 필요합니다. 먼저, Servlet이란 무엇인지, 어떻게 동작하는지에 대해 알아보겠습니다. 그리고 MVC 패턴은 어떻게 구성되어 있으며 왜 사용되며, 실제로 어떻게 동작하는지를 자세히 살펴보겠습니다. 이러한 기본적인 이해는 원활한 스프링 기반 웹 개발을 위한 필수적인 요소이기 때문에 이번 시간에 알아보도록 하겠습니다. Servlet이란? 서블릿은 자바의 웹 프로그래밍 기술 중 하나로, 동적인 웹 페이지를 생성하고 처리하는 역할을 합니다. 웹 페이지에서는 클라이언트와 서버 간의 통신은 웹 어플리케이션을 통해 이루어..
· Devops
Git Bash CLI의 명령어 정리 CLI 시작전 리눅스 기본 명령어 pwd : 현재 디렉터리 위치를 파악한다. ls -a : 현재 폴더의 몰록을 확인 (-a 옵션을 통해 숨겨진 파일 목록 검색) cd : 홈 디렉터리로 이동 cd [디렉토리명] : 해당 디렉터리로 이동 cd ../ : 상위 디레턱티로 이동 mkdir [새 폴더 이름] : 새롭게 생성할 폴더명 echo "message" : " "안 메세지를 출력한다. 로컬 상태 확인하기 git status : Git의 워킹트리의 상태를 확인하는 명령어 git status -s : git stauts보다 짧게 요약해서 정보를 보여줌 git main -b main : 기본 브랜치를 main으로 지정하고 현재 폴더에 git 저장소를 생성한다.(.git 폴더생..
스프링 컨테이너와 싱글톤 컨테이너에 대해서 알아보자 들어가며 이 블로그 포스트에서는 스프링 프레임워크에서 핵심적인 역할을 하는 "스프링 컨테이너"와 그 중요한 개념인 "싱글톤 컨테이너"에 대해 알아보겠습니다. 스프링의 핵심인 이 두 가지 개념을 이해하고 활용함으로써 좀 더 효율적이고 안정적인 애플리케이션을 개발할 수 있습니다. 스프링 컨테이너란? 스프링 컨테이너(Spring Container)는 애플리케이션의 구성을 담고 있는 환경으로, 빈(Bean)을 생성하고 관리해 주는 역할을 합니다. 런타임 시에 값을 주입해 주기 위해서는 스프링이 컨테이너에 필요한 정보를 저장해 두고, 필요한 시점에 값을 주입합니다. 일반적으로 @Configuration 어노테이션이 붙은 설정 파일을 통해 스프링 컨테이너에 값을 ..
Spring에서 객체지향 원리를 이해하 보자 들어가며 스프링은 자바 기반의 프레임워크로, 자바는 객체지향적인 프로그래밍을 중요시합니다. 이에 따라 스프링을 사용하면 객체지향적인 개발을 할 수 있습니다. 스프링이 객체지향적인 개발을 지원하는 방법을 이해하는 것은 매우 중요합니다. 따라서 이번 시간에는 스프링이 추구하는 객체지향적인 원리를 이해하는 시간을 갖도록 하겠습니다. 객체지향이란 무엇인가? 객체지향 프로그래밍은 절차지향적인 방법과는 달리 하나의 모델을 가지고 그 모델과 관련된 기능을 세분화하여 객체처럼 사용할 수 있게 하는 프로그래밍 방식입니다. 그림으로 간단하게 설명하겠습니다. Car car =new Car()라는 생성자를 통해 자동차 모델을 만듭니다. car.Go(); car.Back(); 과 같..
· Devops
Credentials을 통해 민감한 정보를 보호해 보자! 들어가며 Jenkins를 통해 CI/CD를 구축하려면 소스 코드를 가져와 빌드해야 합니다. 그러나 이 과정에서 YAML이나 Properties와 같은 파일에는 민감한 정보가 포함될 수 있습니다. 이 정보가 노출되면 악의적인 공격에 이용될 수 있습니다. 이러한 보안 문제를 해결하기 위해 Credentials을 활용하여 민감한 정보를 안전하게 다루는 방법을 알아보겠습니다. 사용 방법 종류 1). String Parameter 2). Secret File(Pipeline으로 생성 시에) 이 두 가지 방법의 대해서 설명해 보도록 하겠습니다. String Parameter String Parameter는 Jenkins에서 빌드 파라미터로 사용되어 사용자가 ..
코드기록사
A steady developer