전체 글
-
[8주차]인터페이스스터디/[whiteship]JAVA 2021. 1. 6. 21:16
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의 자바에서 인터페이스는 추상메서드와 상수의 모음을 인터페이스라 말한다. 여기서 추상 메서드란 다음과 같다. 인터페이스 Walkable내 walk란 메서드를 보면 알 수 있듯이 구현이 되어있지 않고 선언만 되어 있다. 우리는 이것을 '추상 메소드'라 칭한다. 이러한 추상 메서드와 상수를 가진 인터페이스는 반드시 상속받는 클래스에서 구현해 주어야 한다. 왜? -> 기..
-
프로세스? 스레드?CS/운영체제 2021. 1. 2. 15:07
프로그램 어떤 작업을 위해 실행할 수 있는(CPU에 할당받을 수 있는) 파일을 말한다. 프로세스 CPU에 올라가 실행중인 프로그램을 말하며 메모리에 올라와 실행되고 있는 프로그램의 인스턴스이다. 다른말로 운영체제로 부터 시스템 자원을 할당받는 작업의 단위이기도 하다. ●할당받는 자원들 ○CPU 시간 ○주소 공간 ○Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 프로세스 제어 블록(pocess Control Block, PCB) PCB는 특정 프로세스에 대해서 정보를 저장하고 있는 운영체제 자료구조이다. 운영체제는 프로세스를 관리하기 위해서 프로세스 생성과 동시에 PCB를 생성한다. 프로세스는 작업을 처리하다가 (문맥전환)전환이 발생하게 되면 현재 진행중인 작업을 PCB에..
-
[1주차]JVM스터디/[whiteship]JAVA 2021. 1. 2. 15:00
목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JVM이란 무엇인가 먼저 자바 컴파일러는 자바 소스코드(.java의 확장자)를 .class(바이트 코드)로 변환 시켜준다. (하지만 실행은 어떻게 할까?) -> JVM을 통해서 JVM(Java Virtual Machine)이란 컴파일러에 의해 생성된 Java Byte Code를 OS에 맞게 해석해 주는 역활을 담당을 하고 GC(Garbase Collection)을 이용해 자동으로 메모리 관리를 한다. 장점 : Byte코드는 JVM에서 실행되기 때문에 OS에 종속적이지가 않다. (Window..
-
[7주차]whiteship 스터디 참여스터디/[whiteship]JAVA 2020. 12. 27. 21:01
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 Package 정의 : 자바에서 패키지란 비슷한 성격의 클래스들을 모아 만든 자바의 디렉토리이다. 클래스나 인터페이스가 컴파일되면 .class 파일이 생기고 그 클래스 파일들은 반드시 패키지에 소속되어야 한다. 소스 파일 최상단에는 package키워드를 이용하여 클래스가 소속될 패키지 명을 선언해준다. -> 최상단에 package키워드를 이용해 자바의 클레스의 경로를 명시해 주는 것이 네임스페이스이다. Built-in Package 패키지의 종류에는 사용자 정의 패키지와 Built-in 패키지 두 종류로 나뉜다. 사용자 정의 패키지는..
-
재요청시 캐쉬는 어떻게 작동할까?CS/네트워크 2020. 12. 27. 16:35
브라우저에 요청에 따라 서버는 브라우저에게 ETag, Last-Modified, Expires, cache-Control 등등 Header 값을 전달하게 됩니다. 이에 응답받은 브라우저는 Header값에 따라 캐쉬 정책을 수행하게 됩니다. ※ 캐쉬 정책 우선순위 1. Last-Modified와 Etag가 같이 있다면, Etag가 우선순위가 높습니다. 2.Expires와 Cache-Control의 경우는 Cache-Control의 설정된 정책이 우선순위가 높습니다. (캐쉬가 만료가 되지 않아도 재검증 이라던지) 1. Last-Modified 1) 브라우저는 최초 응답 시 받은 Last-Modified값을 if-Modified-Since라는 헤더에 포함 시켜 페이지를 서버에게 요청하게 됩니다. 2) 서버는 ..
-
ssafy 5기...기타/취업 2020. 12. 11. 18:18
준비과정 자기소개서도, SW적성진단 시험도 나름대로 열심히 준비했습니다.(GSAT 모의고사 책 2권 풀음) SW적성진단을 마친 후, 전 당연히 떨어질 줄 알았어요... 너무 못 풀었는데 ㅎㅎ interview 결과 발표 당일날, 심장이 터질 것 같은 마음으로 혹시나 하고 결과를 봤는데... 전 정말 운이 좋은 케이스예요. 그래도 면접이라도 보고 싶었었는데 정말 좋은 기회가 왔고, 나름대로 며칠 동안 잠 줄여가며 준비했어요. 면접 당일 긴장과 걱정이 합쳐진 느낌. 면접 가기 전까지 내내 불안한 마음으로 면접장에 들어갔습니다. 저만 이런 거 아니죠? ㅎㅎ 면접을 진행하면서, 전 떨어질 것을 직감해 면접 동안 내내 멍했네요 물어보는 것에 최선을 다해 대답하려고 노력하였지만, 동문서답하고 횡설수설했어요ㅠㅠ (면..
-
캐시에 대해서CS/네트워크 2020. 12. 11. 17:05
spring을 공부하던 중 웹 페이지에서 파일 다운로드하는 방법을 공부하고 있습니다. 소스코드를 보면 response.setHeader("Cache-Control", "no-cache"); response.addHeader("Content-disposition", "attachment; fileName=" + imageFileName); 오늘은 이 부분에 있어서 cache-control이 무엇이며 캐쉬가 무엇인지에 알아보도록 하겠습니다. 캐쉬 먼저 캐쉬란 client가 요청하는 웹 페이지, 이미지, javascript, css 등 첫 요청 시 응답에 대한 복사본(USING SPACE)을 특정 위치에 저장하게 되는데 저장에 사용되는 메커니즘이 캐쉬이다. 이후 동일한 요청이 있을 시, 불필요하게 웹 서버(응..
-
Spring 동작 원리웹/Spring 2020. 10. 26. 20:55
해당 그림은 스프링 프레임워크의 동작을 한 그림으로 표현 한 것이다. 간략히 설명하자면 다음과 같다. 1. 사용자가 브라우저를 통해 URL을 요청하면 web.xml내 설정 되어있는 DispatcherServlet을 통해 요청에 맞는 Controller를 찾게 된다. 2.Controller가 반환한 값을 통해 ViewResolver가 해당하는 View에 존재를 확인후 다시 DispatcherServlet을 통해 사용자에게 결과를 반환한다. 좀 더 자세히 설명 하자면, 사용자의 요청은 DispatcherServlet가 먼저 가로채 Servlet-context.xml로 전달하게 된다. *servlet-context.xml는 Controller에 설정된 URL 매핑을 연결해 주는 작업을 담당한다 annotati..