Programming 90

[백준] 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

[스프링의 정석] Spring MVC - 원격 프로그램의 실행

* 프로그램을 어떻게 실행시킬까? // 로컬 프로그램의 실행 public class Main { public static void main(String[] args) { System.out.println("Hello"); } } - CLI창에서 java Main 명령어를 통해 자바 인터프리터를 실행시켜 Main 클래스를 실행시킵니다. * 자바 인터프리터는 어떻게 main메서드를 호출할 수 있을까? - main메서드가 static이기 때문에 호출이 가능합니다. static이 아니면 객체를 생성해야 합니다. * 그렇다면 원격 프로그램은 어떻게 실행시킬 수 있을까? - 브라우저, WAS(톰캣)을 통해 실행시킬 수 있습니다. - 하지만 WAS가 실행되려면 먼저 프로그램을 등록하고 프로그램이 특정 호출로 인해 실..

Programming/Spring 2021.10.26

[스프링의 정석] AWS에 서버 실행하기

1. 인스턴스 상태 검사를 마친 후에 아래 그림과 같이 생성한 인스턴스를 체크하고 연결 버튼을 클릭합니다. 2. 윈도우 가상 서버는 RDP 클라이언트를 통해 연결해줍니다. 맥북 사용자는 Microsoft Remote Desktop이라는 어플을 설치해줘야 합니다. 윈도우 버전 설치 방법은 구글이 답을 알려줄 겁니다... 3. 다시 웹 창으로 돌아가서 원격 데스크톱 파일 다운로드를 클릭하여 파일을 다운받습니다. 4. 이후 다운받은 파일을 실행시키고, 웹 상에서 암호 가져오기를 클릭합니다. 5. 이전 포스팅에서 다운받은 pem 파일(키페어 파일)을 Browse를 통해 매칭시키면 아래의 암호가 출력되고 암호 해독 버튼을 클릭합니다. 6. 그러면 자동으로 암호가 생성이 되며, 암호를 복사하여 이전에 실행시킨 앱의..

Programming/Spring 2021.10.22

[백준] 빠른 A+B (JAVA)

15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 빠른 입력과 출력을 위해 BufferedReader와 BufferedWriter라는 것을 사용할 때가 있다. Input Data를 몇십만, 몇백만건씩 받을 때가 있는데, 기존에 사용하던 Scanner 나 System.out.print를 사용하면 시간초과가 발생할 수 있다. 이 사실을 기반으로 좀 더 코드를 살펴보기 위해 본 포스팅을 작성해보았다. 먼저, 각 메서드의 시스템 흐름도이다. Scanner와 System.out.println의 시스템 흐름도 BufferedReader와 B..

[스프링의 정석] AWS에 서버 구축하기

* AWS 란? Amazon Web Service - Amazon이 제공하는 cloud service. - 관리가 쉽고 빠르고 유연한 확장성이 장점. 보안. 필요할 때만 사용하고, 사용한 만큼만 비용지불 * AWS에 가입하기 - 최초 가입시 12개월 동안 프리티어 계정(무료계정) 사용가능 https://aws.amazon.com/ko/free [주의] 무료 사용량을 초과하면 과금될 수 있음. * Amazon EC2 - 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스 https://aws.amazon.com/ko/ec2/ * Amazon S3 - 확장성, 가용성, 내구성을 가진 데이터 저장 공간(Simple Storage)을 제공. Simple Storage Service * Amazon..

Programming/Spring 2021.10.14

[스프링의 정석] Mac OS 기반 스프링 개발 도구 설치 및 설정

Mac OS 기반 스프링 개발 도구 설치 및 환경 설정에 관한 포스팅입니다. * VS code 설치방법 - 다운로드 링크 : https://code.visualstudio.com/download Universal : 통합 버전 Intel Chip : 인텔 CPU가 탑재된 버전 Apple Silicon : Apple M1 chip 버전 - 다운로드 받은 Zip 파일을 해제 -> 생성된 파일을 Finder 탭의 '응용프로그램'에 드래그 앤 드롭 -> 웹 어플리케이션 상에서 사용 가능 - VS code 한글 패치 방법 : VS code 실행 -> Extensions 도구 클릭 -> korean 검색 -> korean 패키지 설치 - 추가 패키지 : open in browser, indent-rainbow, p..

Programming/Spring 2021.10.13