개인공부 97

자바 Synchronized란?

멀티 스레드 환경에서 스레드를 동기화를 시켜주지 않으면 data의 안정성과 신뢰를 보장 할 수가 없게 된다. 자바에서 지원하는 Synchronized 키워드는 여러개의 스레드가 한개의 자원을 사용하고자 할 때, 현재 데이터를 사용하고 있는 해당 스레드를 제외하고 나머지 스레드들은 데이터에 접근 할 수 없도록 막는 개념이다. 자바 코드에서 동기화 영역은 synchronizred 키워드로 표시된다. 동기화는 객체에 대한 동기화로 이루어지는데(synchronized on some object), 같은 객체에 대한 모든 동기화 블록은 한 시점에 오직 한 쓰레드만이 블록 안으로 접근하도록 - 실행하도록 - 한다. 블록에 접근을 시도하는 다른 쓰레드들은 블록 안의 쓰레드가 실행을 마치고 블록을 벗어날 때까지 블록(..

개인공부 2021.09.12

Math.random()

Math.random() - Math.random() 함수는 double 형으로 0.0이상 1.0 미만 사이의 값을 반환하는 함수이다. public static void main(String[] args){ System.out.println( Math.random() ); // 0.23279967568276427 System.out.println( Math.random() * 10 ); // 2.3279967568276427 (0.xxx... ~ 9.xxx 까지의 값 반환) System.out.println( (int) Math.random() * 10 ); // 2 ( 0부터~9까지의 값 반환 ) System.out.println( (int) Math.random() * 10 +1 ); // 3 ( 1..

개인공부 2021.09.12

오늘 공부한 Spring기능

Spring에서 DI는 의존성 주입이다. 하나의 객체를 여러 클래스에 주입 할 수 있다. 어떤 변경할 일이 생기면 의존성을 주입한 객체만 바꿔주면 그 객체를 주입 받은 모든 클래스도 같이 변한다. @Autowired라는 의존성 주입을 해주는 어노테이션이 있는데 주입 할 객체에 저 어노테이션을 붙여주면 스프링이 자동적으로 연결해준다. 주입 할 객체가 하나라면 @Autowired를 생략해도 되지만 두개 이상 이라면 @Autowired를 꼭 붙여줘야한다. 주입 할 빈이 없다면 에러가 발생하는데 이 에러가 나지 않게 방지하기 위해서는 @Autowired(required = false)를 해주면 된다. 같은 이름의 빈이 두개가 있을때 어떤 빈을 실행 시켜야할지몰라서 나는 에러가 있다 이때 쓰는 어노테이션 중에는 ..

개인공부 2021.09.11

핸들러 어댑터

중간에 어댑터 역할을 하는 어댑터가 추가 되었는데 이름이 핸들러 어댑터이다. 여기서 어댑터 역할을 해주는 덕분에 다양한 종류의 컨트롤러를 호출 할 수 있다. 핸들러 - 컨트롤러의 이름을 더 넓은 범위인 핸들러로 변경했다. 그 이유는 이제 어댑터가 있기 때문에 꼭 컨트롤러의 개념 뿐만 아니라 어떠한 것이든 해당 하는 종류의 어댑터만 있으면 다 처리 할 수 있기 때문이다.

개인공부 2021.09.09

Oauth2.0

Client - 구글, 페이스북 등 sns아이디로 접속 하려는 페이지 ResourceOwner - 구글 페이스북 등 sns계정을 가지고 있는 사람 Resource Server - ResourceOwner가 Client에서 sns아이디로 접속 하려고 할때 해당 sns계정이 존재하는지(계정이 맞는지) 확인 하는 것(데이터를 가지고 있는 서버) Authorization Server - 인증과 관련된걸 전담하는 서버 ResourceOwner에서 Client로 접속을 시도할때 클라이언트는 리소스 서버에다 클라이언트 id값과 시크릿코드를 넘겨주고 Resource Server에서 그걸 확인하고 그 다음 accessToken을 발급 한다. 그리고 클라이언트와 accessToken을 비교해서 서로 맞다는걸 확인한 후에 ..

개인공부 2021.09.02

웹서버

- http 기반으로 동작 - 정적 리소스 제공, 기타 부가기능 - 정적(파일) html,css,js,이미지 영상 - 예) NGINX, APACH http 요청이 오면 http로 응답해서 보내주는 http protocol로 데이터를 주고 받을 수 있는(클라이언트에서 index.html을 보내달라고 하면 http 통신을 통하여 index.html을 하면에 보내준다.) 그리고 정적 파일들(html,css,js,이미지 파일)을 제공해주는게 web server이다

개인공부 2021.08.26

자바 instanceof 사용법

//getClass() -> 현재 참조 하고 있는 클래스를 확인 할 수 있는 메소드이다. instanceof는 객체 타입을 확인하는데 사용한다. 속성은 연산자이고 형변환이 가능한지 해당 여부를 true 또는 false로 가르쳐 준다. 객체 타입이라 하니 어려운 개념 같은데 주로 부모 객체인지 자식 객체인지 확인하는데 쓴다고 생각 하면 된다. instanceof의 사용형식은 '객체+instanceof+클래스' 이다. A를 부모, B를 자식 클래스로 세팅하고 두 클래스 간 형변환이 가능한지 확인해 보았다. A a = new A(); B b = new B(); 결과 a instanceof A : true b instanceof A : true a instanceof B : false b instanceof B..

개인공부 2021.07.31