일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TLS
- github
- 프로그래머스
- AWS
- Git
- EC2
- jdbc
- 책 정리
- db
- SSL
- 코딩테스트
- spring
- Hibernate
- Linux
- Spring Legacy Project
- centos7
- vagrant
- docker
- Client
- sample
- TypeScript
- WebHook
- spring boot
- DISTINCT
- window
- 토비의스프링
- ssh
- mariadb
- Jenkins
- Java
- Today
- Total
목록분류 전체보기 (106)
Woopii Vyeolog
1. 프로젝트 오른클릭 --> Export --> WAR file 클릭 2. 프로젝트 이름과 경로를 설정해준다. war파일을 tomcat서버에 올리면 (tomcat 서버 폴더/webapps폴더) 서버가 켜져 있을 때 내 컴퓨터의 아이피로 접속이 가능하다.
github : https://github.com/leewoopyo/exam/tree/exam_v2 MVC 모델(해당 글에서는 Repository만 구현할 것임) Repository는 MVC모델에서 DB를 다루는 영역이다. DB에 직접 연결하여 CRUD하는 영역이라고 볼 수 있다. CRUD? : Create, Read, Update, Delete 성적 처리 페이지에서 Repository 영역 구현 앞에서 만든 성적관리 웹 페이지에서 MVC모델의 Repository 영역을 구현해 놓은 버전이다. (앞에서 만든 성적관리 웹 페이지 : https://woopi1087.tistory.com/22) ● Repository영역 1. ReporitoryIO(domain)(ExamRIO.java) 실제 DB에서 다루는..
github : https://github.com/leewoopyo/exam/tree/master github에 repository 생성 우선, github로 버전을 관리하기 위해서 github에 repository를 하나 생성할 것이다. 내 작업 폴더에 해당 repository를 생성 할 폴더 생성 후 SourceTree로 github에 생성한 해당 repository의 클론 생성 1. github에 생성한 repository 주소 복사 2. SourceTree 실행 후 Clone만들기에서 주고 붙여넣고 폴더 경로를 내가 생성한 폴더로 설정 3. 생성 확인 성적 관리 프로젝트 생성 1. File --> New --> Dynamic Web Project 클릭 2. 프로젝트 이름과 위에서 만든 경로로 설정..
스프링 다운 : https://spring.io/ Spring Tools 4 다운로드 (자신의 컴퓨터 환경에 맞게 다운) 다운 받으면 jar파일 하나를 다운 받게 되는데, (spring-tool-suite-4-4.5.1.RELEASE-e4.14.0-win32.win32.x86_64.self-extracting) 압축 해제하면, (sts-4.5.1.RELEASE)와 같은 폴더가 생성됨 실행 가능 작업 공간 생성 sts실행 시 작업환경 경로로 설정하고 실행 실행 실행 화면(나는 이미 몇개 진행한 폴더가 있어서 왼쪽 에 프로젝트 몇개가 있음 ) UTF-8 설정을 위해서 설정에 들어감 Window --> preferences (설정) 설정 화면 General --> Workspace --> Text file E..
Vector vs Arraylist 둘다 크기가 동적인 배열을 사용 할 때 주로 사용한다. Multi Thread 환경에서는 데이터에 접근할 때 해당 데이터에 대한 무결성이 보장되어야 하는데 Arraylist는 비동기식이라 여러 Thread에서 동시에 접근이 가능하지만 Vector의 경우, 동기식이라서, 하나의 Thread에서 접근하면 다른 Thread에서는 접근이 불가능 하다. 대신 동기식인 Vector는 Arraylist에 비해 속도가 느리다. 따라서, MultiThread 환경이 아니라면 Arraylist를 사용하는 것이 성능적인 면에서 좋고, MultiThread환경에서는, 데이터 무결성을 위해 vector를 사용해야 한다.
한 권의 책을 예시로 들어본다. (table 이름은 'book' 이다.) 당연히 책 안의 내용은 DB의 데이터가 된다. 그리고 책의 페이지는 데이터가 저장된 레코드 주소가 될 것이다.(ID) DBMS에서 원하는 데이터 결과를 가져오려면, 첫 페이지에서, 마지막 페이지까지 모든 페이지를 검색한다.(Full scan) PAGE TITLE 001 A 002 A 003 A ......... 099 A 100 B 101 B 102 B .......... 199 B 200 C 201 C 202 C ........ 299 C 위처럼 구성된 책에서 'B'만을 검색하려고 하면 Select page From book where title = 'B'; 1번 페이지부터 계속 검색을 해서 100페이지 째에서 B를 검색하고 마지..
일단, 이 세 클래스는 모두 문자열을 저장하고 관리하는 클래스이다. String은 불변(immutable)하고 StringBuffer,StringBuilder은 가변(mutable)하다. String String 클래스는 두 클래스와는 다르게, literal방식을 통해 생성하게 되면 그 크기(공간)는 절대 변하지 않는다. //리터럴로 생성하는 방식 String literal = "literal"; //new로 생성하는 방식 String new = new String("literal"); //위에서 "literal" 이라는 문자열을 String Pool에서 생성했기 때문에 //이후에 추가한 str1, str2, str3는 추가적으로 생성하지않고 똑같은 문자열을 가리킨다. String str1 = "lite..
Garbage Collector(GC) 메모리 관리 기법 중 하나 프로그램이 동적으로 할당했던 메모리 영역 중에서, 필요없게 된 영역을 해제하는 기능이다. 쓰레기 수집은 동적 할당 된 메모리 영역 가운데, 더 이상 사용할 수 없게 된 영역을 탐지하여 자동으로 해제하는 기법이다. 더 이상 사용할 수 없게 된 영역이란, 어떤 변수도 가리키지 않게 된 영역을 의미한다. 장단점 아래와 같은 버그를 줄이거나 완전히 막을 수 있다. 유효하지 않은 포인터 접근 : 이미 해제된 메모리에 접근하는 버그 이중 해제 : 이미 해제된 메모리를 또다시 해제하는 버그 메모리 누수 : 더이상 필요하지 않은 메모리가 해제되지 않고 남아있는 버그 하지만 아래와 같은 단점이 있다. 어떤 메모리를 해제할지 결정하는 데 비용이 든다. 객체..