Step01 - 프로젝트 설계 및 프로젝트 생성 이장에서는 아래의 내용을 중점으로 살펴볼 것 입니다 어떤 서비스를 만들것인가. 도메인구조, 테이블구조 프로젝트구조 Spring boot 프로젝트 생성 1. 어떤 서비스를 만들것인가. 온라인 서점에서 한번에 여러개의 책을 주문할 수 있는 주문 시스템 API 서비스 구축 간단히 말하면 위 소제목과 같은 간단한 API 서버를 만들 것입니다. 좀 더 상세히 말하면 아래와 같을 수 있습니다. 책을 주문하기 위해서는 Spring boot 온라인 서점 회원이어야 합니다. 회원은 여러 개의 주문 신청을 할 수 있습니다. 주문을 할 때 한 번에 여러 개의 책을 주문할 수 있습니다. 책은 여러 주문의 의해 주문될 수 있습니다. 주문이 완료된 이후에 배송이 시작됩니다. 배송을..
Intellij로 효율적으로 개발하기(1) - Intellij Refactoring 기능 개발을 하다보면 Intellij의 리팩토링을 정말 많이 사용합니다. 가장 대표적인 예가 클래스나 변수명 등 네이밍 변경 같은 경우가 될 수 있습니다. 만약 프로젝트 내에 모든 클래스를 변경하는데 손수 하나하나 네이밍을 변경하게 된다면 엄청난 시간을 허비해야 할 것입니다. 하지만 Intelij에서 Rename과 같은 기능을 이용한다면 한 번에 효율적으로 모든 네이밍을 변경할 수 있습니다. 이러한 네이밍 변경과 같이 효율적인 리팩토링 기능이 어떤 것들이 있는지 알아보겠습니다. 키보드는 맥 기준으로 설명해드리겠습니다. 윈도우같은경우 스크린샷안에 내용을 참조해주시면 감사하겠습니다. Rename 기능 변수, 클래스, 메소드명..
Euqals, Hashcode 메소드에 대해 알아보자. 먼저 equals 메서드와 hash code가 왜 필요한지를 간단하게 알아보자. 만약 아래처럼 member1객체와 member2객체를 선언하고 객체를 비교했을 때 true 값을 받을 수 있을까 ?? 그렇다.. 너무 쉬운 질문이었다. 답은 당연히 false 일 것이다. 그 이유는 둘은 동일 객체가 아니기 때문이다. public class Test { public static void main(String[] args){ final Member member1 = new Member("1"); final Member member2 = new Member("1"); System.out.println(member1 == member2); // false Sy..
시작하며 컬렉션에 대한 내용을 정리하게 된 계기는 먼저 자바 Collection 만의 API 기능을 효율적으로 사용하기 위해서이다. 다음은 자료구조를 적극적으로 활용하기 위해서이다. 자료구조를 이용하면 훨씬 효율적으로 데이터들을 관리할 수 있고 심지어 코드의 가독성 또한 좋아지기 때문이다. 가독성이 안 좋아지고 복잡함을 증가시키는 IF 문을 피하는 코드를 만드는 것은 아주 효율적인 코딩이라고 생각한다. 예를 들어, List에 있는 이메일들을 중복 검사한다고 했을 때 단순하게 생각하면 List를 Email 숫자만큼 loop를 돌려 Email을 중복 검사하는 방법이 있을 수 있다. 하지만 HashSet, TreeSet을 이용하면 중복된 값이 저장이 되지 않기 때문에 좀 더 효율적으로 데이터를 관리하고, 소스..
토비의 스프링 이글은 토비님의 스프링책을 보고 요약한 내용입니다 테스트 스프링이 개발자에게 제공하는 가장 중요한 가치가 무엇이냐고 질문한다면 그것은 객체지향과 테스트라고 한다. 엔터프라이즈 앱은 변화가 계속해서 일어난다. 이런 변환에 대응하는 첫 번째 전략이 확장과 변화를 고려한 객체지향적 설계와 그것을 효과적으로 담아낼 수 있는 IoC/DI같은기술이다. 두번째 전략은 만들어진 코드를 확실할 수 있게 해주고, 변화에 유연하게 대처할 수 있는 자신감을 주는 테스트 기술이다. 2.1 UserDaoTest 다시 보기 테스트의 유용성 테스트 코드를 작성하게 되면 자신이 작성한 코드가 제대로 작동하는지 확인할 수 있다. 이를 통해 코드의 결함(의존성)을 제거해가는 작업, 디버깅을 거치게 되고 최종적으로 테스트가 ..
컴퓨터 시스템 구조 1. 컴퓨터 시스템의 구조 컴퓨터 시스템 구조에 들어가기전에 용어를 먼저 정리해보자. CPU란 CPU는 내부적으로 크게 3가지로 나눌 수 있습니다. 연산을 수행하는 산술논리장치(ALU), 제어 명령을 전달하는 컨트롤 장치(CU), 결과 값을 일시적으로 기억하는 레지스터(Register)가 이에 해당됩니다. 아래 그림은 CPU의 구조를 그림으로 도식화 한 것이다. Memory란 CPU의 Register의 용량은 매우 작다. 그래서 정보를 저장해 두었다가 필요할 때 읽어 들여 이용할 수 있는 주 기억 장치가 필요하다. 이 주기억장치에는 컴퓨터가 켜지면 운영체제, 사용자 프로그램등이 메모리공간에 올라가게된다. CPU는 주기억장치에서 프로그램들의 명령어등을 읽어와 작업을 수행한다. 주 기억창..
1.운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용 및 다른 모든 소프트웨어를 연결하는 소프트웨어 계층으로 써 컴퓨터 메모리를 효율적으로 관리하는 역할을 한다. 커널이란 컴퓨터와 전원을 켜면 운영체제는 이와 동시에 수행된다. 한편 소프트웨어가 컴퓨터 시스템에서 수행되기 위해서는 메모리에 그 프로그램이 올라가 있어야한다. 마찬가지로 운영 체제 자체도 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라가야한다. 하지만, 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심할것이다. 따라서 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용하게 된다. 이 때 메모리에 상주하는 운영체제의 부분을 커..
EntityManagerFactory, EntityManager, PersistenceContext란? EntityManagerFactory란 데이터베이스를 하나만 사용하는 애플리케이션들은 일반적으로 EntityManagerFactory를 한개만 생성한다. 이 엔터티 매니저 팩토리로 엔터티 매니저를 생성할 수 있다. EntityManagerFactory는 Thread Safe해서 여러 스레드가 동시에 접근해도 안전하므로 서로 다른 스레드간에 공유해새 사용한다. EntityManagerFactory 정리 Hibernate에서는 SessionFactory(EntityManagerFactory) 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하다.(thread-safe) EntityManager를 ..
- Total
- Today
- Yesterday
- javascript
- Angular
- eslint
- SSH
- kotlin
- OAuth
- jenkins #mac방화벽
- Chache
- IntelliJ
- network
- batch
- OS
- vue
- #linux
- https
- JPA
- Linux
- Collection
- Github
- Gradle
- tobi
- Jenkins
- Infra
- aws
- HMAC
- Spring
- java
- Quasar
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |