분류 전체보기
-
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ※ 문제설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들고자 합니다. 암호의 규칙은 다음과 같습니다. ◦ 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔준다◦ index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아간다.◦ skip에 있는 알파벳은 제외하고 건너뛴다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 ..
155652. 둘만의 암호프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ※ 문제설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들고자 합니다. 암호의 규칙은 다음과 같습니다. ◦ 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔준다◦ index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아간다.◦ skip에 있는 알파벳은 제외하고 건너뛴다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 ..
2024.06.17 -
📌 개발환경 설정하기 ▶︎ 코드 에디터 설치 ➞ 앞으로의 코드 작성은 비주얼 스튜디오 코드 환경에서 하도록 하자.➞ VSCode는 PC에 직접 설치해 사용하는 설치형 코드 에디터 프로그램으로, 운영체제에 맞게 설치해야 한다. Visual Studio Code - Code Editing. RedefinedVisual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.code.vis..
01. 개발환경 설정📌 개발환경 설정하기 ▶︎ 코드 에디터 설치 ➞ 앞으로의 코드 작성은 비주얼 스튜디오 코드 환경에서 하도록 하자.➞ VSCode는 PC에 직접 설치해 사용하는 설치형 코드 에디터 프로그램으로, 운영체제에 맞게 설치해야 한다. Visual Studio Code - Code Editing. RedefinedVisual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.code.vis..
2024.06.16 -
📌 AOP가 필요한 상황 ➞ 모든 메소드의 호출 시간을 측정하고 싶은 경우?➞ 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? ① 직접 코드를 작성해 구해보기@Transactionalpublic class MemberService { // 회원가입 public Long join(Member member) { long start = System.currentTimeMillis(); try { // 중복 회원 검사 validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } fi..
[입문] 07. AOP📌 AOP가 필요한 상황 ➞ 모든 메소드의 호출 시간을 측정하고 싶은 경우?➞ 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? ① 직접 코드를 작성해 구해보기@Transactionalpublic class MemberService { // 회원가입 public Long join(Member member) { long start = System.currentTimeMillis(); try { // 중복 회원 검사 validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } fi..
2024.05.18 -
📌 H2 데이터베이스 ➞ 지금까지는 회원의 정보를 메모리에 저장을 했다.➞ 그러나 이제는 데이터베이스를 이용해 회원의 정보를 저장하고자 한다. ▶︎ H2 설정 ➞ 다음은 H2 데이터베이스를 사용하기 위해 필요한 설정들이다. 1. build.gradle 2. application.properties ① build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2'} ② application.propertiesspring.datasource.url=jdbc:h2:tcp://localhost/~/testspring.datasource..
[입문] 06. 스프링 DB 접근 기술📌 H2 데이터베이스 ➞ 지금까지는 회원의 정보를 메모리에 저장을 했다.➞ 그러나 이제는 데이터베이스를 이용해 회원의 정보를 저장하고자 한다. ▶︎ H2 설정 ➞ 다음은 H2 데이터베이스를 사용하기 위해 필요한 설정들이다. 1. build.gradle 2. application.properties ① build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2'} ② application.propertiesspring.datasource.url=jdbc:h2:tcp://localhost/~/testspring.datasource..
2024.05.11 -
📌 배열이란? ▶︎ 배열이 필요한 이유 ➞ 같은 타입의 변수를 반복해서 선언하고, 사용하는 문제를 해결하고자 사용한다.// 학생 수가 증가함에 따라 int 변수를 계속해서 추가해야 한다.int student1 = 90;int student2 = 80;int student3 = 70;int student4 = 60;int student5 = 50;// 변수의 이름이 다 다르기에 반복문으로 표현할 수 없다.System.out.println("학생1 점수: " + student1); System.out.println("학생2 점수: " + student2); System.out.println("학생3 점수: " + student3); System.out.println("학생4 점수: " + student4)..
배열 (Array)📌 배열이란? ▶︎ 배열이 필요한 이유 ➞ 같은 타입의 변수를 반복해서 선언하고, 사용하는 문제를 해결하고자 사용한다.// 학생 수가 증가함에 따라 int 변수를 계속해서 추가해야 한다.int student1 = 90;int student2 = 80;int student3 = 70;int student4 = 60;int student5 = 50;// 변수의 이름이 다 다르기에 반복문으로 표현할 수 없다.System.out.println("학생1 점수: " + student1); System.out.println("학생2 점수: " + student2); System.out.println("학생3 점수: " + student3); System.out.println("학생4 점수: " + student4)..
2024.05.08 -
📌 회원 웹 기능 - 홈 화면 추가 ① 홈 컨트롤러 추가 ➞ localhost:8080 요청이 들어오면, @GetMapping 호출되어 home.html view 파일을 찾아 실행한다.➞ 이때 @GetMapping이 없으면 static 폴더의 정적 파일을 실행한다.➞ 컨트롤러는 정적 파일보다 우선순위가 높기 때문이다.package hello.hellospring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public ..
[입문] 05. 회원관리 예제 - 웹 MVC 개발📌 회원 웹 기능 - 홈 화면 추가 ① 홈 컨트롤러 추가 ➞ localhost:8080 요청이 들어오면, @GetMapping 호출되어 home.html view 파일을 찾아 실행한다.➞ 이때 @GetMapping이 없으면 static 폴더의 정적 파일을 실행한다.➞ 컨트롤러는 정적 파일보다 우선순위가 높기 때문이다.package hello.hellospring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public ..
2024.05.05 -
📌 스프링 빈과 의존관계 ▶︎ DI (의존성 주입) ➞ 생성자에 @Autowired가 있으면 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다➞ 이렇게 객체 의존관계를 외부에서 넣어주는 방식을 DI (Dependency Injection), 의존성 주입이라고 한다.➞ 이를 통해 객체가 필요로 하는 다른 객체나 서비스를 직접 생성하지 않고, 외부에서 제공받아 사용할 수 있다. ① 회원 컨트롤러에서 의존관계를 추가할 때 주의할 점 ➞ @Autowired를 통한 DI는 helloController, memberService 등과 같이 스프링이 관리하는 객체에서만 동작한다.➞ 하지만 다음과 같은 경우 에러가 발생하는데 왜 그럴까?➞ 이는 memberService가 자동으로 스프링 빈으로 인식되지 않아서 Co..
[입문] 04. 스프링 빈과 의존관계📌 스프링 빈과 의존관계 ▶︎ DI (의존성 주입) ➞ 생성자에 @Autowired가 있으면 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다➞ 이렇게 객체 의존관계를 외부에서 넣어주는 방식을 DI (Dependency Injection), 의존성 주입이라고 한다.➞ 이를 통해 객체가 필요로 하는 다른 객체나 서비스를 직접 생성하지 않고, 외부에서 제공받아 사용할 수 있다. ① 회원 컨트롤러에서 의존관계를 추가할 때 주의할 점 ➞ @Autowired를 통한 DI는 helloController, memberService 등과 같이 스프링이 관리하는 객체에서만 동작한다.➞ 하지만 다음과 같은 경우 에러가 발생하는데 왜 그럴까?➞ 이는 memberService가 자동으로 스프링 빈으로 인식되지 않아서 Co..
2024.05.05 -
📌 조건문 ▶︎ 조건문이란? ➞ 특정 조건에 따라 다른 코드를 실행하는 것➞ 조건문에는 if문, switch문이 있다. ① if문 - if 와 else ➞ 특정 조건이 참(True)인지 거짓(False)인지 확인하고, 그 조건이 참(True)일 경우 특정 코드 블럭을 실행한다.➞ 코드 블럭 : 중괄호({ }) 사이에 있는 코드➞ else문 : if문에서 만족하는 조건이 없는 경우에 실행한다.if (condition) { // 조건이 참(True)일 때 실행되는 코드} else { // 만족하는 조건이 없을 때 실행되는 코드} ② else if문 - 연관된 조건 ➞ 서로 연관된 조건들을 비교할 때는 else if문을 사용한다.➞ 이미 조건을 만족함에도 불필요한 다음 조건을 계속 검사하는 것..
조건문 & 반복문📌 조건문 ▶︎ 조건문이란? ➞ 특정 조건에 따라 다른 코드를 실행하는 것➞ 조건문에는 if문, switch문이 있다. ① if문 - if 와 else ➞ 특정 조건이 참(True)인지 거짓(False)인지 확인하고, 그 조건이 참(True)일 경우 특정 코드 블럭을 실행한다.➞ 코드 블럭 : 중괄호({ }) 사이에 있는 코드➞ else문 : if문에서 만족하는 조건이 없는 경우에 실행한다.if (condition) { // 조건이 참(True)일 때 실행되는 코드} else { // 만족하는 조건이 없을 때 실행되는 코드} ② else if문 - 연관된 조건 ➞ 서로 연관된 조건들을 비교할 때는 else if문을 사용한다.➞ 이미 조건을 만족함에도 불필요한 다음 조건을 계속 검사하는 것..
2024.04.30