분류 전체보기 182

[JAVA STUDY] 5주차 : 클래스(Class)

목표 자바의 Class에 대해 학습하세요. 학습할 것 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스 정의하는 방법 필드 : 객체지향 개념에서 속성에 해당하는 것으로 멤버 변수라고도 한다./* 한정자 / 자료형 / 변수명 */ private String n..

Programming/Java 2021.10.29

[백준] 1110번 : 더하기 사이클

1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 : 1 새로운 숫자 : 84, 8 + 4 = 12 --> 새로운 숫자 : 42 --> 4 + 2 = 6 --> 새로운 숫자 : 26 : 연산 횟수 = 4 코드 package Step4; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class PlusC..

[백준] 팩토리얼

1. 재귀함수란? : 함수 내에서 자기 자신을(함수)를 계속적으로 호출하는 방식. 함수가 콜 되면서 최근에 자신을 부른 원래 함수가 스택에 차곡차곡 쌓이게 됨. 중요한건 처음 불려진 함수에서(스택 맨 밑에있는 메소드) return 되는 값이 최종 return 값이 된다. 2. 팩토리얼(Factorial) : 1부터 특정 정수까지의 곱한 수 3. 재귀함수를 통한 팩토리얼 풀이 package Weekly; import java.util.Scanner; public class Factorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); int userInputNum = input.nextInt(); Sys..

[스프링의 정석] HTTP 요청과 응답

* 프로토콜이란? - 서로 간의 통신을 위한 약속, 규칙 - 주고 받을 데이터에 대한 형식을 정의한 것 * HTTP - Hyper Text Transfer Protocol - 단순하고 읽기 쉽다. 텍스트 기반의 프로토콜 - 상태를 유지하지 않는다. (Stateless), 클라이언트 정보를 저장하지 않는다. - 똑같은 사람이 두 번 요청을 보내도 똑같은 사람이 두 번 요청을 보냈는지 구분하지 못한다. 상태를 유지하지 않기 때문이다. - 이를 보완하기 위해 쿠키와 세션을 사용한다. - 확장 가능하다. 커스텀 헤더 추가 가능 - 헤더 / 바디로 구성이 되어있으며, 헤더는 대,소문자를 구분하지 않고 n개 생성가능하다. 헤더와 바디는 줄바꿈으로 구분한다. - 유저는 URL만 입력하지만 브라우저가 http 요청 메..

Programming/Spring 2021.10.28

[JAVA STUDY] 4주차 : 제어문

목표 자바가 제공하는 제어문 학습 학습내용 선택문 반복문 JUnit5로 테스트 코드 작성하는데 익숙해지기 대시 보드를 만드는 코드 작성 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것. Github 자바 라이브러리를 사용하면 편리합니다. 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. LinkedList 구현 LinkedList에 대해 공부하세요. 정수를 저장하는 ListNode 클래스를 구현하세요. ListNode add(ListNode head, ListNode nodeToAdd, int p..

Programming/Java 2021.10.27

[백준] 2434번 : 별 찍기 - 1

2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제 : 입력되는 숫자만큼의 별을 찍어라 자바 코드 package Step3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class PrintStars { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int count = Integer.par..

[스프링의 정석] 클라이언트와 서버

1. HttpServletRequest - 웹 사이트 상에서 URL을 입력하고 요청을 하면, 톰캣이 이를 받아서 객체를 생성한 후 받은 정보를 나눠서 담는다. 이후 HttpServletRequest의 매개변수로 제공하며, 사용 가능하다. 말이 조금 어려운데, 웹 주소창에 어떤 정보를 요청하면 톰캣이라는 중계서버가 알아서 만들고 그 정보의 특징에 맞게 정리정돈도 해준다는 뜻이다. 잘 정리정돈 되어있으니 적절한 메서드를 활용하면 사용하기도 수월하다. 2. HttpServletRequest 메서드 - getScheme(), getServerName(), getServerPort()..등등 - 이러한 메서드는 정리정돈된 칸이라고 보면 된다. - 그 중에 쿼리 스트링 부분은 getParameter 메서드를 사용하..

Programming/Spring 2021.10.27

[스프링의 정석] HTTP 요청과 응답

1. 로컬에서의 요청과 실행 아래의 코드는 간단하게 연,월,일을 입력하면 요일을 알려주는 프로그램이다. package com.fastcampus.ch2; import java.util.Calendar; // 연, 월, 일을 입력하면 요일을 알려주는 프로그램 public class YoilTeller { public static void main(String[] args) { // 1. 입력 String year = args[0]; String month = args[1]; String day = args[2]; int yyyy = Integer.parseInt(year); int mm = Integer.parseInt(month); int dd = Integer.parseInt(day); // 2. 작업..

Programming/Spring 2021.10.27

[백준] 3052번 : 나머지 (Java)

3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 - 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 여러가지 풀이가 있을 수 있지만, 입력은 크게 두 가지 방법으로 나눠서 풀이를 진행해보았다. 먼저, Scanner를 이용한 방법이다. package Step5; import java.util.Arrays; import java.util...

[스프링의 정석] AWS에 배포하기

지금까진 localhost로만 접근해서 로컬 환경에서 원격 서버를 띄우고 진행했다. 본격적으로 AWS 상에서 배포를 위한 과정을 진행하자. 먼저, 만든 프로그램을 Export하는 과정이 필요하다. 1. 로컬에서 만든 프로그램을 Export 한다. - STS3에서 Export -> War 파일로 Export 한다. 2. AWS EC2에 접속하기 - 원격 접속 이후, war 파일을 톰캣이 저장된 위치 -> webapps 디렉토리를 찾아서 복사, 붙여넣기 해준다. 3. 톰캣을 실행한다. - 톰캣을 실행하면 war 파일이 webapps내의 디렉토리에 압축이 풀리고 설칙가 된다. 4. 현재 상태 - AWS 원격 서버에 내가 만든 프로그램을 설치한 상태 5. AWS EC2의 퍼블릭 IP 주소를 기반으로 연결 - P..

Programming/Spring 2021.10.26