GitHub - kiteco/vscode-plugin: Kite Autocomplete Plugin for Visual Studio Code Kite Autocomplete Plugin for Visual Studio Code. Contribute to kiteco/vscode-plugin development by creating an account on GitHub. github.com VsCode에서 지원하는 확장프로그램으로 AI가 다음으로 입력할 문장을 자동으로 추천해주는 프로그램이다 현재 개발과 배포가 멈춰서 더 이상 마켓플레이스에서 다운로드 할 수 없다. 그래서 수동으로 직접 설치해줘야 하는데 배포가 멈추기전에 있었던 vsix 파일을 다운로드 받은뒤 VsCode 좌측 하단 톱니바퀴를 누르면 나..
MVC SW공학 아키텍처 디자인 패턴 중 하나로 Model View Controller 의 약자 MVC 줄여 말하는 패턴 MVC의 핵심은 화면 (View), 제어 (Controller), 데이터 연동 ( 을 구성하는 로직 코드 를 분리하여 서로간의 영향도를 줄이고 코드를 간결하게 관리하여 코드 설계 품질을 향상시킬 수 있는 기법 한국에서만 주로 사용하는 구조 해외에선 자바의 지분률이 낮다 패키지 구조 ◆ View : 프론트 UI ◆ Controller : 뷰와 모델을 적절히 제어, View 로 부터 전달 받은 사용자의 입력 요청 을 분석하고 , 이에 필요한 데이터를 Model 로 부터 전달 받아 올바른 결과의 View 를 구성하도록 전달만 수행 ◆ Model : 백엔드, DBMS, 데이터 처리 가공 (비..
나중엔 JPA나 MyBatis 배우면 이걸 쓸 예정 JDBC란? 자바에서 데이터베이스에 접근할 수 있게 해주는 Java의 Library로 실제 DB 접근하기 위해선 벤더 사 별로 다른 JDBC Driver(.jar 파일)를 활용하고, Java에선 JDBC Interface를 통해 동일한 코드로 각기 다른 DB를 접근 할 수 있는 Interface MySQL에서 제공하는 Java-DB간 연결을 위한 Connect j를 다운받아 적용하고 (Mysql 홈페이지 회원가입 필요) MySQL :: Download Connector/J MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 and higher is compatibl..
이미지 같은걸 처리할땐 바이트 기반 스트림을 사용한다. PipedInputStream : 소스값이 파이프와 필터를 거치며 필요한 값을 추출 (마치 정수기의 물의 여과과정) Source -> [pipe1] - [filter1] - [pipe2] - [filter2] - [pipe3] - [filter3] - Result 주로 프로세스를 다룰때 사용 FilterInputStream : 보조스트림으로 용도에 따라 4가지가 있음 - BufferedInputStream ByteArrayInputStream : 바이트로 구성된 Array를 읽어옴 StringbufferedInputStream : 문자열 읽어오는 스트림 InputStream 바이트 기반 입력스트림의 최상위 클래스로 추상클래스임 - FileInputS..
Map은 나중에 JPA Criteria (JPQL) 사용할때 알아둬야하니 공부공부.. ORM와 MyBatis(배우기쉽고 표준적으로 많이씀, 우리나라,중국등 동양쪽에서 많이씀) 도 있음 해싱? 해시 함수를 통해서 일정한 길이의 값을 뽑아 데이터를 저장, 검색 해쉬 테이블은 배열과 링크드 리스트가 조합된 형태이다. (해싱은.. 보안 포렌식쪽에서만 써봤는데, 자바에서도 쓰이는줄은 몰랐다.) 1. 키로 해쉬함수를 호출해서 해쉬코드(hash code)를 얻는다. 2. 해쉬코드(해쉬함수 반환값)에 대응하는 Linked List를 배열에서 찾는다 3. Linked List에서 키와 일치하는 데이터를 찾는다. 해쉬 테이블은 잘 사용하지 않아 적지 않음 Map 계열 주요 메소드 키와 값을 String 타입으로 제한한 M..
List 계열 주요 메서드 ArrayList 실제 배열을 기반으로 구현되어 있지만, 기존의 배열의 불편함만 없앤 컬렉션 List의 후손으로 초기 저장용량은 10으로 자동 설정 / 따로 지정 가능 저장 용량을 초과한 객체들이 들어오면 자동으로 증가 / 고정도 가능 동기화(Synchronized)를 제공하지 않음 → 성능상 좋아짐! (둘다 상속 받아서 쓰면 됨) 1.Comparable 객체에 상속받아서 compareTo() 메소드를 오버라이딩 → 한개의 정렬만 가능 2.Comparator Comparator를 상속받아 compare()메소드를 오버라이딩 → 여러 개의 정렬 가능 Alt + shift + S로 간단하게 Member 클래스 생성 package com.multi.ex02.collections_li..
List나 Map에 비해 문법이 까다롭고 어려운 편 Set계열 주요 메서드 1. HashSet Hash를 사용하여 속도가 가장빠름 단, 중복 저장을 하지 못함 HashMap을 더 많이 사용함 2.LinkedHashSet HashSet과 비슷하지만 Set에 순서를 추가해 유지함 3.Treeset 정렬을 유지하며 Set중 가장 많이 씀 반복자 패턴을 사용하기 위한 인터페이스 (잘 안씀) 1.Enumeration : Iterator 구버전 2.Iterator 3.ListIterator : Iterator를 상속받아 양방향 특징 List때 사용한 Member 클래스를 그대로 사용해 테스트 package com.multi.ex03.collections_set; import java.util.ArrayList; i..
배열의 문제점 1. 한번 크기를 지정하면 변경할수 없음 - 공간 크기가 부족하면 에러 발생 -> 할당시 넉넉한 크기로 할당하게 됨 (메모리 낭비) 2. 기록된 데이터에 대한 중간위치 추가, 삭제가 불편함 - 추가 삭제시 데이터를 뒤로 밀어내고 추가해야함 (알고리즘이 복잡해짐) 3. 한 타입의 데이터만 저장가능 컬렉션의 장점 1. 저장하는 크기의 제약이 없음 2. 추가, 삭제, 정렬 등의 기능 처리가 간단하게 해결됨 - 자료를 구조적으로 처리하는 자료구조가 내장, 알고리즘 필요 X (코드 생산성 향상) 3. 여러 타입의 데이터 저장가능 주요 인터페이스 List, Set, Map 계열 List 계열 : 순서를 유지하고 저장, 중복저장 가능 Set 계열 : 순서를 유지하지 않고 저장, 중복저장 불가능 Map ..