Java 12

Project Reactor의 Scheduler

Scheduler Project Reactor에서 Scheduler란 Thread를 관리하는 역할을 담당한다. Project Reactor는 동시성에 구애받지 않고 개발자가 이를 직접 동제할 수 있다. 개발자가 이를 직접 통제할 수 있도록, 복잡한 멀티쓰레딩을 손쉽게 사용할 수 있도록 Scheduler가 도와준다. Project Reactor는 일반적으로 호출된, 즉 subscribe()가 호출된 쓰레드에서 동작을 수행한다. 🤔무슨의미? 위 사진과 같은 상황에서 새로운 쓰레드에서 subscribe()를 호출하고 있기 떄문에 메인 쓰레드가 아닌 호출된 새로운 쓰레드에서 동작을 수행한다. Scheduler의 종류 reactor.core.scheduler 하위에는 Scheduler 인터페이스를 구현한 여러 구..

일급 컬렉션

First Class Collection, 일급 컬렉션이란 무엇일까? Collection을 Wrapping 하면서, 그 외의 다른 멤버 변수가 없는 상태를 일급 컬렉션이라고한다. 이는 두 그룹을 같은 묶거나 그룹의 각 원소에 규칙을 적용하는 동작을 처리할 수 있다. 각설하고 일급 컬렉션을 예제 코드로 만들어보고 왜 일급 컬렉션을 사용해야하는지를 알아보자. List cars = new ArrayList(); Car 객체 인스턴스를 담는 cars라는 List를 생각해보자. 이를 일급 컬렉션으로 한번 감싸서 사용하면 아래와 같이 만들 수 있다. public class Cars { private final List cars; public Cars(List cars) { this.cars = cars; } } 이..

Java 2021.08.25

@Embedded, @Temporal

@Embedded (임베디드 타입) 임베디드 타입이란 새로운 타입을 사용자가 직접 정의하여 사용하는 것을 뜻한다. 이는 int, String처럼 값 타입이다. 임베디드 타입을 사용하지 않는 Member @Entity public class Member { @Id @GeneratedValue private Long id; private String name; @Temporal(TemporalType.DATE) Date startDate; @Temporal(TemporalType.DATE) Date endDate; private String city; private String zipcode; } 위와 같이 상세한 데이터를 모두 가지고 있는 것은 객체지향적이지 않고 효율적이지 못하다. 이를 근무 기간, 주소..

Java/JPA 2021.05.17

Long 과 long 무엇이 다를까❓❓❓

Java 에서 long 은 primitive type 원시형 데이터로 클래스가 아니다. long 은 64bit 정수값을 표현하는 데이터 타입으로 8byte 의 메모리 공간을 사용한다. Long 은 Wrapper 클래스로 long 과 마찬가지로 64bit 정수 값을 표현하지만 이것은 클래스다. 어떤 차이점이 존재할까? Long에는 null값이 들어갈 수 있지만 long에는 null이 들어갈 수 없다. 만약 null값이 생성될 수 있는 case가 있다면 Long을 사용하는 것이 바람직하다. 당연하겠지만, Long에 null값이 들어가있는 상태에서 long으로 형변환을 하려고 하면 오류가 발생. Long은 long에 비해 메모리 사용량이 많기 때문에 상황에 맞게 적절히 사용하는 것이 좋다. 👨‍💻👨‍💻 if,..

Java/Java 공부 2021.03.04

자바 enum❓❓

enum이란 무엇일까❓❓❓ Enum이란 Enumeration의 앞 글자로 열거라는 의미를 갖는다. 관련이 있는 상수들의 집합입니다. 자바에서는 final로 String과 같은 문자열이나 숫자들을 나타내는 기본 자료형의 값을 고정할 수 있습니다. 이렇게 고정된 값을 상수라고 합니다. 영어로는 constant입니다. 어떤 클래스가 상수만으로 작성되어 있으면 반드시 class로 선언할 필요는 없습니다. 이럴 때 class로 선언된 부분에 enum이라고 선언하면 이 객체는 상수의 집합이다. 라는 것을 명시적으로 나타냅니다. 1. 클래스처럼 사용가능하다. public enum Rank { THREE(3, 4_000), FOUR(4, 10_000), FIVE(5, 30_000); private final int m..

Java/Java 공부 2021.03.02

6. 회원 데이터 모델링

1. 패키지명을 테이블명으로 1대1 매칭시킨다. DTO, DAO를 통해 데이터 입출력을 수행한다. 2. 회원 테이블의 칼럼들을 변수로 만들고 각각 생성자와 getter / setter를 만들어준다. ==> 초기화 USER userID userPassword userEmail userEmailHash userEmailChecked 3. DAO에서 함수 작성 pstmt.executeUpdate() ==> insert, update, delete 등에 사용 pstmt.executeQuery() ==> select에 사용 다 배웠던 건데 가물가물하다.. 3 -1. 로그인 함수 public int login(String userID, String userPassword) { String SQL = "SELCET ..

Java/Jsp 2021.02.07

4. 로그인, 회원가입 화면

각각 독립적인 페이지로 userLogin.jsp 와 userJoin.jsp 페이지를 만든다음 nav에 걸어둔 링크를 통하여 서로 연결 시켰다. index.jsp - userLogin.jsp - userJoin.jsp 요부분에 저기 action부분이 아래 로그인 버튼을 누를 때의 action을 지칭하는 것인데 로그인 버튼을 눌렀을 때 url주소가 action의 명시된 주소로 보내진 것을 확인할 수 있다. 왜 404냐고? 아직 안만들었으니까..... 이제부터 만들어야해요 ㅠ 이건 회원가입 페이지

Java/Jsp 2021.02.05

3. 강의평가 메인화면 디자인

* 웹을 먼저 디자인한 후에 서버 프로그램을 입히는 것이 가장 빠르고 효율적. ==> 혼자 작은 단위의 프로젝트를 수행할 때, container 클래스 반응형 웹으로 요소들이 크기에 맞게 알아서 작아지게 해줌. m - (0 ~ 5) : 마진 클래스로 (...ml , mt , mb, mr) p - (0 ~ 5) : 패딩 클래스 (...pl , pt , pb, pr) 기본적으로 html, css 기반이기 때문에 문법은 똑같고, 미리 만들어져있는 클래스를 사용하는 것뿐. data-toggle="modal" 페이지에서 화면 전환이 아닌 팝업을 띄워야할 때 사용하는 bootstrap만의 팝업. 아래의 공식문서를 참조하면 자세히 알 수 있다. getbootstrap.com/docs/4.0/components/mod..

Java/Jsp 2021.02.05
반응형