일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html
- 헤리턴스아라
- 포트폴리오
- css
- 자바
- til
- 신혼여행
- 2022회고
- jvm
- http 완벽 가이드
- java
- CORS
- 자바스크립트
- 클로저
- 취업회고
- HTTP 완벽가이드
- 부트캠프
- leetcode
- Spring
- 몰디브
- 바닐라코딩
- 주간회고
- SpringSecurity
- http
- 상속
- 소프트웨어장인정신
- 이펙티브자바
- Hibernate Reactive
- 메가테라
- JavaScript
- Today
- Total
목록java (11)
codingBird

스프링 프로젝트에서 @SpringBootApplication 어노테이션이 있는 클래스, 즉 메인 클래스를 run() 했을 때 터미널에 많은 문자들이 출력이 되고 오류가 없다면 성공적으로 빌드가 된다. 지난 주에는 생각없이 지나쳤으나 이번 주에 강의에서 빌드 과정에서 출력되는 문자를 통해 JDBC:URL을 알아내서 h2-console에 입력하는 것을 보고 어떤 내용들이 출력되는지 알아보면 좋을 것 같아 조사하게 되었다. 그럼 spring 프로젝트의 main 클래스를 실행시키면 어떠한 과정을 거치면서 빌드를 하게 될까? 한 번 알아보는 시간을 가져보자. 로그 정보 좌에서 우로 출력되는 정보는 아래와 같다. Date and Time : 로그 아이템의 발생 날짜와 시간에 대한 정보가 담긴다. Log Level ..

보면 볼수록 이쁘고 아름다운 스프링. 심지어 유효성 검증을 하는 방법도 아름답다. 오늘 진행했던 퀘스트 과제는 Spring을 이용해 간단한 거래이체 프로그램을 구현해보는 것. 요구 사항은 아래와 같다. 메뉴에서 홈 페이지, 잔액 조회 페이지, 계좌 이체 페이지로 이동 가능 / 경로 일 경우 홈페이지에서 인사 메시지 볼 수 있음 /account 경로일 경우 잔액 조회 페이지에서 내 계좌 정보 확인 가능 /transfer 경로일 경우 계좌 이체 페이지에서 계좌번호와 보낼 금액을 입력하고 송금할 수 있음 송금에 성공하면 계좌 이체 성공 메시지를 볼 수 있음 /transactions 경로일 경우 거래 내역 페이지에서 거래 내역을 확인할 수 있음. 비슷한 유형의 과제를 몇 번이고 풀어봐서인지 코드와 테스트 코드는..

자바 하면 스프링, 스프링 하면 자바. 둘의 조합은 개발자가 되고자 마음을 먹기 전 인터넷을 통해 개발자라는 직업에 대해 조사를 하고 있을 때부터 익히 들어 알고 있던 조합이다. 다만 자바스크립트를 먼저 배우게 되었고 백엔드는 신입을 뽑지 않는다는 썰이 있어 그럼 프론트엔드로 커리어를 시작하는 게 좋겠다고 생각해 자바-스프링과는 멀어졌었지만, 어쩌다 보니 자바를 배우고 있고 뒤에 당연하듯 따라오는 스프링도 오늘 접하게 되었다. 지금은 강의에서 아샬님이 스프링을 어떻게 사용했는지 흐름을 파악하고 있는 정도여서 정확하게 스프링의 사용 이유, 그리고 사용하게 되면 무엇이 좋은지 정확하게 모르지만 @Repostitory와 @Controller @Service 어노테이션 그리고 이를 사용하는 @Bean은 정말 마..

1. 프로젝트를 시작하면서 메가테라 웹 개발자 코스에서 4주 간 자바 교육을 받고 첫 번째 레벨테스트로 개인 프로젝트를 진행하게 되었다. 개인 프로젝트의 필수 조건은 아래와 같다. 적극적으로 도메인 모델을 활용해서 구현하고 테스트 코드를 필수로 작성할 것 최소 8개 이상의 도메인 모델이 등장하는 복잡한 프로그램일 것 영속성 도구 (파일 쓰기 / 읽기)가 적용되며 CRUD 기능을 구현할 것 UI는 Swing을 이용할 것 매일 가치를 제공하는 소프트웨어를 만들 것 처음으로 프로젝트 기획부터 구현까지 혼자 작성하다 보니 걱정이 반 설렘이 반이었다. 2. 주제 선정 처음엔 지뢰 찾기나 연락처 프로그램을 구현하고자 했지만 필수 조건인 8개 이상 도메인 모델이 존재하는 프로그램을 작성하기 쉽지 않아 보여 가장 많이..

