Jinsu's Technical Blog
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (250)
      • Java (18)
      • Spring Framework (33)
        • Toby's Spring 3.1 (6)
        • Spring IoC (6)
        • TDD (6)
        • Reflection (6)
        • AOP (6)
      • Spring Boot (11)
      • Spring Security (22)
      • Database (17)
        • Mysql (2)
        • JDBC (2)
        • JPA (13)
      • Build and Development Tools (3)
        • Maven (1)
        • Gradle (1)
        • Lombok (1)
      • Network (12)
      • Apache Tomcat (11)
      • Microservices Architecture (33)
      • Linux (9)
      • React (10)
      • Docker (22)
      • OAuth (10)
      • DevOps (2)
      • Git (2)
      • HTML (1)
      • CSS (1)
      • JavaScript (1)
      • Problem and Solution Guide (8)
        • Java (1)
        • Spring Framework (4)
        • Reflection (1)
        • Dynamic Proxy (1)
        • JPA (1)
      • Note-Taking (23)
  • 홈
  • 태그
  • 방명록
Note-Taking

네트워크 개념 정리

네트워크 개념 정리1. 프로토콜 (Protocol)네트워크에서 데이터를 교환하기 위한 규칙과 표준을 정의한 것입니다. 다양한 프로토콜은 특정한 목적에 따라 설계되어 있으며, 주요 프로토콜은 다음과 같습니다:HTTP/HTTPS: 웹 상의 데이터 전송 프로토콜.FTP: 파일 전송을 위한 프로토콜.SMTP/IMAP/POP3: 이메일 전송 및 수신을 위한 프로토콜.TCP/IP: 인터넷에서 데이터를 전송하는 데 사용되는 기본 프로토콜 스택.UDP: 빠른 데이터 전송을 지원하는 프로토콜.DNS: 도메인 이름을 IP 주소로 변환.DHCP: 동적으로 IP 주소를 할당하는 프로토콜.2. 인터페이스와 포트 (Interface and Port)2.1 인터페이스 (Interface)네트워크 인터페이스는 컴퓨터가 네트워크에 연..

2024. 12. 4. 16:30
Note-Taking

IntelliJ 단축키 모음

1. 자주 사용되는 인텔리제이 단축키 모음(맥북, Mac OS)[ IntelliJ 단축키 모음 ]자동완성Command + Enter메서드 오버라이드Ctrl + O인터페이스 구현Ctrl + I커서가 가리키는 부분 리팩터링Ctrl + T커서가 가리키는 부분을 상수로 빼기Command + Option + C이름 일괄 변경(클래스, 변수, 기타 등등)Shift + F6변수 생성Command + Option + V줄 제거Command + X해당 코드를 사용중인 코드로 이동Command + B해당 코드의 타입 선언으로 이동Command + Shift + B구현 코드로 이동Command + Option + B코드 위 아래로 이동Command + Shift + 위/아래최근 탭으로 이동Command + E미리보기와 함께..

2024. 11. 15. 09:14
Note-Taking

React 정리

1. JSX (JavaScript XML)  • 개념: React에서 JavaScript와 HTML을 결합한 형태로, HTML 문법처럼 보이지만 실제로는 JavaScript 문법입니다. JavaScript 코드에서 HTML처럼 UI를 구성할 수 있게 합니다. • 사용 이유: JSX는 UI 구조를 정의할 때 직관적으로 작성할 수 있으며, JavaScript와 HTML을 자연스럽게 연결합니다. 코드 가독성이 높아지고 컴포넌트 기반 구조와도 잘 맞습니다. • 예시:const name = "React";const element = Hello, {name}!; // Hello, React! 2. 컴포넌트(Component)  • 개념: 컴포넌트는 재사용 가능한 UI 단위로, 애플리케이션의 뷰를 구성하는 핵심 요..

2024. 11. 13. 09:11
Note-Taking

Spring Data JPA 정리

