java 7

HTTP 웹 기본 지식 정리 - 본격! HTTP 기본

※ 본 포스팅은 Inflearn - 김영한 강사님의 'HTTP 웹 기본 지식 정리' 을 참고,공부하여 만들었습니다. 모든 것이 HTTP ! HTTP ( Hyper Text Transfer Protocol ) HTML , TEXT , JSON ,XML 이미지 음성 등등 거의 모든 형태의 데이터가 전송 가능하다. 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 고로 지금은 HTTP 시대라고 하는것! 우리가 알아야 하는 HTTP의 특징 • 클라이언트 서버 구조부터 파악하자 • 무상태 프로토콜(stateless), 비연결성 • HTTP 메시지 • 단순함, 확장 가능 1. 클라이언트 서버 구조부터 파악하자 요청 , 응답 의 구조 클라이언트는 서버에 요청을 보내고 응답을 대기한다. 서버가 요청에 대한 결과를..

Web 2021.09.08

[Inflearn] 컴포넌트 스캔과 자동 의존 관계 주입

※ 본 포스팅은 Inflearn - 김영한 강사님의 '스프링 핵심 원리 - 기본편' 을 참고,공부하여 만들었습니다. 이 주제를 선택한 이유 , 개발자의 고충 스프링 빈을 등록할 때 자바 코드의 @Bean , XML 의 등을 통하여 스프링빈을 등록한다. Singleton 에서 참고로 사용했던 'AppConfig' 라는 DI컨테이너 내부에 '개발자'가 설정정보를 입력하여 , 빈을 등록하고 의존관계를 주입하였다. 예제차원에서는 빈으로 등록할 개수는 많지 않았기에 AppConfig에 빈과 의존관계를 주입하는게 어렵지는 않았다. 하지만, 실제 서비스 수준에서 생각해볼때 모든 객체를 AppConfig에 설정정보를 입력하여 관리하는게 과연 효율적일까? 만약 AppConfig에 등록해야할 객체를 누락한다면 ? 무엇보다..

Spring/Spring Study 2021.08.20

new 연산자 와 객체생성에 대하여

다형성 공부하던 도중 예제에서 궁금한 점이 발견되었고, 나는 객체의 선언과 생성에 관하여 약간의 오해가 있었다는 걸 알게 되었다. Computer com = new Computer(); 컴퓨터라는 클래스에서 객체를 하나 생성하였다. 이것을 하나하나 분석해보자 1) Computer com; 내가 만든 클래스인 컴퓨터라는 참조 타입의 변수를 선언하였다(참조 변수). com은 참조 변수 이므로 초기값이 자동으로 null로 설정된다.(지역변수는 꼭 초기화를 거쳐야 한다.) 이제 com은 주소 값이 담길 그릇인 것이다. 2) new Computer(); 컴퓨터 클래스의 생성자에 new를 붙여주면 연산자 new에 의해서 Computer클래스의 인스턴스가 메모리 상의 빈 공간에 생성과 함께 이 객체의 주소가 생성된다..

Java/Java Study 2021.04.24

[Array] 버리긴 아까운 백준 오답 (feat.MultiArray,No.4434)

● 예제의 출력 결과만 보고 코딩을 하니 이런 식으로 코딩을 해 벼렸다고 한다. 그래도 2차원 배열은 어느 정도 할 줄 아는 듯하다.. public class Main { public static void main(String[] args) { int[][] Case = { { 5 }, { 5, 50, 50, 70, 80, 100 }, { 7, 100, 95, 90, 80, 70, 60, 50 }, { 3, 70, 90, 80 }, { 3, 70, 90, 81 }, { 9, 100, 99, 98, 97, 96, 95, 94, 93, 91 } }; int[] sumArr = new int[Case[0][0]]; for (int i = 1; i < Case.length; i++) { for (int j = ..

Java/Daily-Java 2021.04.21

[Bac|<joon>]백준 : 4344 :평균은 넘겠지

예제를 보는 순간 바로 배열을 사용하자는 생각이 떠올랐지만, 무식하게 2차 배열을 쓸 생각으로 코드를 짜다 보니 예제는 풀었지만 입력값을 줘야 하는 걸 까먹었다. (2차 배열을 이용한 예제 출력은 Daily-Java에 업로드 예정) 출력을 보면 우리는 대학생 새내기들이 속한 행에서 평균점수를 넘는 학생의 수치만 출력하면 된다. 배열에 모든 숫자를 넣어 관리하면서 예제를 출력하는 방식이 아니라 그때그때 필요한 행의 점수를 입력해서 원하는 값을 출력 후 초기화하여 배열을 재사용하는 코드를 짜 보도록 하자 1) testcase 학생들의 평균점수를 넘은 수치를 구하는 건 testcase 만큼 실행한다. 즉 testcase는 총 실행 횟수 첫 번째 for문의 변수 2) 학생수 N 각 testcase마다의 학생수 ..

Java/BackJoon 2021.04.21

[Array] 2차원 배열의 90도 회전

● 2차원 배열을 90도 회전시키려면 어떻게 해야 할지를 생각해보자 주어진 배열↓ char[][] star = { {'*','*',' ',' ',' '}, {'*','*',' ',' ',' '}, {'*','*','*','*','*'}, {'*','*','*','*','*'} }; star 2차원 배열을 90도 돌려놓은 2차원 배열 result 배열을 생성하여 star배열의 성분들을 옮길 것이다. 그리고 그 안의 성분들을 정말로 90도 회전하여 옮긴다는 생각으로 코드를 짜 보자 1) 배열의 회전 4행 5열의 2차원 star배열의 성분들을 옮겨 담을 곳 result 배열을 생성, 이제 star의 행을 90도 회전시켜서 넣을지 열을 회전시켜 넣을지 고민해봐야 한다. 공부하는 입장이기에 2가지의 경우를 모두 ..

Java/Daily-Java 2021.04.20

Call by value

● 자바의 정석 예제를 통하여 call by value를 알아보자 ● Call By Value란? 자바, C언어 등은 함수에 매개변수값을 전달할 때 Call By Value라는 방식을 사용한다. (C++은 참조연산자 '&' 가 있어서 call by reference를 지원한다.) 좀 더 쉽게 말하면 '값'을 복사해서 전달하는 방식을 사용하는데 이것이 바로 Call By Value 라고 한다. 먼저 아래 예제를 한번 같이 살펴보고 그 결과를 예측해보자 class Data {int x;} public class PrimitiveParamEx { public static void main(String[] args) { Data d =new Data(); d.x=10; System.out.println("mai..

Java/Java Study 2021.04.19