메가몰 작업 4일 차. UI를 붙이기 시작하니 슬슬 크고 작은 버그들이 눈에 보이기 시작한다. 크게는 화면이 업데이트되지 않는 이슈부터, 작게는 글자가 다르게 보이거나 순서가 바뀌어서 출력되는 문제. 자잘한 이슈는 비록 프로그램이 종료되거나 컴파일 오류가 나진 않지만 프로그램 완성도에 지대한 영향을 끼치기 때문에 하나하나 수정하고 있다. 오늘 겪었던 가장 큰 버그는 화면 업데이트가 되지 않았던 버그. 프로그램이 실행되고 처음 상품페이지에서 상품을 주문하고 주문 확인 페이지로 전환했을 때는 성공적으로 주문한 상품이 주문 확인 페이지에 렌더링이 된 것을 볼 수 있었는데, 다시 상품 페이지를 갔다가 주문 확인 페이지로 돌아오거나 다른 페이지에 갔다가 다시 돌아오는 경우 화면이 업데이트되지 않았다. 분명 Obs..

홀 : 그래서 Static멤버는 왜 인스턴스를 생성하지 않아도 사용할 수 있는 거죠? 나 : 클래스가 로딩될 때 method area에 메타데이터가 올라가서...? 홀 : 그럼 그게 어떻게 된다는 거죠? 나 : 모릅니당... 맞다. Method Area에 뭔가가 있다고만 알고 있고 무엇이 들어있는지 실제로 찾아보진 않았다. 그래서 인터넷을 뒤지며 찾았는데도 제대로 된 정보가 나오지 않아 포기를 하려던 도중에 중국어로 작성된 글이 있어 한번 봤는데 꽤나 자세하게 나와있고 작가가 원래 책으로 출판을 하려던 내용을 출판사와 계약이 깨지는 바람에 블로그에 글을 올리게 되었다고 하니 어느 정도 믿을 수 있지 않을까 해서 정리하게 되었다. 참고로 작가는 대만대 컴공과를 졸업하고 퍼블릭 아이비리그인 UIUC에서 석사..

# build란? 소스코드 파일을 하드웨어에서 실행할 수 있는 독립(standalone) 소프트웨어 가공물로 변환하는 과정을 말하거나 그에 대한 결과물. 총 4단계로 이루어진다. # preprocessing (전처리) 전처리 과정은 전처리기(preprocessor)에 의해 소스코드에 포함된 메크로나 지시자 같은 것을 포함시켜줌 -> 소스코드의 중심(main)이 실행되기 전에 사전 준비하는 과정 -> import문으로 명시한 패키지는 미리 참조하는 패키지를 가져와서 클래스 객체 앞에 이름을 붙여줌 # compile 어느 프로그래밍 언어를 동등한 다른 프로그래밍 언어로 전환해주는 것. 자바에서는 소스코드 파일을 JVM이 이해하는 자바 바이트코드로 작성된 목적 파일로 전환한다 -> 보통은 비트 코드를 부호화해..

객체지향에는 상속이라는 특징이 있다. 상속은 기존 객체를 토대로 새로운 객체를 생성하는 것으로 기존 객체의 특징을 웬만하면 전부 가지고 있고 (접근 제한자 public이라는 가정하에는 전부, protected는 해당 패키지의 클래스를 상속했다면 가능, default는 해당 패키지 안에서만, private은 불가), 기존 객체를 토대로 자신만의 특성을 확장하여 사용이 가능하다. 근데, 이거 evil이라고 하더라. 객체지향의 꽃인 다형성을 피우기 위해 상속이라는 개념은 객체지향에서 매우 중요하다고 어디선가 본거 같은데 정작 상속이 evil이라니? 그럼 애당초 패러다임에 문제가 있는 게 아닌가? 상속할 수 있어서 상속받아 사용했는데 왜 나빠? 암튼 이런 생각을 가지고 상속은 정말 나쁜지, 아니면 나쁜 상황이 ..