일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- 위상정렬
- 포트앤어댑터 아키텍처
- 이펙티브 자바
- UML
- 다익스트라
- java
- 파이썬
- springboot
- 스프링
- 헥사고날 아키텍처
- spring security
- 비트마스크
- 알고리즘
- dataframe
- docker
- DP
- 데이터 flow
- Redis
- disjoint set
- BFS
- 자바
- pandas
- dfs
- 문자열
- 세그먼트 트리
- equals
- 백준
- ddd
- series
- Today
- Total
목록개발 (95)
코딩못하는사람
IntelliJ란? 스프링 개발에 친화적인 JetBrains에서 만든 Java IDE이다. 인텔리제이의 장점 강력한 추천 기능 다양한 리팩토링과 디버깅 기능 형상관리(Git)의 높은 자유도 인덱싱을 통해 파일 및 자원에 대한 빠른 검색속도 HTML과 CSS,JS,XML에 대한 강력한 기능 지원 자바,스프링 부트 버전업에 맞춘 빠른 업데이트 스프링 프로젝트 시작하기 start.spring.io/ 에서 원하는 파일을 생성하는 방법과 인텔리제이에서 바로 Spring Initializr를 사용하는 방법이 있다. 원하는 프로젝트 명, 빌드툴, 패키징 포맷, 언어,버전 등을 자유롭게 선택하여 만들 수 있다. (과거에는 Maven이 많이 쓰였고, 현재는 Gradle이 많이 쓰인다.) 마지막으로 프로젝트에 필요한 의존..
유스케이스 다이어그램이란? 시스템에서 제공해야 하는 기능이나 서비스를 명세한 다이어그램. 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여준다. 외부에서 본 시스템의 기능을 표현하기 때문에, 실제 내부의 비즈니스 로직이 아닌, 사용자가 수행하는 기능을 파악하고 싶을 때 작성한다. 사용목적 고객과 개발자가 요구사항에 대한 의견을 조율 프로젝트에 대한 요구사항을 정의하고 세부기능을 분석하여 개발 범위 정립 구성요소 유스케이스 다이어그램은시스템(System), 액터(Actor), 유스케이스(Usecase), 관계(Relation)로 구성되어 있다. 1.System 만들고자 하는 프로그램 명칭을 나타낸다. 유스케이스들을 둘러싼 사각형 틀로 시스템 명칭을 안쪽 상단에 작성. 2.Act..
UML(Unified Modeling Language) 이란? UML은 프로그램 설계를 그림으로 알아보기 쉽게 표현하기 위해 정의한 표기법이다. 객체지향 언어와 밀접하게 관련있기 때문에 객체지향 모델링 언어라고도 한다. 소프트웨어 시스템,업무 모델링,시스템의 산출물들을 규정하고 시각화하며 문서화하는 언어이다. 프로그래밍 언어가 아닌 모델링 언어이다. (방법론X) UML 작성 이유 의사소통 또는 설계 논의를 위해 전체 시스템의 구조 및 클래스의 의존성 파악을 위해 유지보수를 위한 설계의 back-end 문서 제작을 위해 UML 종류 1.구조 다이어그램(Structure Diagram) 클래스 다이어그램, 객체 다이어그램, 복합체 구조 다이어그램, 배치 다이어그램, 컴포넌트 다이어그램, 패키지 다이어그램 2..
JPA란? Java Persistence API 의 줄임말로 자바 진영 ORM 기술의 표준이다. ORM 이란? Object-relational mapping(객체 관계 매핑)으로 객체는 객체대로 설계하고 RDB는 RDB로 설계를 한 후 ORM 프레임워크가 중간에서 DB과 객체를 매핑해준다. 객체 지향적으로 설계할 수 있다는 장점이 생긴다. JPA는 java 애플리케이션과 JDBC사이에서 동작한다. 직접 JDBC를 컨트롤하는 것이 아닌 JPA가 JDBC API를 사용해 SQL 을 호출해서 DB와 동작한다. (JPA가 JDBC를 나 대신 sql을 작성해준다) JPA는 인터페이스의 모음이다. 구현체로 하이버네이트, EclipseLink, DataNucleus를 가지고 있고 8~90%가 하이버네이트이다. 왜 J..
Jmeter 란? Apache JMeter는 웹 애플리케이션처럼 클라이언트-서버 구조로 된 소프트웨어의 성능 테스트를 위해서 만들어진 자바 오픈소스이다 프로토콜(Protocol)도 계속 추가되어 TCP, HTTP(S), FTP, JDBC, LDAP, SMTP, SAP/XML, RPC 등 현재 범용으로 사용되는 프로토콜 대부분을 지원한다. 주요 설정 1.Thread Group JMeter에서 다양한 하위 Element 항목들을 제어하기 위한 시작점이다. Thread Group을 생성하면 부하 테스트 수행 시 원하는 항목들로 변경하기 위한 설정항목들이 나온다. Number of Threads(users) : Single Thread 수로 사용자 수를 의미 Ramp-Up Period(in seconds) : ..
JPA를 공부하기 위해 미니 프로젝트를 진행할 때 선물 엔티티에 구매한 회원,받은 회원으로 회원 외래키를 단방향으로 두개 참조해야 하는 구조였다. JPA 공부할 때 @JoinColumn에는 매핑할 외래키 이름으로 name설정을 해줘야 한다는 기억으로 단순하게 다음과 같이 코드를 작성했었다. 하지만 바~로 에러가 발생했다. Repeated column in mapping for entity: gifticon.giticonshop.domain.Gift column: member_id should be mapped with insert="false" update="false" 읽기 전용으로 바꿔서 뻘짓도 했지만 DB에 JPA로 생기는 테이블을 ddl-auto: create 모드로 설정해주고 반복해서 이름을 바..
Docker란? Docker는 "컨테이너 기반의 오픈소스 가상화 플랫폼"이다. 다양한 프로그램,실행환경을 컨테이너에 추상화하여 동일한 인터페이스를 제공함으로써 배포 및 관리를 쉽게 할 수 있도록 도와준다. 예를 들어 mySQL,Ubuntu 환경등을 컨테이너(이미지)로 만들어 놓고 쉽게 꺼내 쓸 수 있게 도와준다. 컨테이너(Container)란? 컨테이너란 격리된 공간에서 프로세스가 동작하는 기술이다. 우리가 사용하던 Virtual Machine과 비슷하지만 차이가 있다. 기존 VM은 OS를 가상화하는 방식이였다. 예를 들어 윈도우에서 리눅스를 돌릴 수 있게 해주거나 그 반대가 가능하게 해주지만 운영 체제의 전체 자원뿐만 아니라 운영 체제가 실행해야 하는 모든 하드웨어의 가상 자원이 필요하기 때문에 많은 ..
템플릿 메서드 패턴이란? 어떤 작업을 처리하는 부분에서 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바뀌지 않으면서 필요한 특정 부분만 변경하면서 써야하는 형식을 (동일한 부분+각각 다르게 쓸 부분) 형태의 템플릿 형태로 만들어서 사용하는 패턴이다. 여기서 각각 다르게 쓸 부분을 추상 메서드로 만들어 준다. 추상 클래스의 사용 이유는 중복을 줄여주는데 있다. 템플릿 메서드는 그 추상 클래스의 특징을 사용해서 대부분의 같은 부분중 각각 다르게 쓰여야할 중요 부분들만 override해서 쓰는 것이다. 학생들에게 다니기만 하면 주는 모범상을 준다고 가정해보자.(예시이기 때문에 간단하다) 진부한 상장 내용이 중복될 것이고 그 사이에 바뀌는 학생들 이름이 들어가야 할 것이다. Awards 추상클래스에 pri..
프록시 패턴이란? 클라이언트와 서버사이에서 대리자 역할을 하며 중계해주는 프록시 서버의 느낌과 같이 프록시 패턴도 구체화해서 사용하는 객체를 대신해서 대리자 객체(인터페이스)를 사용하여 클라이언트쪽에서 어떤 클래스를 주입받는지 알 수 없게 만들어주는 (클라이언트단만 신경쓰게 해주는)패턴입니다. 프록시 패턴의 특징 대리자는 실제 서비스와 같은 이름의 메서드를 구현한다. 이때 인터페이스를 사용한다. 대리자는 실제 서비스에 대한 참조 변수를 갖는다(Proxy가 RealSubject를 가짐) 대리자는 실제 서비스의 같은 이름을 가진 메서드를 호출하고 그 값을 클라이언트에게 돌려준다. 대리자는 실제 서비스의 메서드 호출 전후에도 별도의 로직을 수행할 수도 있다. 프록시 디자인패턴 사진입니다. 클라이언트가 Subj..
1.어댑터 패턴 어댑터 패턴의 이해는 콘센트로 이해할 수 있다. 우리나라에서는 220V의 콘센트를 쓰지만 필요에 따라서 110V,22V,11V에 맞춰서 다양하게 연결되어야 할 때가 있다.이럴 때 우리는 중간에 220V와 110V가 연결될 수 있도록 호환을 도와주는 인터페이스를 만들어 주어야 한다. 설계도는 다음과 같다. 클라이언트에서는 Target Interface 를 호출하는 것 처럼 보인다. 하지만 클라이언트의 요청을 전달받은 (Target Interface 를 구현한) Adapter 는 자신이 감싸고 있는 Adaptee 에게 실질적인 처리를 위임한다. Adapter 가 Adaptee 를 감싸고 있는 것 때문에 Wrapper 패턴이라고도 불린다. 예제를 만들어 보았다. 내가 220V 폰 충전기를 가지..