본문 바로가기

개발자

[자바] ip주소 구하기 & (0:0:0:0:0:0:0:1 일때 해결방법) 😏 자바에서 IP주소를 구하는 방법 String ip = request.getRemoteAddr(); 🤧하지만 이것만 쓰면 안된다~! 보통 보안 문제로 방화벽등을 거쳐 요청이나 응답이 가공되어 나가고 들어오기 때문에 getRemoteAddr()만 쓸경우 프록시 서버나 엉뚱한 ip를 얻을 수 있게됩니다. 이 문제를 해결하기 위해 등장한 것이 X-Forwarded-For 헤더 developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For X-Forwarded-For - HTTP | MDN X-Forwarded-For X-Forwarded-For (XFF) 헤더는 HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하는 사.. 더보기
[코테스터디] 1월 결산 혼자서는 코딩테스트 진도가 안나가서🙄🙄 친구 suna hong과 함께 코로나에 걸맞는 Zoom 스터디를 진행했다. 진행방법 : 맞는 시간대에 줌을 키고 같이 문제를 푼다 나중에 실전 문제로 들어가면 같이 시간을 정하고 풀계획!!!! 현재 이것이 코딩테스트다 책으로 같이 공부중이다! 그리고 그녀와의 추억들....*(사진 안찍은적도 몇번 있음) 더보기
[백준 11047][자바] 동전 0 대표적인 그리디 문제 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int a = scan.nextInt(); int arr[] = new int[n]; int ans = 0; for(int i=0; i=0;i--) { //가장 뒤가 제일 가치가 높으니까 거꾸로 돌린다 if(arr[i] 값을 넣어준다 break; } } ans += a / arr[chk]; // 그 돈의 가치로 나눈 몫을 ans 에 더하기 a = a % arr[chk]; // 그돈의 가치로 최대한 넣은 뒤 남은 금액 넣.. 더보기
자바의 특징 * 자바의 특징 객체지향 (클래스 계층 구조, 상속성, 다형성, 캡슐화) 멀티스레드 : 하나의 프로그램에서 다수의 스레드가 동시에 실행할 수 있다. 플랫폼 독립성 : 어느 운영체제에 종속되지 않고 JVM만 있으면 실행 가능 소스와 클래스파일 : 하나의 .class 파일은 반드시 하나의 클래스파일. .java 안에 2개의 클래스 => .class 2개 실행 모듈 : 자바의 실행은 main() 메소드에서 시작. 클래스로 캡슐화 패키지 : 파일 시스템의 폴더 개념 * 객체지향의 특징 : 소프트웨어의 재사용을 위함. 이는 생산성이 향상된다. 1. 캡슐화란 : 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게끔 만든다. : 클래스(class)라는 캡슐을 사용하여 객체(메소드(함수)+ 필드(데이터변수))를 만듬 : .. 더보기
자바스터디 1일차 (feat.백기선님) 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 : Java Virtual Machine 의 약자. (자바 가상 기계) : 자바의 특징 중 하나인 WORA(write once run anywhere)을 할 수 있도록 만들어준다. : 타 언어는 운영체제에 종속적(플랫폼 종속적)이라 아무데서나 실행이 불가하지만 java는 JVM만 있으면 어디서든 실행 가능 컴파일 하는 방법 : 컴파일이란 소스 프로그램(우리가 작성하는 프로그래밍 언어) => 기계어(컴퓨터가 읽을 수 있는 언어) 변환하는 과정 * 자바의 경우 (확장자) .java => .class : javac 자바 소스를 바이트 코드로 변환하는 컴파일러 실행하는 방법 : 자바는 컴파일을 해준 뒤에 (.c.. 더보기
11월 개발일지 ,,,,ㅎ,,, 마지막 개발 일지가 8월이네...?! 이게 무슨일이지...😥 우선 그 동안 파견을 나가게 되어 새로운 환경에 적응하고 일하느라 바빴고, 여행도 다니고, 공부도 열심히(나혼자 나름) 하고, 시험도 봤다! 회사 다니면서 공부를 하고 이직 준비를 하는 것은 정말 쉽지 않다는 것을 느꼈다. 또 일이^^ 많아지면서 책상에 다시 앉기가 힘들어졌다.. 왜 일 없을 때 공부 하라는지 알겠음.. 시험도 몇번 보고 자소서도 쓰니까 내가 부족한 부분이 너무 많아 자괴감에 빠져버렸다~ 공부 할건 너무나 많고,,, 난 너무 부족하고,, 좀더 일찍 시작했더라면...ㅎㅎ^^ 핑계는 그만~ 우선 지금 회사에서 ^혼^자^ 홈페이지를 개발하게 되었다. 유지보수만 하던 회사에서 이렇게 개발 할 수 있을 줄은 몰랐다... .. 더보기
[백준 1913][자바] 달팽이 달팽이 모양으로 숫자 넣는 문제 어느부분에서 방향을 바꾸고 / 기존의 값에 덮어쓰지 않게 하는것이 포인트 근데 메모리공간이랑 시간이 너무 걸려서 좀 다시 짜봐야할듯 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int w = scan.nextInt(); int[][] arr = new int[w+1][w+1]; int findn = scan.nextInt(); int[] x = {1,0,-1,0}; int[] y = {0,1,0,-1}; int now = 0; // x y배열 방향조절하는 숫자 0: 다운 1:오른쪽 2:업 3:왼.. 더보기
GIT 사용방법 (처음 시작하는 사람) (●'◡'●) GIT이란? - 깃은 버전 관리 툴, 깃허브는 소스코드를 올려서 여러사람과 공유하는 장소 - 자신의 PC에서 작업하는 공간 : Local Repository (개인저장공간) - 깃허브에 올린 공간 : Remote Repository (원격저장소) 1. GIT 허브 계정을 만든다. https://github.com/ 2. 깃허브에서 레파지토리를 만든다. : 올릴 공간을 만들어주는것. 3. GIT 다운을 받는다. https://www.git-scm.com/downloads Git - Downloads Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub.. 더보기