본문 바로가기

분류 전체보기

(283)
포워드 프록시 와 리버스 프록시 한번쯤 들어본 톰캣과 같은 was나 아파치 웹 서버는 한번쯤 들어봤을 것이다. 아파치 웹서버에는 mod_proxy 라는 모듈에서 forward proxy 와 reverse proxy 이 두가지 기능을 제공한다. 반면 nignx는 reverse proxy 만 제공한다고 한다. 그럼 proxy와 reverse proxy, forward proxy란 무엇일까 1.proxy 서버 프록시 서버는 컴퓨터 시스템이나 프로그램이다. 클라이언트가 자신을 통해 네트워크 서비스에 간접적으로 접속을 할 수 있게 하는 역할이다. 즉, 서버와 클라이언트 사이에 있는 녀석이다. 프록시를 둠으로서 서버로 요청된 내용을 임시저장해 놓고 (캐싱) 그럼 왜 쓸까? -- 동일한 요청에 대해 응답을 바로 주는 등의 장점때문에 사용한다. 즉,..
... -여러개의 파라미터를 받고 싶을 때 public class Test{ public static void main(String[] args) { Test t= new Test (); t.test("test1","test2","test3"); } } class TestClass{ //String... 은 여러개의 파라미터를 받는다는 소리 public void test(String... strs) { System.out.println(strs[0]);// test1 System.out.println(strs[1]); // test2 } } 참고 https://haneulnoon.tistory.com/168
escape() , unescape() 1. escape() escape() 는 알파벳과 숫자, 특수문자를 제외한 문자를 모두 16진수 문자로 바꾸어 준다. 더 정확히는 아스키문자에 해당하지 않는 문자들을 모두 유니코드 형식으로 변환해준다. 그리고 그 형식이 16진수이다. 이 함수는ㄴ 쉼표와 세미콜론과 같은 문자가 쿠키문자열과 충돌되지 않기 위해 사용한다. - 예시 document.write(escape("인코딩, escape")); [escape 인코딩한 결과] %uC778%uCF54%uB529%2C%20escape 2.unescape escape 를 한 결과를 원상태로 돌리고 싶을 때 사용한다. document.write(unescape(escape("인코딩, escape"))); [escape 인코딩한 결과] %uC778%uCF54%uB..
Serializable (직렬화) 란? //transient 는 직렬화의 예외 class TransientTest implements Serializable{ int a = 1; String b = "2"; private transient String tt ="이건 제외가 된다."; } 1. serialize 란? 직렬화는 기술이다. 이 기술은 데이터를 변환하는 기술이다. JVM의 시스템 내부에서 사용되는 Object 혹은 Data는 자바 외에서는 쓸 수 없다. 이 때 자바 외부에서 이러한 데이터를 사용할 수 있게끔 byte 형태로 데이터를 변환하는 기술이 직렬화(serialize) 이다. 즉, jvm 메모리에 있는 개게 데이터를 byte 형태로 변환하는 기술이다. 2. Deserialize 역직렬화이다. Object to Byte 인 기술이..
숫자 천단위에 ,(콤마) 찍기 1. StringBuilder 와 insert를 이용하여 public class main { public static String addComma(String number){ StringBuilder sb = new StringBuilder(number); int numberLength = number.length(); int commaCount = ( numberLength -1 ) /3; for(int i = 0, k=1; i
EC2 에 mysql 8.0 설치하기 1. 설치 가능 여부를 확인하자 sudo yum list mysql* 2. 편의상 루트계정으로 해보자 sudo su 안해도 되긴 하는데 그럼 sudo 를 앞에 붙일 일이 많아진다. 3. mysql 설치 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 를 한 후 다음과 같이 입력하여 mysql 을 설치하자 yum install mysql-community-server 4. mysql 실행 및 상태 확인 sudo systemctl start mysqld 명령으로 실행을 시키고 sudo systemctl status mysqld 명령으로 실행 확인을 하자 5.charset 설정 vim /etc/my.cnf 을 하고 맨 밑에 다..
자바 8 과 자바 11의 특징 간단한 표 1. 자바 8은 왜 많이 쓰는 걸까? 자바 8부터 추가된 기능들이 그만큼 중요하기 때문이다. 그럼 그 중요한 기능들은 무엇일까? 중요성을 평가함에 있어 사람들의 주관이 많이 작용하겠지만 대부분의 사람들이 말하는것은 -- 함수형 프로그래밍의 도입 (함수형 인터페이스) -- 람다식 -- 스트림 api 의 도입 -- Optional 클래스 등장으로 nullpointExceition 방지 가능 등이 있다. 한편으로는 공공쪽 사업에서 쓰는 정부통합 프레임워크가 8버전까지만 지원이 되어서 많이 쓴다는 설도 있다. 또 자바 8버전 이후로는 유료화 되는 부분이 많아서라는 이유도 있다고 한다. 2. 자바 11의 특징 그럼 무조건 8은 좋은 것일까? 자바 8은 2014년에 나왔다. 성능면으로 보면 11이 더 좋..
URL 객체 2. 생성자 - URL(String url_object) 문자열 url_object로 지정된 자원에 대한 URL 객체 생성 - URL(String protocol, String host, int port, String file) 프로토콜 식별자, 호스트 주소, 포트번호 ,파일 이름이 지정된 URL 객체 생성 3.메소드 content, file ,host , path ,port, protocol 에 대한 getter가 있다. 그 외에는 InputStream openStream() : URL 주소와 연결한 뒤 연결로부터 입력받을 수 있는 InputStream 객체를 리턴한다. URLConnection openConnection() : URL 주소의 원격 객체에 접속한 뒤 통신가능한 URLConnection ..