✅ [git] user.name과 user.gmail 설정하기전체 저장소의 user name과 user email 설정하기$ git config --global user.name "My Name"$ git config --global user.gmail "abc@gmail.com"특정 저장소(프로젝트)에 user name과 user email 설정하기- 특정 저장소(프로젝트의 디렉토리)에 가서 아래의 커맨드 입력$ git config user.name "My Name"$ git config user.gmail "abc@gmail.com"설정된 user.name과 user.email 확인하기$ git config user.name$ git config user.gmail
✅ 디자인 패턴이란?디자인 패턴은 소프트웨어 설계에서 자주 발생하는 문제들을 해결하기 위해 개발된, 검증된 재사용 가능한 설계 구조입니다.디자인 패턴은 객체 지향 설계 원칙 SOLID을 기반으로 하며, 소프트웨어의 유지보수성과 확장성을 높이는 데 도움이 됩니다. 각 디자인 패턴은 특정 상황에서 어떻게 클래스를 구성하고 상호작용해야 하는지에 대한 명확한 방법을 제시합니다.디자인 패턴은 크게 생성, 구조, 행위로 분류됩니다.1. 생성 패턴 (Creational Patterns)생성 패턴은 객체 생성 메커니즘에 중점을 두어, 객체 생성 과정에서의 복잡성을 숨기고, 유연성을 제공하는 패턴입니다. 객체를 어떻게 생성하고 관리할 것인가에 대한 방법을 다룹니다.싱글턴 패턴 (Singleton Pattern): 클래스..
✅ 객체 지향 설계 원칙 SOLID객체지향 설계 5대 원칙(SOLID)들은 코드의 유지보수성, 확장성, 재사용성을 높이고 결합도는 낮추며 응집도는 높이는 것을 목표로 합니다. 이를 통해 변경에 유연하고 견고한 애플리케이션을 만들수 있습니다.1. 단위 책임 원칙 - SRP (Single Responsibility Principle) 하나의 클래스는 하나의 책임만 가져야 한다.클래스는 하나의 기능 또는 역할을 가져야 하며, 그 외의 다른 책임을 맡지 않아야 한다는 원칙입니다. 이 원칙을 따름으로써 클래스가 명확한 목적을 가지게 되고, 변화가 필요한 부분이 생기면 한 곳만 수정할 수 있어 유지보수가 쉬워집니다.사용자의 로그인과 데이터베이스의 처리를 동시에 담당하는 클래스 대신, 각각의 역할을 담당하는 logi..
✅ Java 8~21 버전별 차이점https://www.java.com/releases/ JDK ReleasesThe release information on this page covers the JDK releases that were widely distributed or significant to the development of Java. It does not cover patch releases or other one-off releases.www.java.com Java 8 (2014년 출시)Java 8은 Java 언어에 큰 변화를 가져온 버전으로, 이후의 많은 기능들이 Java 8의 기능에 기반하고 있습니다.32비트를 지원하는 공식적인 마지막 버전람다 표현식 (Lambda Expression..
✅ JAVA (JVM, JRE, JDK과 버전 명명법)1. JVM (Java Virtual Machine)정의: JVM은 Java Virtual Machine으로, Java 애플리케이션을 실행하는 가상 머신입니다. Java는 플랫폼 독립적인 언어로 설계되었기 때문에, JVM은 운영체제에 따라 Java 애플리케이션을 실행할 수 있도록 도와줍니다.역할: 컴파일된 바이트코드(.class 파일)를 읽고, 이를 각 운영체제에 맞게 실행하는 역할을 합니다.특징:운영체제와 상관없이 Java 애플리케이션이 실행될 수 있게 함.메모리 관리 및 가비지 컬렉션(Garbage Collection)을 수행.바이트코드를 해석하여 네이티브 코드로 변환.플랫폼 독립성: 한 번 작성된 Java 코드가 여러 운영체제에서 실행될 수 있는..
✅ 소프트웨어 아키텍처란?- 소프트웨어의 전체적인 구조를 잡아주는 역할을하는 설계도이다.- 좋은 아키텍처는 일관된 코드 구조로 흐름을 쉽게 유추할수 있습니다.✅ 아키텍처의 장/단점장점은?유지보수성: 코드가 일관되게 구성되어 있어 수정 및 유지보수가 쉽습니다.확장성: 새로운 기능을 추가할 때 기존 시스템에 큰 영향을 주지 않고도 손쉽게 확장할 수 있습니다.가독성: 명확한 구조 덕분에 새로운 팀원들이 코드를 쉽게 이해하고, 전체적인 흐름을 빠르게 파악할 수 있습니다.재사용성: 코드나 모듈을 여러 곳에서 재사용할 수 있어 개발 효율성을 높입니다.따라서 좋은 아키텍처는 코드 품질을 높이고, 개발 속도를 높이며, 나아가 시스템의 안정성을 높이는 중요한 역할을 합니다.단점은?복잡성 증가: 아키텍처를 설계하는 과정에..
✅ 리눅스 htop 시스템 모니터링top 으로 리소스 사용량 모니터링 체크를 할수도있지만 자세히 보고 싶을경우 htop을 이용하자 시각적으로도 좋다설치# ubuntusudo apt-get install htop# macbookbrew install htop 특징htop 화면을 살펴보면 왼쪽 상단에 CPU, swap메모리,메모리 사용률이 표현되어 있으며, 하단에는 모니터링되고 있는 프로세스가 보이며 1초에 한 번씩 갱신됩니다선택된 프로세스를 죽이거나, 우선순위를 변경할 수 있습니다.특정 프로세스 이름으로 검색, 필터링하여 현황을 볼 수 있습니다.pstree와 top을 함께 보는 기능이 있습니다.cpu의 코어 갯수를 확인해서 각 프로세스의 정보를 top보다 더 디테일하게 모니터링이 가능합니다. 시스템 전체 ..
✅ 리눅스 netstat 열린 포트 확인(LISTEN)서버의 열린 포트를 확인 할때 자주 사용하는 명령어옵션-n : 호스트명, 포트명을 lookup하지 않고 그대로 IP, Port번호로 보여준다.-a : 모든 네트웍 상태를 보여준다.-l : LINTEN 상태인 서비스 포트를 보여준다.-t : TCP 프로토콜만 보여준다.-u : UDP 프로토콜만 보여준다.-p : 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여준다.-r : 라우팅 테이블 출력-s : 프로토콜별(IP, ICMP, TCP, UDP 등)로 통계를 보여준다-c : 1초 단위로 결과값을 연속적으로 보여준다.netstat -antp