목록기타 (68)
코딩항해기

예전에 신청했던 커밋 캘린더가 왔다. 뭔가 동기부여가 되는 느낌! 한 해 동안 할 일도 추천해줘서 2025년 길잡이가 되어 줄 것 같다. 국비 끝나고도 화이팅 :>
DNS의 개념DNS는 Domain Name System의 약자로, 인터넷의 전화번호부와 같은 역할을 한다. 우리가 웹 브라우저에 www.google.com과 같은 도메인 이름을 입력하면, DNS는 이를 컴퓨터가 이해할 수 있는 IP 주소(예: 172.217.161.36)로 변환해준다. 이는 마치 전화번호부에서 이름을 찾아 전화번호를 알아내는 것과 유사하다. DNS의 구조DNS는 계층적인 구조를 가지고 있다. 최상위에는 루트 도메인(.)이 있고, 그 아래에 .com, .net, .org와 같은 최상위 도메인(TLD), 그리고 그 아래에 google.com, naver.com과 같은 도메인이 존재한다. DNS 동작 과정웹 브라우저에 도메인 주소를 입력하면 다음과 같은 과정으로 IP 주소를 찾는다.브라우저는..

Lombok프로젝트 롬복은 표준판 코드를 최소화하거나 제거하는데 사용되는 자바 라이브러리이다. 개발 시간과 노력을 절약해주며, 어노테이션을 사용해 코드 가독성을 증가시켜준다. (기계적 코드 작성을 자동화 시켜주는 라이브러리) 필요성로그 프레임워크 (logback 등)을 사용할 때 상단에 객체를 선언하고 사용해야하는 번거로움이 있었다. 이때 롬복을 사용하면 선언을 생략할 수 있다.그 외에도 VO,DTO와 같은 클래스의 필드변수가 변경되었을 때 getter, setter, toString을 다시 만들어야하는 번거로움을 해소시켜주는 장점이 있다. 또한 getter setter 오탈자나, toString 일부 누락과 같은 휴먼에러를 줄여주는 역할을 수행한다. (가독성 증가) 환경세팅이클립스에서는 설치가 필요하며..
시간복잡도알고리즘의 시간복잡도는 알고리즘을 실행하는데 걸리는 시간을 입력 크기에 따라 표현한 것이다. 입력값이 적을 때는 깊게 고려하지 않지만 실제 개발에서는 방대한 양의 데이터를 다루므로 연산 처리 시간을 최소화하는 방법에 대한 고민이 필수다. 효율적인 방법을 고민한다는 것은 시간복잡도를 고민한다는 말과 같다.(입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마나 소요되는지)시간 복잡도는 주로 빅-오 표기법을 사용해 나타낸다. Big-O 표기법Big-O(빅-오) ⇒ 상한 점근Big-Ω(빅-오메가) ⇒ 하한 점근Big-θ(빅-세타) ⇒ 그 둘의 평균위 세 가지 표기법은 시간 복잡도를 각각 최악, 최선, 중간(평균)의 경우에 대하여 나타내는 방법이다.빅-오 표기법은 최악의 경우를 고려..

팀 프로젝트 한 내용을 Docker로 배포 시도한다는 팀원이 있어 관련된 지식을 미리 확보해두기 위해 Docker를 찾아보게 되었다. 생각보다 간단한 내용은 아니어서 기초 내용만 확보해두고 발표가 완료된 뒤 추가 지식을 보완하기로 해 기초 지식 부분만 정리했다. DockerGo언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. libcontainer 컨테이너를 사용한다.Docker를 사용하면 개발환경에 구애받지 않고 내가 사용하던 개발환경을 손쉽게 구축할 수 있다. 또한 일반적인 Hypervisor 가상화 방식과는 다르게 경량 가상화로 실행이 빨라 한 개의 서버만 있으면 여러 가지 서비스 실행이 가능해 서버 확장을 필요로 하지 않는 장점이 있다. 배포도 쉽고 수정도 쉽다. 리눅스가장 ..

https://www.tistory.com/event/write-challenge-2024 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com

인텔리제이의 로컬 서버는 target 폴더를 통해 빌드한 소스로 보여주기 때문에 정적리소스가 추가되면 서버를 재시작하지 않는 이상 반영되지 않는다. 이 문제를 로컬 서버 설정 수정을 통해 해결할 수 있다. 서버 war 수정에 들어가면 directory가 있다. target 폴더로 지정되어있는 것을 확인할 수 있다. 이 부분을 webapp으로 변경하기만 하면 된다.

디자인 패턴 Design Pattern개발하면서 발생하는 반복적인 문제를 해결하기 위해 재사용이 가능한 설계 템플릿이다. 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 모범 사례집이라고 볼 수 있다. 디자인 패턴 장점재사용성이 높고, 일정한 구조로 정리되고 명확하게 되어 있어 가독성이 좋다. 또한 코드를 모듈화해 관리할 수 있어 유지보수성이 높다. 새로운 기능을 추가하거나 변경하는 것도 용이하며, 검증된 솔루션이므로 안정성이 높다.(재사용성, 가독성, 유지보수성, 확장성, 안정성과 신뢰성) 생성 패턴 Creational PatternSingleton(싱글톤 패턴) : 하나의 클래스 인스턴스를 전역에서 접근 가능하게 하면서 해당 인스턴스가 한 번만 생성되..

PCCE를 볼 기회가 생겨서 연습 삼아 진행했는데 import나 메서드를 전부 직접 타이핑 해야하다보니 시간이 부족했다. 못 풀 문제가 아니었는데도 시간이 부족해서 뒷 부분 문제는 시도조차 못한 부분이 많이 아쉬웠다. 특히 자동 import에 익숙해서 기억하지 못하는 부분이 더 아쉬웠다.PCCE를 준비해서 응시할 때는 해당 부분을 보완해야겠다.

이클립스에서 기본 코드 태그인 TODO FIXME XXX외에도 사용하고 싶은 코드 태그를 추가하고 싶을 때는 Window - Preferences - Java - Task Tags에서 추가할 수 있다. 이클립스 또한 기본 태그 외에 커스텀 태그는 이클립스 설정이기 때문에 해당 태그 설정이 없는 사람이 본다면 일반 주석으로 보이게 된다. 선택한 코드를 Remove 해서 삭제할 수도 있으며 New를 눌러 추가할 수도 있다. Tag에는 사용할 코드 태그 명을 입력하면 되고 Priority는 어느 중요도를 갖느냐는 이야기이다.High로 갈 수록 눈에 잘 띄는 구조로 되어있고 OK를 누른 뒤 Apply를 누르면 추가된다. 사용해보면 코드 태그 색상이 변경되어 보이게 된다.코드 태그들은 Show View -..