본문 바로가기

전체 글

(104)
2022.12.06 Database와 SQL 1. Database 데의터의 집합. DBMS(Database Management System) Database를 관리하고 운영하는 소프트웨어 RDBMS RDBMS는 ‘Relational DBMS’의 약자로 관계형 데이터베이스라고 불립니다. RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다. H2 In-memory DB의 대표 주자인 H2를, 앞으로 연습용으로 사용할 것입니다. 인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스 MySQL MySQL은 우리가 서비스를 배포할 때 사용할 데이터베이스입니다. AWS RDS 라는 서비스를 사용해 붙여볼 예정입니다. 스프링..
2022.12.05 웹 동작방식의 이해 IP 주소 컴퓨터 식별을 위한 위치 주소 네트워크상의 송/수신은 IP주소를 기준으로 이루이짐 브라우저 크롬, 엣지, 사파리 등... 웹페이지, 이미지, 비디오 등 컨텐츠를 송/수신 하고 표현해주는 소프트웨어 컨텐츠 송/수신, 컨테츠 표현 DNS(Domain Name Server) "www.example.com " IP 주소대신 사용. 중간 서버에서 도메인 주소를 IP주소를 중개해줌 HTTP(HyperText Transfer Protocol) 멀리 떨어져서 서로에 대한 정보가 없는 메세지의 송/수신자가 서로 필요한 요청과 응답을 할 수 있도록 미리 규약을 정해놓은 것을 “프로토콜”이라고 하고, 웹 상에서는 HTTP 라는 프로토콜을 통해서 데이터를 송/수신 HTTP에서는 언제나 Request, Respons..
[WIL] 2022.11.28 ~ 12.02 미니 프로젝트 발표와 자바 심화 두번째 미니 프로젝트인 은행 관리 시스템을 진행하였고 여유롭게 필수 기능 구현에 성공하여 발표 준비에 힘을 쏟을 수 있었다. 팀원들이 모두 협동하여 발표 자료를 만들고 무난하게 발표를 마쳤다. 다른 조의 코드를 보면서 다양하고 새로운 방법으로 구현할 수 있었구나 생각하였고 다음엔 스트림이나 람다를 적극 활용하여 최신 자바에 부합하는 구현을 해보고 싶다. 발표 후 진행되었던 자바 심화에서는 새로운 개념들이 마구 쏟아지면서 말그대로 심화 자바였다. 생소한 내용이 많아서 반복 학습과 학습한 기술을 적용한 새로운 코딩을 해 볼 예정이다.
2022.12.02 테스트 코드와 Thread 테스트 코드 의도된 대로 정확히 작동하는지 검증 장점 개발 과정 중 예상치 못한 문제를 미리 발견할 수 있다. 작성한 코드가 의도한 대로 작동하는지 검증할 수 있다. 코드의 변경, 추가, 삭제 시 사이드 이펙트를 줄일 수있다. 생성된 Test 클래스의 위치 확인. 자동으로 생성된 테스트 클래스의 이름은 “테스트 대상 클래스+Test”로 자동 생성 Annotation @Test : 테스트 메서드임을 나타냄. 실행 가능 @BeforeEach : 각 메서드 전에 실행됨을 나타냄. @BeforeAll : 현재 클래스의 모든 메서드보다 먼저 실행되어야하는 메서드 표시. @AfterAll : 현재 클래스의 모든 메서드보다 나중에 실행되어야하는 메서드 표시. @RepeatedTest : 메서드 반복 호출을 함을 표시..
2022.12.01 인터페이스, 람다, 스트림, Optional 춥다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 interface Practice { // 상수 (final/static : 지우라고뜸) 타입 상수명(대문자 convention) = 값; String HI = "Hi~"; // 추상 메서드 List findAllName(); // Default 메소드 default 타입 메소드명(파라미터,...) {...} default void printHi() { System.out.println(HI); } // static 메소드 static void printHi() { System.out.println(HI); } } Colored by Color Scripter cs 필드 구성가능 상수만 가능, 클래스 로드 시점에서..
2022.11.30 JVM 구조 JDK 구조 JVM 구조 클래스 로더 서브시스템 - .class에서 바이트 코드를 읽고 메모리에 저장 메모리 - 메소드 영역 (클래스 영역, 스태틱 영역) : 클래스 파일의 바이트 코드가 로드되는 곳 클래스와 static 저장 *바이트 코드 : 프로그램의 흐름을 구성하는 코드 - 스택 영역 (스레드 영역): 스레드마다 런타임 스택을 만들고, 스텍 프레임이라 부르는 블록을 쌓는 곳 메서드가 있는 곳 - 힙 영역 : 객체를 저장 main(String[] args) 예시
2022.11.29 프로젝트 발표 + .gitignore 은행 관리 시스템 프로젝트 발표 표지화면. 실행화면 팀원들 끼리 열심히 준비한 발표가 끝났다. 별 탈 없이 마무리 됐고 회고와 다면평가를 제출했다. .gitignore 보안상 위험이 있는 파일, 프로젝트와 관계없는 파일, 용량이 큰 파일 등 git 에 포함시키기 꺼려지는 파일들을 커밋 단계에서 제외시키는 기능 사용법 git init이 포함된 폴더에 .gitignore 파일을 생성한다 그 안에 제외할 파일 혹은 디렉토리를 한 줄씩 작성한다. 특정 파일 제외 fileName.js 현재 경로의 파일 제외 /fileName.js 특정 폴더 내용 제외 folderName/ 특정 경로의 특정 파일 제외 directory/fileName 특정 경로 아래에 모든 특정 파일(다른 경로의 같은 이름 파일) 제외하기 dir..
2022.11.28 프로젝트 발표 준비 실행화면 1 2 3 4 5 6 7 8 else { if (i