Netty-In-Action 1부, 네티 개념과 아키텍처 1장. 네티: 비동기 이벤트 기반 네트워킹 프레임워크 최초 자바 API(java.net)은 네이티브 시스템 소켓 라이브러리가 제공하는 블로킹 함수만 제공 다수의 클라이언트를 관리하려면 새로운 클라이언트 소켓마다 새로운 스레드를 할당해야 함. 여러 스레드가 입출력 데이터를 무한정 대기하는 상태가 유지될 수 있고, 이는 곧 리소스에 대한 낭비로 이어질 수 있음. 운영체제에 따라 다르지만 스텍의 기본 크기는 64KB ~ 1MB까지 차지할 수 있다. JVM이 많은 수의 스레드 생성을 지원하지만, 동시 접속이 한계에 이르는 순간(1만개 전후) 컨텍스트 스위칭에 따른 오버헤드가 심각한 문제가 될수 있다. 네이티브 소켓 라이브러리에는 오래전부터 네트워크 리소스..
[2장] 모든 객체의 공통 메서드 Objects는 객체를 만들 수 있는 구체 클래스면서 기본적으로 상속하여 사용이 가능 equals, hashCode, toString, clone, finalize 모두 재정의를 염두로 두고 설계 일반 규약에 맞도록 재정의(overriding)해야 하며, 잘못 구현하면 오작동을 발생 시킬 수 있음 ITEM 10 - equals는 일반 규약을 지켜 재정의하라 일반 규약에 맞도록 재정의 하지 않을꺼면 재정의를 안하는 것이 최선. 아래 항목이 해당하는 경우 재정의를 하는 것이 크게 의미가 없을 수 있음. 각 인스턴스는 본질적으로 고유 인스턴스의 논리적 동치성을 검사할 일이 없는 경우 상위 클래스에서 정의한 equals가 하위 클래스에 딱 들어맞는 경우 클래스가 private이..
# Ant vs Maven1. Ant는 비교적 자유도가 높은 편 (Ant : 전처리 / 컴파일 / 패키징 / 테스팅 / 배포 가능)2. Maven은 정해진 라이프사이클에 의하여 작업 수행하며, 전반적인 프로젝트 관리 기능까지 포함하고 있음. (Build Tool + Project Management) # Maven Pattern1. Build : Source/Test Code Compile ▼2. Package : WAR/JAR ETC package ▼3. Test : Unit Test, Test Result Check ▼4. Report : Build, Package, Test 결과 정리 및 문서화(Report 생성) ▼5. Release : Build 후 생성된 결과물(Artifact)를 Local ..
1. mapper.xml Sample12345678910 { call sp_test_procedure( #{p1}, #{p2,jdbcType=VARCHAR}, #{p3}, #{p4,jdbcType=VARCHAR}, #{p5,jdbcType=VARCHAR} ) } - statementType 속성 값에 "CALLABLE"을 지정 - SELECT, INSERT, DELETE, UPDATE, SELECTKEY 구문에서 사용 가능. - 리턴 받는 내용이 있으면, #{} 안 내용을 하단과 같이 기술 "#{p1, mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=test}" ※ reseultmap 구문 지정해줘야 함. ex) "" 2. Java Code Sampl..
Apple Java_home 관련 문서https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/java_home.1.html IntelliJ에서 Java와 Gradle 버전 설정하기 (Spring Boot): ~/.bash_profile 설정, $JAVA_HOME 변경 처리- http://blog.saltfactory.net/java/setting-java-and-gradle-version-in-intellij.html terminal) cdterminal) sudo nano ~/.bash_profileterminal) source ~/.bash_profile JDK VersionChange..
1. 데이터베이스를 사용한 인증 적용 - 기본 스키마 적용 / 사용할 DB 설정 에 datasource를 참조하도록 하여 security.xml파일 수정 - 기본 예제와 다른 점은 UserDetailService에 대한 구체적인 구현 내용 (JdbcDaoImpl를 상속하여 Custom UserDetailService 클래스를 생성) - 스프링 시큐리티에서는 JDBC 데이터베이스와 관련 일반적인 CRUD 기능을 제공함. (JdbcUserDetailsManager 빈 선언 및 CRUD 기능을 제공하는 UserDetailManager 인터페이스 매소드를 구현하여 실질적인 유머와 관련된 CRUD 작업 내용으로 작성) - JdbcDaoImpl의 주요 기능 중 하나는 GratedAuthority를 그룹으로 분류, ..
[스프링 시큐리티 3장 정리]스프링 시큐리티는 기본 Security 네임스페이스 설정을 사용하더라도 기본적인 로그인, 인증, 권한부여의 기능 구현이 가능함. 1. 로그인 / 로그아웃 이해 - 헤더/푸터 페이지 구성(태그 라이브러리를 활용) - 폼 액션의 경우, UsernamePasswordAuthentification 서블릿 필터에서 설정한 액션과 일치해야 함. 폼의 기본 액션 값은 j_spring_security - 태그 설정을 통하여 로그인 페이지로 접근할 수 있는 URL 및 액세스 권한을 설정해야 함 ▶︎ 스프링 시큐리티의 모든 URL 요청에 대해 위에서 아래로 내려오는(top to bottom) 순서대로 권한부여 규칙을 해석해 적용 ▶︎ ex) 세션 무효화 / SecurityContext초기화 /..
주력 통합개발환경인 이클립스 환경 설정에 관련된 포스팅을 남겨본다. PC환경이 조금이라도 안좋은 경우(예를 들어 램이 모자라거나 CPU 사양이 낮거나.... 혹은 SSD를 사용 안하거나...)는 진짜 이클립스 쓰기에 뻑뻑한게 현실이다. 이럴 경우 이클립스에서 사용하는 JVM쪽 설정을 조금 다시 셋팅하여 사용하는 것이 그나마 속도 개선이 좋은 부분이 있기 때문에 평소 사용하는 설정 부분을 포스팅하려고 한다. // STS의 경우 STS.ini 123456789101112 ####################### eclipse.ini ################################# -vmargs-Dosgi.requiredJavaVersion=1.6-Xverify:none-XX:+UseParall..
- Total
- Today
- Yesterday
- WebFlux
- maven
- Spring
- package.js
- tomcat
- Sublime Text 3
- EJS
- Prototype
- Kotlin
- HTTP
- RestTemplate
- springboot
- Package Control
- ecma
- Spring Boot
- implicit prototype chain
- HttpClient
- node.js
- jade
- Express.js
- Sublime Text 2
- 스프링
- SideBarEnhancements
- Handlebars
- Squelize.js
- pm2
- Til
- cluster
- http method
- Spring MVC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |