일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 리눅스
- spring
- 오라클
- oracle
- MongoDB
- 티스토리
- 학점
- 프로젝트
- jsp
- c#
- dynamic query
- SQL
- 운영체제
- JVM
- 파이썬 소스
- 파이썬
- 자바
- 오라클 디비
- K6
- gradle
- hyperledger
- 자바 프로젝트
- 알고리즘
- 백준 알고리즘
- 문법 정리
- 유사코드
- auto configure
- 초대장
- resilience4j
- smart cast
- Today
- Total
목록Programming (154)
모종닷컴
ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: 대충 에러 내용이 ASM ClassReader가 버전이 달라서 읽을 수 없다고 하는 내용입니다. 람다를 사용하기 위해 1.8로 변경했는데 Spring의 버전이 낮아서 생긴 에러입니다. 출처 : https://spring.io/blog/2014/03/27/spring-framework-4-0-3-released-with-java-8-support-now-production-ready
스프링이란? 스프링이란?=자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크. 정의) 프레임워크 = 소프트웨어를 만드는 데 기본이 되는 골격 코드, 완전한 애플리케이션이 아니며 확장 또는 구현하여 완전한 애플리케이션으로 완성이 된다. 예시 ) EJB , Spring 스프링의 주요 전략 1. POJO를 이용한 가볍고 비침투적 개발2. DI와 인터페이스 지향을 통한 느슨한 결합도3. Aspect와 공통 규약을 통한 프로그래밍4. Aspect와 템플릿을 통한 반복적이고 상투적인 코드 제거 핵심은 응집도를 높이고 결합도를 낮추는 것. 스프링 배우기 전 개념들 1. EJB (Enterprise Java Bean) 자바빈 ?= 컴포넌트 기반의 소프트웨어 모델 스펙, 자바 객체를 재사용 가..
1. 람다 없이 기본 소팅 소팅은 Collections의 소팅을 이용하며, 사용 시 익명함수를 마들어 사용한다. List humans = Arrays.asList(new Human("Jack",10),new Human("Sarah",10)); Collections.sort(humans,new Comparator() { @Override public int compare(Human o1, Human o2) { return o1.getName().compareTo(o2.getName()); } }); System.out.println(humans.get(0).getName()); 2. 람다를 이용한 소팅 다음 예제는 람다를 이용하여 익명함수를 작성하는 것이다. List humans = Arrays.asLis..
애플릿(Applet) : 요청을 어플리케이션을 생성하여 그 속에서 처리하여 내린다.(멀티 프로세스 방식) -> 웹 클라이언트(브라우저)에서 돌아가는 작은 프로그램 프로세스 생성 비용 서블릿 (Servlet) : 요청을 서블릿 컨테이너에게 넘기고, 서블릿 컨테이너는 스레드를 이용하여 각각을 처리한다. -> 서버 측에서 돌아가는 작은 프로그램 최초의 요청에 대해서 어플리케이션 실행 후 그 뒤에는 하나로 유지(멀티 스레드 기반) [출처 : http://myblog.opendocs.co.kr/archives/427http://www.libqa.com/wiki/133] 서블릿 컨테이너와 스프링 컨테이너 -> https://minwan1.github.io/2017/10/08/2017-10-08-Spring-Cont..
Map의 자료구조 Key / Value 형태 Map의 종류HashMap - Key, value에서 null값을 허용한다. - 저장된 순서를 보장하지 않는다.key값의 소팅으로 저장됨( 저장된 순서를 유지하고 싶다면 Linked를 통해 구현된 것을 이용) - get, put에 대하여 일정한 시간의 성능을 제공한다 -> O(1) - 동기화 되어 있지 않다. [해쉬 분포와 해쉬 충돌 : https://d2.naver.com/helloworld/831311] HashTable - HashMap과 비슷하나 동기화 처리 되어있다(권장은 하지 않는다 concurrent된 것을 사용하자) TreeMap - 블랙 레드 트리에 기초(이진 트리가 편향되지 않도록 만드는 조건이 달림) - 순서가 보장되지 않는다. - 동기화 ..
쿠키 정리 파일입니다.
정리한 파일입니다.
자바의 특징을 다시금 공부해야함을 느꼈다. 먼저 인터페이스와 추상 클래스(abstract)의 차이점을 생각해보면 인터페이스 추상 클래스 implements(구현)을 함으로써 반드시 정의되어야 하는 메서드를 선언한다.다중 상속이 가능하다.추상 메서드뿐만 아니라 기본 메서드(default)도 가능( 버전 8이상)default와 public 외에 접근제한을 가지지 못한다.상수를 가질 수 있다. extends(상속)받음으로 반드시 정의되어야 하는 메소드를 선언한다.다중 상속이 불가능하다.기본 메서드(default)가 가능.protected, public을 사용할 수 있다.상수 외에 필드를 가질 수 있다. 내가 다시금 배우면서 중요하다 생각했던 부분은 다음과 같다. 추상 클래스는 접근 제한(protected)을 ..
인터페이스 설명 List 순서가 있음, 중복 허용 Set 순서가 없음, 중복 허용하지 않음 Map 순서가 없음, Key의 중복을 허용하지 않음. 이 프레임워크중에서 List의 구현체들을 알아보자. 1) ArrayList - 내부적으로 배열을 사용하여 요소들을 관리합니다.- 배열을 사용함으로 검색 속도가 좋다.- 값이 추가 혹은 삭제될 때 내부적으로 배열을 새로 만들어놓고 옮긴다.- 추가 및 삭제에 대하여 시간이 오래걸림. (ex. 총 5개의 요소 중 3번째 요소를 삭제하면 뒤에 부분을 다시 앞으로 옮기고 옮기고..) 2) LinkedList - 요소들끼리 링크를 통해 연결됨으로 삽입 삭제가 용이.(= 이중 연결리스트)- 검색에는 불리하다. ( 앞, 뒤로 계속 링크를 타고 가야함으로..) 3) Vector..
1. 제네릭이란 무엇이고, 왜 사용하는 걸까?? - 컬렉션, 람다식, 스트림 등 등 잘못된 타입이 들어오는 것을 방지 - API 도큐먼트에 자주 보인다.- *실행 시 타입 에러가 나는 것보다 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지- 컬렉션에서 elements를 가져올 때 항상 타입 변환을 해야하는데, 제네릭으로 타입을 한정 짓게 되면 타입 변환을 할 필요가 없이 고정적이기 때문에 프로그램의 성능이 향상된다. 2. Object로 쓰면 되지 않나요? Object를 쓰게 되면 위에서 언급했던 것과 같이 타입을 반환을 할 때 Object로 반환하기 때문에 이에 다시 타입을 강제 변환시켜야 한다. 때문에 타입 변환이 빈번해지면 전체 프로그램 성능에 좋지 못한 결과를 가져올 수 있다. 특히 자..