일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Interceptor
- OOP
- html
- 코딩테스트
- css
- 프로그래머스
- nestjs
- Deep Dive
- typescript
- 탐욕법
- java
- 자료구조
- 인접행렬
- javascript
- LifeCycle
- Linux
- node.js
- GraphQL
- puppeteer
- dfs
- MySQL
- winston
- 알고리즘
- Spring
- bean
- TIL
- JWT
- REST API
- Kubernetes
- 인접리스트
- Today
- Total
목록분류 전체보기 (241)
처음부터 차근차근
문제 링크 https://leetcode.com/problems/binary-search/description/ 문제 설명 Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. Example 1: Input: nums = [-1,0,3,5,9,12], target = 9 Output: 4 Explana..

이번 시간에는 정렬방법 중 가장 구현하기 쉬운 방법인 버블 정렬, 선택 정렬, 삽입 정렬을 알아보겠습니다. BubbleSort 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환합니다. 버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네번째를, ... 이런 식으로 (마지막 - 1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬합니다. 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두번째 자료까지는 정렬에서 제외됩니다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하..

제어자(modifier)란? 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여합니다. 제어자는 클래스나 멤버 변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능합니다. 접근 제어자 : public, protected, (default), private 그 외 : static, final, abstract, native, transient, synchronized, volatile, strictfp 접근 제어자 access modifier 멤버 또는 클래스, 메서드에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 합니다. 접근 제어자 종류 private : 같은 클래스 내에서만 접근이 가능하다. (모든 ..
Package란? Package란 클래스의 묶음입니다. Package에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있습니다. 즉, 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리 입니다. Package 사용 먼저 IntelliJ를 통해 패키지를 먼저 만들고 그 안에 클래스를 만들어야 합니다. package pack; public class Data { public Data() { System.out.println("패키지 pack Data 생성"); } } 패키지를 사용하는 경우 항상 코드 첫줄에 package pack과 같이 패키지 이름을 적어줘야 합니다. 이후에..

Java에서 객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자(Constructor)를 이용하면 됩니다. 생성자란? 생성자(Constructor)는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 하는 작업을 위해서도 사용된다. 생성자를 알아보기 전에 먼저 생성자가 왜 필요한지 코드로 알아보겠습니다. 생성자가 필요한 이유 간단한 MemberInit Class를 만들고, MemberInit 객체를 사용하는 코드를 작성해보겠습니다. public class MemberInit { String name; int age; int grade; } public class MethodInitMain1 { public..

Java는 Class 기반 객체 지향 프로그래밍입니다. 하지만 지금까지 작성했던 코드들은 모두 절차 지향 프로그래밍이였습니다. 두 개의 차이점과 어떻게 하면 객체 지향 프로그래밍으로 작성하는지 알아보겠습니다. 절차 지향 vs 객체 지향 절차 지향 프로그래밍 절차를 지향합니다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식입니다. 프로그램의 흐림이 순차적으로 따르며 처리하는 방식입니다. 즉, "어떻게"를 중심으로 프로그래밍 합니다. 객체 지향 프로그래밍 이름 그대로 객체를 지향합니다. 쉽게 이야기해서 객체를 중요하게 생각하는 방식입니다. 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍 하는 방식입니다. 즉, "무엇을" 중심으로 프로그래밍 합니다. 차이점 절..

이번 시간은 AOP에 대해서 간단하게 알아보고, Spring을 통해 적용해보겠습니다. Nest에서 비슷한 것은 Interceptor, Guard가 있을것 같슴니다. AOP AOP : Aspect Oriented Programming 공통 관심 사항(crosscutting concern)과 핵심 관심 사항(core concern)을 분리하기 위함 Ex : Logger, 모든 메서드의 실행 시간을 측정하고 싶을 때 시간 측정 AOP 등록 package hello.hellospring.aop; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation..

이번 포스팅은 Spring에서 DB에 연결하는 방법들을 알아보겠습니다. Spring Boot 버전 3.2 순수 Jdbc 환경 설정 먼저 build.gradle 파일에 jdbc.h2 데이터베이스 관련 라이브러리를 추가해줍니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' testImplementation '..

이번 포스팅은 개발 혹은 테스트 용도로 사용하는 H2 Database 설치를 진행해보겠습니다. 설치 환경 : 15 macbook air Mac M2 H2 Database 설치 진행 https://www.h2database.com h2 Database 버전은 Spring boot 3.x를 사용할 경우 2.1.214 버전 이상을 사용하면 됩니다. H2 Database 실행 권한 주기 : chmod 755 h2.sh 실행: ./h2.sh 실행 시키면 아마 크롬창이 로딩만 되는 상황이 자주 발생합니다. 이럴때는 Ip 주소를 localhost로 변경해주면 됩니다. DB 생성하기 H2에 접속하면 아래와 같은 화면이 나온다. 이후 연결하면 사용자 기본 폴더에 DB가 만들어진 것을 확인할 수 있습니다. DB를 만든 이..

Java 변수의 종류 멤버 변수(필드) : 클래스에 선언합니다 지역 변수 : 메서드에 선언, 매개변수도 지역 변수의 한 종류입니다. 지역 변수는 이름 그대로 특정 지역에서만 사용되는 변수라는 의미입니다. (왜 전역 변수가 없을까..) 멤버 변수, 필드 예시 public class Student { String name; int age; int grade; } 지역 변수 예시 public class Method1 { public static void main(String[] args) { Student student1 = new Student(); } } static void initStudent(Student student, String name, int age, int grade) { student.n..