java 69

[JavaScript] 그림으로 이해하는 자바스크립트 Array

Array 선언 const animal = ["ant", "beer", "cat", "dog", "eagle", "fox", "giraffe"] 길이 얻기 (length) const animal = ["ant", "beer", "cat", "dog", "eagle", "fox", "giraffe"] console.log(animal.length) // 7 Element 얻기 ([idx])const animal = ["ant", "beer", "cat", "dog", "eagle", "fox", "giraffe"] console.log(animal[3]) // "dog" Index 얻기 (indexOf)만약 배열안에 찾는 값이 없다면 -1을 반환.const animal = ["ant", "beer", "c..

QuickSearch // Java // Lambda

Lambda 함수적 프로그래밍 > Parallel + EventDriven 람다식 > 익명함수 생성식 람다식 > 매개변수를 가진 코드블록 > 익명구현객체 익명구현객체 Runnable runnable = new Runnable() { public void run() { ... } } 람다식 Runnable runnable = () -> { ... }; Method References 메소드 참조 > 메소드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내어 람다식에서 불필요한 매개 변수를 제거 [1] 메소드 참조를 사용하지 않을 경우 (a, b) -> Math.max(a, b); [2] 메소드 참조 static method & instance method 모두 가능 Math :: max obj :: ins..

Java/Java 개념 2019.10.19

QuickSearch // Java // FileSystem

Java IO는 파일의 속성 정보를 읽기 위해 File 제공 Java NIO는 다양한 클래스와 인터페이스 제공 - java.nio.file, java.niofile.attribute File Java IO Path java.nio.file.Path Interface Path path = Paths.get(String first, String... more); Path path = Paths.get(URI uri); get() compareTo() - 경로가 동일하면 0, 상위 경로면 음수, 하위 경로면 양수, 음수와 양수 값의 차이나는 문자열 수 int compareTo(Path other) getFileName() - 부모 경로를 제외한 파일 또는 디렉토리 이름만 가진 Path 반환 Path getFi..

Java/Java 개념 2019.10.14

QuickSearch // Java // Collection

Collection 객체를 효율적으로 관리하기 위한 자바의 자료구조 모음 List 순서 유지 중복 가능 ArrayList 내부 저장 구조에 Array를 사용하는 List 저장용량이 초과하면 자동으로 저장용량을 늘림 List list = new ArrayList(); List list = new ArrayList(30); Vector ArrayList와 동일한 내주 저장 구조를 가짐 ArrayList와 다른 점은 동기화(Synchronized)된 메소드를 가짐으로 ThreadSafety 하다는 것 Syncronized & ThreadSafety? List list = new Vector(); List list = new Vector(30); LinkedList 다음 객체의 주소를 참조하여 체인처럼 관리하는..

Java/Java 개념 2019.10.14

QuickSearch // Java // Stream

Stream 람다 내부반복자 파이프라인 ( 중간처리 & 최종처리 ) 병렬처리 ( 포크조인 ) Creating from collection List list = new ArrayList(); Stream stream = list.stream(); from array String[] arr = {"soul", "music", "child"}; Stream stream = Arrays.stream(arr); from range IntStream stream = IntStream.of(1,2,3,4,5); IntStream stream = IntStream.rangeClosed(1, 100); from file // Files.lines() Path path Paths.get("../memo.txt"); Str..

Java/Java 개념 2019.10.13

학습 // Spring // Security // Architecture

업데이트 :: 2018.08.22 스프링 시큐리티 모듈프레임워크 아키텍처스프링 시큐리티 모듈spring-security-core인증과 인가기능을 구현하기위한 핵심기능spring-security-web웹 애플리케이션의 보안 기능을 구현하기 위한 컴포넌트로 구성spring-security-config모듈에서 제공하는 컴포넌트의 설정을 지원하기 위한 컴포넌트로 구성spring-security-taglibs인증정보나 인가정보를 사용하기 위한 JSP 태그라이브러리spring-security-oauth2OAuth2를 사용해 인가기능을 구현하기 위한 모듈추가기능일반적인 인증방법(LDAP, OpenID, CAS 등등)을 지원하기 위한 모듈ACL(Access Control List)을 사용한 도메인 객체의 인가를 제어하..

Spring/Security 2018.08.22

학습 // Spring // Security

업데이트 :: 2018.08.22 스프링 시큐리티특징기본 보안기능강화 보안기능스프링 시큐리티애플리케이션에 보안기능을 구현할때 사용하는 프레임워크서블릿 컨테이너에 배포하는 웹 애플리케이션의 보안 기능 구현에서 많이 사용특징다양한 옵션기본 구현 클래스의 동작 방식을 커스텀할 수 있는 다양한 옵션 제공기본 동작 방식이 보안 요구사항에 부합하지 않으면 옵션 값을 변경해서 요구사항 충족가능다양한 확장점동작 방식을 커스텀할 수 있는 다양한 확장점 제공기본 동작 방식이 보안 요구사항에 부합하지 않으면 확장 클래스를 만드는 방법으로 충족가능기본 보안기능인증 기능 (Authentication)애플리케이션 사용자의 정당성을 확인인가 기능 (Authorization) -> 자원에 대한 권한 처리애플리케이션 리소스나 처리에 ..

Spring/Security 2018.08.22

학습 // Spring // MVC // Test

업데이트 :: 2018.08.22 스프링 MVC 테스트MockMvcMockMvc 란MockMvc 설정테스트 실행요청 데이터 설정실행 결과 검증실행 결과 출력스프링 MVC 테스트스프링 MVC 컨트롤러의 테스트컨트롤러의 주요역할은 다양컨트롤러의 주요역할요청 경로처리내용의 매핑입력값 검사요청한 데이터의 취득비즈니스 로직 호출다음 이동 화면의 제어정작 컨트롤러 자체에는 단위 테스트가 필요할 만한 비즈니스 로직이 존재하지 않음스프링 MVC의 프레임워크 기능까지 통합된 상태인 통합 테스트의 관점으로 봐야함통합한 상태에서 컨트롤러 테스트E2E(End to End)로 테스트뷰가 생성한 응답 데이터(HTML)의 유효성을 검증할 수 있다는 장점단점애플리케이션이나 데이터베이스를 반드시 기동트랜잭션이 커밋되기 떄문에 테스트를..

Spring/MVC 2018.08.22