먼저 글을 작성하게 된 이유를 설명하겠습니다.로그인 시/로그인 실패 시에 접속 이력을 남기려고 하였습니다.접속 이력에 들어가는 내용 중에 클라이언트 IP가 필요하였고, 클라이언트 IP 얻는 방법을 검색해보니 일반적인 방법으로 아래의 코드와 같은 내용이 나왔습니다. // 클라이언트 IP 확인 public static String getClientIp(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader(..
공략 순서 1. N바구니는 1번 부터 N번까지 번호가 매겨져 있다. -> N = 5라면 "1, 2, 3, 4, 5" 2. 바구니에는 공이 1개씩 들어있음 3. 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. -> 2번 바구니면 2 4. 바구니에 담긴 공을 교환 의 형식으로 코드를 작성할면 되겠습니다. import java.util.Scanner; /** * Main */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[] arr = new int[N]; int temp; //..
업다운 게임은 술자리에서도 많이 하는 게임중 하나이다. 소주병 뚜껑 안쪽에는 0~50 사이의 숫자가 양각으로 새겨져있는데 그 숫자를 정해진 횟수안에 맞추는 것이다. 그와 비슷한 게임을 Java를 통해 구현해 보겠다. 게임규칙 프로그램이 실행되면 컴퓨터는 난수를 통해 1~100사이의 정수 하나를 생성한다. 사용자가 숫자를 입력하면 높은지(Up) 낮은지(Down) 판단하여 출력한다. 7번내에 맞추면 사용자 승리, 틀리면 컴퓨터가 승리한다. 한번의 게임이 끝나면 계속할지 여부를 물어본다. package patis.service.test; import java.util.Random; import java.util.Scanner; public class test { public static void gameSta..
1. Static 정리 Java에서 Static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미합니다. 이를 정확히 이해하기 위해서는 메모리 영역에 대한 이해가 필요합니다. [ Static의 메모리 ] 일반적으로 우리가 만든 Class는 Static 영역에 생성되고, new 연산을 통해 생성한 객체는 Heap영역에 생성됩니다. 객체의 생성시에 할당된 Heap영역의 메모리는 Garbage Collector를 통해 수시로 관리를 받습니다. 하지만 Static 키워드를 통해 Static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 지니지만, Garbage Collector의 관리 영역 밖에 존재하므로 Static을 자주 사용하면 프로그램의 종료시까지 ..
Jar 등록 [ 1. json.jar 다운로드 ] [ 2. 프로젝트 내부에 lib 폴더 생성 및 jar파일 옮기기 ] [ 3. 프로젝트 우 클릭 → Build Path → Configure Build Path... ] [ 4. Add Jars... → jar파일 선택 → OK ] Get rest api에서 사용하는 http 메서드는 총 4가지로 get, post, put, delete가 있습니다. 그 중 get은 데이터를 조회해오는 목적으로 주로 사용됩니다. get으로 테스트를 해볼 것은 서버로 데이터는 전달하지 않고 서버에서 객체 값과 배열 값을 각각 받아오는 코드를 작성해보겠습니다. 먼저 객체값을 받아오는 코드를 작성해보겠습니다. rest api를 호출해볼 수 있는 포스트맨에서 다음과 같이 호출되는 ..
경우마다 다르겠지만 해당 프로젝트의 경우 Aspectj 프로젝트이기때문에 Help > Install New Software > Work with 에 AspectJ features and related tools - http://download.eclipse.org/tools/ajdt/45/dev/update Eclipse software repository | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks. download.eclip..
charAt(i) charAt 함수란? String 타입의 데이터(문자열)에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수이다. String sample = "abc"; char target = sample.charAt(0); 위처럼 String 변수에서 사용할 수 있으며, charAt(i) i 자리에는 int 형 변수를 넣어서 원하는 위치의 문자를 가져올 수 있다. 사용 예시) public class Test { public static void main(String[] args) { // 변수 선언 String example = "안녕하세요"; char target1; char target2; char target3; target1 = example.charAt(0); target2 = e..
while문 위에 설명한 것처럼 조건식이 true이면 문장이 실행되고, false이면 종료된다. for문과는 다르게 초기값과 증감식을 적는 곳이 명시되어 있지 않다. 다르게 말하면 while문의 문장을 반복할 때 초기값과 증감식을 정의하는 것이 필수 조건은 아니라는 것이다. 이것에 대해서는 조금 후에 알아보기로 하자. 우선 for문에서 익숙해졌던 초기값과 증감식을 작성하는 방법을 알아보자. while문 밖에서 변수를 선언하고 초기값을 할당한 후 while문 내에서 증감식을 작성하면 된다. 예제를 통해서 알아보자. public class WhileEx01 { public static void main(String[] args) { int i=1; // 초기값 설정 while (i