목차1. Getting Started: Spring Data JPA 프로젝트를 설정하고 시작하는 기초적인 단계로, 의존성 추가와 기본 설정 등을 포함합니다.2. Core Concepts: JPA의 주요 개념인 엔티티, 영속성 컨텍스트, 트랜잭션 등 데이터 영속성과 관련된 핵심 개념을 다룹니다.3. Defining Repository Interfaces: 데이터베이스 작업을 위한 인터페이스인 JpaRepository나 CrudRepository 인터페이스를 정의하고 사용하는 방법을 다룹니다.4. Configuration: Spring Data JPA의 설정 방법을 설명하며, application.properties 파일을 통한 설정과 관련된 내용입니다.5. Persisting Entities: 엔티티를 데..

2024. 10. 28. 14:40
Note-Taking

Spring MVC 구성 요소와 설정 방법에 대한 정리

1. Enable MVC Configuration @EnableWebMvc 애노테이션은 Spring MVC 설정을 자동으로 활성화하는 역할을 해. 이 애노테이션을 클래스에 붙이면, Spring은 기본적인 MVC 설정을 제공해주고, 이 설정을 기반으로 추가적인 설정을 할 수 있게 돼. @EnableWebMvc는 WebMvcConfigurer를 사용하여 커스터마이징할 수 있는 기능을 제공해.@Configuration@EnableWebMvcpublic class WebConfig implements WebMvcConfigurer { // 커스터마이징할 설정 추가 가능} 2. MVC Config API Spring MVC에서 제공하는 다양한 설정들을 WebMvcConfigurer 인터페이스를 통해 커스터마..

2024. 10. 15. 16:23
Note-Taking

C언어, Java에서의 Server, Client 프로그래밍 정리

TCP Server Socket Programming C 언어로 작성된 TCP 서버 소켓 프로그래밍 예시입니다. 서버는 클라이언트 연결을 기다리고, 연결되면 데이터를 주고받습니다. 1. TCP 서버 코드:#include #include #include #include #pragma comment(lib, "ws2_32.lib") // Winsock 라이브러리를 연결하기 위한 pragma 지시문#define MAX_BUFFER_SIZE 1024 // 데이터를 송수신할 때 사용할 버퍼의 최대 크기를 1024 바이트로 설정int main() { WSADATA wsaData; // Winsock 초기화를 위한 구조체 SOCKET serverSocket, clientSocket; // 서..

2024. 9. 27. 09:41
Note-Taking

Spring Framework의 주요 메서드와 기능 정리

1. BeanFactory 및 ApplicationContext 메서드 이 두 인터페이스는 스프링의 IoC 컨테이너로, 빈(Bean)의 라이프사이클을 관리해.  • getBean(String name) : 이름으로 빈을 조회. • getBean(Class requiredType) : 타입으로 빈을 조회. • containsBean(String name) : 빈이 컨테이너에 존재하는지 확인. • getAliases(String name) : 특정 빈에 대한 별칭(alias)을 반환. 2. RestTemplate 메서드 RestTemplate은 Spring에서 HTTP 요청을 보내고 응답을 처리하는 데 사용돼.  • getForObject(String url, Class responseType) : HTTP..

2024. 9. 24. 23:30
Note-Taking

Java 메서드의 주요 개념과 정리

1. Object 클래스 메서드 모든 Java 클래스는 암묵적으로 Object 클래스를 상속하므로, Object 클래스의 메서드는 모든 Java 객체에서 사용할 수 있어.  • toString() : 객체의 문자열 표현을 반환. • equals(Object obj) : 두 객체가 같은지 비교. • hashCode() : 객체의 해시코드를 반환. • clone() : 객체의 얕은 복사본을 생성. • finalize() : 객체가 GC에 의해 제거되기 직전에 호출됨. 2. String 클래스 메서드 문자열 처리를 위해 사용되는 메서드들로, String 클래스는 불변 객체이므로 메서드들은 대부분 새로운 문자열을 반환해.  • length() : 문자열의 길이를 반환. • charAt(int index) : 특..

2024. 9. 24. 23:26
Note-Taking

JPQL과 QueryDSL 메서드 정리

자주 사용한 JPA와 QueryDSL 메서드들의 의미  1. em.createQuery(String query, Class resultClass) • 이 메서드는 **JPQL(JPA Query Language)**을 사용해 쿼리를 작성하고, 해당 쿼리로 지정한 엔티티 타입을 반환해. resultClass는 반환할 엔티티의 클래스 타입을 지정하는 것이야. • 예시: em.createQuery("SELECT m FROM Member m", Member.class)는 Member 엔티티를 조회하는 JPQL 쿼리를 실행하는 코드야. 2. setParameter(String name, Object value) • 파라미터 바인딩을 위해 사용돼. 쿼리에서 :name 형태로 정의된 파라미터에 값을 매핑해주는 역할을 ..

2024. 9. 24. 13:52
Note-Taking

JPQL 핵심 정리

JDBC 템플릿에서는 바인딩이 ?로 지정되지만, JPQL에서는 바인딩이 이름 기반이나 위치 기반으로 이루어져. 1. 이름 기반 바인딩 (Named Parameters): JPQL에서 가장 많이 사용하는 방식으로, 이름 기반 바인딩은 파라미터를 :와 함께 이름을 지정해 사용해. 이 방식은 가독성이 높고, 파라미터의 순서와 무관하게 이름으로 바인딩할 수 있어.  • 사용 예시:String jpql = "SELECT m FROM Member m WHERE m.name = :name";TypedQuery query = em.createQuery(jpql, Member.class);query.setParameter("name", "John");List result = query.getResultList();• 여..

2024. 9. 20. 11:10
Note-Taking

JPA 어노테이션의 핵심 정리

1. @Entity  • 설명: JPA에서 관리하는 엔티티 클래스임을 선언. 이 클래스는 데이터베이스의 테이블에 대응돼. • 사용 예시:@Entitypublic class Member { @Id private Long id; private String name;} 2. @Id  • 설명: 해당 필드를 **기본 키(Primary Key)**로 지정. • 사용 예시:@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id; 3. @GeneratedValue  • 설명: 기본 키 생성 전략을 지정. AUTO, IDENTITY, SEQUENCE, TABLE이 사용될 수 있어. • AUTO: JPA가 자동으로 선택 • IDENTI..

2024. 9. 20. 09:49
Note-Taking

체이닝 메서드와 빌더 패턴을 활용한 자바 객체 관리 정리

**체이닝 메서드(Method Chaining)**란, 객체의 메서드를 호출할 때 연속적으로 호출할 수 있는 프로그래밍 패턴을 의미해. 즉, 하나의 메서드가 객체를 반환하고, 그 반환된 객체에 다시 메서드를 호출하는 방식으로 메서드 호출을 연결(chain)하는 것처럼 작성하는 방법이야. 이 방식은 코드의 가독성과 간결성을 높여주며, 연속적인 작업을 한 줄로 처리할 수 있어. 일반적으로, 각 메서드는 자신을 호출한 객체를 반환(return this)하기 때문에, 연속적인 호출이 가능해져. 예시:public class Person { private String name; private int age; public Person setName(String name) { this.na..

2024. 9. 19. 10:34
Note-Taking

JPA 연관관계와 지연 로딩 정리

JPA에서 연관관계는 쉽게 말해 하나의 엔티티가 다른 엔티티와 어떻게 연결되어 있는지를 의미해. 객체 지향 프로그래밍에서는 클래스들 간에 서로 참조를 통해 관계를 맺고 데이터를 주고받을 수 있는데, 이런 관계를 데이터베이스에서는 **테이블 간의 외래 키(Foreign Key)**를 통해 표현해. 즉, 연관관계란 두 엔티티 간의 관계를 정의하고, 이를 데이터베이스 상에서 테이블 간의 연결로 표현하는 것을 말해. JPA를 사용하면, 이러한 관계를 객체 간의 참조처럼 쉽게 사용할 수 있게 만들어줘. 쉽게 정리하면:  • 연관관계 = 엔티티 간의 관계. • JPA에서는 객체 간의 관계(참조)를 데이터베이스의 외래 키로 관리해, 마치 객체 간의 연결을 처리하는 것처럼 데이터베이스 상에서도 쉽게 다룰 수 있어. 예..

2024. 9. 11. 17:23
Note-Taking

Java와 Spring에서의 CRUD, AOP, 트랜잭션 관리 및 네트워크 통신 개념 정리

CRUD는 Create(생성), Read(읽기), Update(수정), **Delete(삭제)**의 약자로, 데이터베이스나 유사한 시스템에서 데이터를 관리하는 네 가지 기본 기능을 나타냅니다. CRUD는 일반적으로 데이터베이스와 상호작용하는 애플리케이션에서 사용되며, 다음과 같은 작업을 수행할 수 있게 합니다.  1. Create(생성): 새로운 데이터를 데이터베이스에 삽입합니다. 2. Read(읽기): 기존 데이터를 데이터베이스에서 조회하거나 접근합니다. 3. Update(수정): 이미 존재하는 데이터를 수정하거나 변경합니다. 4. Delete(삭제): 데이터를 데이터베이스에서 삭제합니다. 이러한 CRUD 작업은 웹 개발에서 매우 중요한 기능입니다. AOP Alliance는 **Aspect-Orient..

2024. 9. 5. 11:28
Note-Taking

Annotation 기반의 Container Configuration 개념 정리

Annotation 기반의 Container Configuration은 Spring 프레임워크에서 매우 중요한 개념으로, 전통적인 XML 기반 설정 대신에 자바 어노테이션을 사용하여 Spring 컨테이너를 구성하는 방법입니다. 이 접근 방식은 코드 내에 직접 설정 정보를 포함시키기 때문에 가독성과 유지보수성이 높아지는 장점이 있습니다. 1. Annotation 기반의 Container Configuration 개념 Spring에서 Annotation 기반의 Container Configuration은 주로 @Configuration과 @Bean 어노테이션을 사용하여 구현됩니다. 이 방식에서는 Spring IoC(역제어) 컨테이너가 빈(bean)을 구성하고 관리하는 데 필요한 메타데이터를 어노테이션을 통해..

2024. 9. 3. 22:51
  • «
  • 1
  • 2
  • »

공지사항

  • Jinsu's GitHub

전체 카테고리

  • 분류 전체보기 (250)
    • Java (18)
    • Spring Framework (33)
      • Toby's Spring 3.1 (6)
      • Spring IoC (6)
      • TDD (6)
      • Reflection (6)
      • AOP (6)
    • Spring Boot (11)
    • Spring Security (22)
    • Database (17)
      • Mysql (2)
      • JDBC (2)
      • JPA (13)
    • Build and Development Tools (3)
      • Maven (1)
      • Gradle (1)
      • Lombok (1)
    • Network (12)
    • Apache Tomcat (11)
    • Microservices Architecture (33)
    • Linux (9)
    • React (10)
    • Docker (22)
    • OAuth (10)
    • DevOps (2)
    • Git (2)
    • HTML (1)
    • CSS (1)
    • JavaScript (1)
    • Problem and Solution Guide (8)
      • Java (1)
      • Spring Framework (4)
      • Reflection (1)
      • Dynamic Proxy (1)
      • JPA (1)
    • Note-Taking (23)

블로그 인기글

전체 방문자

오늘
어제
전체
Powered by Privatenote Copyright © Jinsu's Technical Blog All rights reserved. TistoryWhaleSkin3.4

티스토리툴바