분류 전체보기

🗂️ 개인프로젝트/헬린이

[개인프로젝트/헬린이] 0. 프로젝트 개요

프로젝트명:운동 좋아하는 사람 모여라 개발 환경:IntelliJ, Gradle, Java, Spring Boot, 스프링 데이터 JPA, MySQL, Redis, Docker, Git/GitHub, AWS

🖥️ 백엔드/DB

[DB] 어바웃 인덱스

개요인덱스는 MySQL과 같은 데이터베이스 시스템에서 데이터 검색 속도를 향상시키기 위한 데이터 구조인덱스는 특정 열 또는 열들의 조합에 대해 생성되며, 데이터베이스 테이블의 데이터를 보다 효율적으로 검색할 수 있도록 돕는다.인덱스는 책의 색인처럼 동작하여, 필요한 정보를 빠르게 찾을 수 있도록 도와준다. 인덱스의 동작 원리B-Tree 구조MySQL의 일반적인 인덱스는 B-Tree 구조를 사용한다.B-Tree는 균형 이진 탐색 트리로 데이터가 정렬된 상태로 저장되어 빠른 검색이 가능하며 검색 시 트리의 루트부터 시작하여 자식 노드로 내려가며 키 값을 비교하여 원하는 데이터를 찾는다.해시 인덱스특정 상황에서는 해시 인덱스도 사용될 수 있다.해시 인덱스는 해시 함수를 이용해 인덱스를 구성하며, 특정 키 값에..

🤝 면접준비

배민 + 스타트업 기술 면접 공개

[Java] equals()와 hashCode()개요Java에서 equals()와 hashCode() 메서드는 객체의 비교와 해시 기반 컬렉션을 다룰 때 중요한 역할을 한다.이 두 메서드는 Object 클래스에 정의되어 있으며, 이를 적절히 재정의함으로써 객체의 동progfrog.tistory.com  [스프링] HttpSession에서 동일한 key로 getAttribute()를 호출하더라도 클라이언트별로 구분할 수 있는개요스프링의 HttpSession에서 동일한 key로 getAttribute()를 호출하더라도, 클라이언트 별로 구분할 수 있는 이유는 각 클라이언트마다 고유한 세션이 있기 때문이다. 이 고유한 세션은 클라이언트와progfrog.tistory.com  [기타] 쉘 스크립트에서 사용되는 ..

🖥️ 백엔드/기타

[백엔드/기타] 쉘 스크립트에서 사용되는 return이 일반 프로그래밍 언어와 다른점

반환 값의 의미일반 프로그래밍 언어return은 함수나 메서드에서 값을 반환하는 데 사용이 값을 함수 호출자에게 전달됨예를 들어, return 42는 42라는 값을 반환하는 것쉘 스크립트return은 함수의 종료 상태를 나타내는 데 사용됨반환 값은 보통 0 ~ 255 사이의 정수이며, 이는 함수의 성공 또는 실패를 나타내는 상태 코드로 사용됨예를 들어, return 1은 함수가 오류 상태로 종료되었음을 나타냄사용 위치와 문법일반 프로그래밍 언어함수나 메서드 내에서 return 문을 사용하여 값을 반환예를 들어, Python에서는 def my_function(): return 42와 같이 사용함쉘 스크립트쉘 스크립트에서 return 문은 함수 내에서만 사용됨스크립트의 메인 부분에서 값을 반환하려면 exit..

🖥️ 백엔드/스프링

[스프링] HttpSession에서 동일한 key로 getAttribute()를 호출하더라도 클라이언트별로 구분할 수 있는 이유

개요스프링의 HttpSession에서 동일한 key로 getAttribute()를 호출하더라도, 클라이언트 별로 구분할 수 있는 이유는 각 클라이언트마다 고유한 세션이 있기 때문이다. 이 고유한 세션은 클라이언트와 서버 간의 일대일 연결을 유지하고, 각 클라이언트의 상태를 서버 측에서 유지 관리할 수 있도록 해준다. 세션의 기본 원리세션 생성: 클라이언트가 서버에 처음으로 요청을 보낼 때, 서버는 새로운 세션을 생성한다. 이 세션은 보통 서버 측에서 HttpSession 객체로 관리된다.세션 ID 부여: 세션이 생성될 때, 서버는 고유한 세션 ID를 생성하고, 이를 클라이언트에게 전달한다. 이 세션 ID는 보통 쿠키에 저장되며 JSESSIONID라는 이름으로 전송된다.세션 유지: 클라이언트는 이후의 모든..

💻 프로그래밍 언어/Java

[Java] equals()와 hashCode()

개요Java에서 equals()와 hashCode() 메서드는 객체의 비교와 해시 기반 컬렉션을 다룰 때 중요한 역할을 한다.이 두 메서드는 Object 클래스에 정의되어 있으며, 이를 적절히 재정의함으로써 객체의 동등성을 정의할 수 있다. equals() 메서드equals() 메서드는 두 객체가 "논리적으로 동등한지"를 비교한다.기본적으로 Object 클래스의 equals() 메서드는 다음과 같이 구현되어 있다.public boolean equals(Object obj) { return (this == obj);}이는 기본적으로 두 객체의 레퍼런스를 비교한다. 만약 객체의 내용을 비교하고 싶다면 equals() 메서드를 재정의해야한다. hashCode() 메서드hashCode() 메서드는 객체의 ..

🍿 강의수강/스프링MVC2편 🔒

[스프링MVC2편] 섹션 7. 로그인 처리 2 - 필터, 인터셉터

1. 서블릿 필터 - 소개등록, 수정, 삭제, 조회 등 모든 컨트롤러 로직에서 공통으로 로그인 여부를 확인해야 한다.이렇게 애플리케이션 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사(cross-curring concern)라고 한다.등록, 수정, 삭제, 조회 등 여러 로직에서 공통으로 '인증'에 대해서 관심을 가지고 있다.공통 관심사는 스프링의 AOP로도 해결할 수 있지만, 웹과 관련된 공통 관심사는 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다. 웹과 관련된 공통 관심사를 처리할 때는 HTTP의 헤더나 URL의 정보들이 필요한데, 서블릿 필터나 스프링 인터셉터는 HttpServletRequest를 제공한다.필터는 서블릿이 지원하는 수문장이다! 필터 흐름필터를 적용하면 필터가 호출된 다음..

🍿 강의수강/스프링MVC2편 🔒

[스프링MVC2편] 섹션6. 로그인 처리 1 - 쿠키, 세션

1. 패키지 구조 설계hello.logindominitemmemberloginwebitemmemberlogin도메인이 가장 중요하다!도메인: 화면, UI, 인프라 등 영역은 제외한 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말함향후 web을 다른 기술로 바꾸어도, 도메인은 그대로 유지할 수 있어야 한다.이렇게 하려면, web은 domain을 알고 있지만 domain은 web을 모르도록 설계해야 한다.web은 domain에 의존하지만, domain은 web을 의존하지 않는다.즉, web 패키지를 모두 삭제해도 domain에는 전혀 영향이 없도록 의존관계를 설계하는 것이 중요하다. 아키텍처와 의존성1. 아키텍처(architecture)란?소프트웨어 시스템의 아키텍처란, 시스템을 구축했던 사람들이 만들..

🛠️ 개발유용

[IntelliJ] 상수 추출하기

상수 추출하기Command + Option + C

케로⸝⸝◜࿀◝ ⸝⸝
'분류 전체보기' 카테고리의 글 목록 (11 Page)