profile
꾸준히 나아가자 🐢
태그 목록
전체보기 (238)데브코스(51)TIL(43)CS(37)k8s(15)JPA(14)Spring boot(14)spring security(13)네트워크(12)Spring(11)test(11)Java(10)BankSystem(9)sql(8)docker(8)디자인 패턴(6)db(6)하루 기록(6)애자일(5)자료구조(5)OS(5)modelattribute(4)OOP(4)REST(4)optional(4)exception(4)http(4)알고리즘(4)redis(3)transactional(3)ObjectMapper(3)운영체제(3)session(3)mysql(3)오브젝트(3)transaction(3)(3)spring-guide(3)JDBC(3)bean validation(3)Thread(3)spring-data-jpa(3)https(3)controlleradvice(2)DTO(2)cors(2)logging(2)git(2)DML(2)build(2)@RequestParam(2)spring mvc(2)mock(2)디자인패턴(2)ResponseEntity(2)XSS(2)PostgreSQL(2)Builder(2)stream(2)interface(2)무중단 배포(2)Lamda(2)unit test(2)Mockito(2)csrf(2)CI/CD(2)integration test(2)redirect(2)특강(2)jackson(2)SOLID(2)VO(2)MyBatis(2)데이터베이스(2)rds(2)entity(2)cookie(2)JVM(2)RequestBody(2)chmod(1)미션(1)@ExceptionHandler(1)404(1)Trie(1)yaml(1)클라우드(1)bean(1)service(1)개구리책(1)GetMapping(1)commit 메세지(1)abstract class(1)Auto Configuration(1)gradle(1)throw(1)URN(1)class(1)TriFunction(1)records(1)@NotBlank(1)linkedlist(1)jsp(1)@JsonInclude(1)tcp(1)RestController(1)RequestContextHolder(1)연관관계 매핑(1)서블릿(1)SQL injection(1)Generic(1)원인 파악 X(1)Optional.map()(1)OAuth2.0(1)ec2(1)UDP(1)Querydsl(1)JWT(1)forward(1)WS(1)WAS(1)var(1)머지(1)BiFunction(1)ocp(1)LocalDate(1)aop(1)nested(1)java 17(1)github actions(1)메모리관리(1)www & non-www(1)Collection(1)tree(1)select(1)springboot test(1)ResponseCookie(1)functional interface(1)메서드(1)@RestControllerAdvice(1)Enum(1)cascade(1)접근 제한자(1)Configmap(1)LSP(1)repository(1)form 태그(1)secret(1)replicaset(1)logger(1)spring-rest-docs(1)array(1)피드백(1)getter(1)spa(1)servlet(1)nosql(1)github(1)객체지향(1)http 헤더(1)Swagger(1)No serializer found for class(1)OneToOne(1)(1)JDBCTemplate(1)Hash Table(1)HttpSession(1)JPQL(1)샤딩(1)Pageable(1)inner class(1)정규화(1)시간 복잡도(1)영속성 컨텍스트(1)jdk(1)@SpringBootTest(1)@Validated(1)Controller(1)EmptyResultDataAccessException(1)일급 컬랙션(1)reflection api(1)thread-safe(1)Checked Exception(1)메모리(1)ci(1)프로세스(1)N+1 문제(1)Parameterized(1)ingress(1)ORDER BY(1)object(1)page(1)web(1)Collection.forEach(1)stub(1)스프링 입문을 위한 자바 객체 지향의 원리와 이해(1)Bank System(1)LocalDateTime(1)environment(1)URI(1)IoC(1)orElse(1)Autowired(1)jenkins(1)@ResponseBody(1)프록시객체(1)DNS(1)mysql index(1)ArrayList(1)동기화(1)@SessionAttribute(1)리플렉션(1)Unchecked Exception(1)stack(1)queue(1)deployment(1)S3(1)Datasource(1)process(1)elasticsearch(1)heap(1)세션(1)SpringSecurity(1)Class Diagram(1)3xx(1)@Valid(1)orElseGet(1)group by(1)mockMvc(1)throws(1)oAuth(1)MapsId(1)RequestMapping(1)iterator(1)validation(1)Index(1)jacoco(1)url(1)DDL(1)@DataJpaTest(1)고급 매핑(1)

SQL order by, unique 조건 반드시 추가 할 것

회사에서 1차 과제를 하던 중 쿼리를 이용하여 페이징을 하고 있는데 중복된 데이터가 등장하며 페이징이 제대로 동작하지 않는 문제가 발생하였다.정렬 기준에 unique한 컬럼을 추가하지 않아서 발생하는 문제였다. DB는 더 이상 사용할 정렬 조건이 없는 경우 알아서 판단

2023년 2월 25일
·
0개의 댓글
·

JPA와 MyBatis의 차이

SQL Mapper와 ORM은 개발자가 JDBC Programming(인간 매퍼)을 하지 않도록 기능을 제공한다.Object와 SQL의 필드를 매핑하여 데이터를 객체화 하는 기술객체와 테이블 간의 관계 매핑 아님SQL 문을 직접 작성하고 쿼리 수행 결과를 어떠한 객체에

2023년 2월 25일
·
0개의 댓글
·

mybatis like 검색 구문

mybatis like 검색 - postgresql, mysql 위에서 볼 수 있듯이 을 이용해 검색 키워드와 필요한 문자들을 합하여 사용할 수 있다. 위의 예시는 postgresql과 mysql에 한정된 방식인거 같으니 다른 vendor를 사용한다면 아래 블로그 글을 참고하도록 하자. 참고 [MyBatis] LIKE 검색 구문 (Oracle, Post...

2023년 2월 25일
·
0개의 댓글
·

like, ilike 차이

sql에서 키워드가 포함되어 있는지 여부를 판단할 때 사용하는 문법like : 대소문자 구분ilike : 대소문자 구분하지 않음postgresql, mysql의 default escape 문자는 (backslash)이다.

2023년 2월 25일
·
0개의 댓글
·

데이터 분석 SQL Fundamentals - Date, Timestamp, Interval

Date : 년월일Timestamp : 년월일 + 시간Time : 시간Interval : 기간, 음수와 양수 모두 나올 수 있다.to_date(문자열, 문자열의 포맷팅)to_timestamp(문자열, 문자열의 포맷팅)to_char(Date, 문자열 출력 포맷팅)::da

2023년 2월 12일
·
0개의 댓글
·

데이터 분석 SQL Fundamentals - join

모든 내용은 postgresql 기준입니다join on 문법을 사용하는 방법이 ansi join이라고 한다.현재 join 시 표준처럼 사용된다.view와 비슷하다.임시 테이블을 만든다.VIEW는 한번 만들어놓으면 DROP할때까지 없어지지 않지만 WITH절의 같은 경우

2023년 2월 12일
·
0개의 댓글
·

오브젝트 - 3장 역할, 책임,협력

객체지향 패러다임의 관점에서 핵심은 역할(role), 책임(responsbility), 협력(collaboration)

2023년 2월 11일
·
0개의 댓글
·

오브젝트 - 02 객체지향 프로그래밍

객체지향 패러다임으로의 전환은 객체에 초점을 맞출 때에만 얻을 수 있다.어떤 객체가 필요한지 고민할 것객체는 협력하는 공동체의 일원으로 볼 것 → 설계를 유연하고 확장 가능하게 만든다.도메인문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야클래스의 내부와 외부를 구

2023년 1월 30일
·
0개의 댓글
·

오브젝트 - 01 객체, 설계

소프트웨어의 모듈의 3가지 목적제대로 실행되어야 한다.변경이 용이해야 한다.이해하기 쉬어야 한다.이해 가능한 코드란 동작이 예상에서 크게 벗어나지 않는 코드관램객과 판매원이 극장의 통제를 받는다 → 예상에서 벗어남관람객(Audience)과 판매원(TicketSeller

2023년 1월 29일
·
0개의 댓글
·

스프링 입문을 위한 자바 객체 지향의 원리와 이해

1장 1장 정리 내용 2장 2장 정리 3장 3장 정리 4장 4장 정리 5장 5장 정리 6장 [6장 정리](https://github.

2023년 1월 29일
·
0개의 댓글
·

Transaction

데이터베이스에 상태를 변화시키는 작업의 논리적인 단위하나로 처리해야하는 명령문들의 그룹분할 할 수 없는 업무처리의 단위트랜잭션은 ACID 특징을 보장해야 한다.단 상황에 성능(동시성)을 위해 희생시킬 수 있다(by isolation level)트랜잭션에서 일관성과 동시

2023년 1월 28일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - Secret

보안 정보를 관리하기 위해서 사용하지만 etcd에 그대로 저장되기 때문에 중요한 정보인 경우 외부 솔루션을 사용해야한다.쿠버네티스 안내서

2023년 1월 27일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - ConfigMap

쿠버네티스는 ConfigMap을 이용하여 설정을 관리한다.파일 내용(config-file.yml)이 my-config로 저장된다.volume을 이용하여 ConfigMap을 적용한다./etc/config라는 컨테이너 내부 디렉토리에 ConfigMap을 마운트한다.kube

2023년 1월 27일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - ingress

도메인을 이용하여 서비스에 접근할 수 있는 방법port는 1개이며 path, domain을 이용하여 서비스를 분기시킨다.(Ingress만 관리하면 된다)도메인 테스트는 귀찮은게 많으니 IP주소를 도메인에 넣어 바로 사용할 수 있는 slipp.io를 이용한다.ingres

2023년 1월 27일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - Service

Pod의 경우 쉽게 사라지고 생성됨 → 직접 통신을 권장하지 않는다.별도의 고정된 IP를 가진 서비스를 만들어 Pod에 접근해야 한다.클러스터 내부의 Pod이 다른 Pod에 접근하기 위해 사용(내부에서 사용하는 것이 목적)Service(ClusterIP)는selecto

2023년 1월 26일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - Deployment

Deployment는 쿠버네티스에서 가장 널리 사용되는 오브젝트ReplicaSet을 이용하여 Pod을 업데이트하고 이력을 관리하여 롤백하거나 특정 버전(revision)으로 돌아갈 수 있다.새로운 버전의 Pod을 생성하고 기존 Pod을 제거한다.Deployment Co

2023년 1월 26일
·
0개의 댓글
·

보안 - XSS, CSRF, SQL INJECTION

사이트 간 스크립팅정적 웹페이지에서는 문제가 발생하지 않지만, 사용자의 입력을 받아 동적으로 HTML을 조작하는 웹 어플리케이션이 주요 공격 대상권한이 없는 사용자(관리자가 아닌 악의적인 사용자)가 웹 페이지에 악성 스크립트를 삽입하여 공격하는 방법의도하지 않은 행동을

2023년 1월 21일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서- ReplicaSet

Pod은 자동으로 복구되지 않습니다. 하지만 Replicaset은 Pod을 정해진 수만큼 복제하고 관리할 수 있습니다.(Pod이 죽어도 자동으로 복제를 해준다.)spec.replicas: 원하는 Pod의 개수 설정spec.selector: label 체크 조건(어떤 l

2023년 1월 17일
·
0개의 댓글
·

Rest Docs와 Swagger

Rest Docs와 Swagger를 간단히 비교하고 간단히 저의 생각을 정리해봅니다.프로덕션 코드에 영향이 없다.통합 테스트 코드를 작성해서 문서가 생성되기 때문에 프로덕션 코드에 어떠한 영향을 주지 않는다.테스트 코드가 성공해야 문서 작성이 가능하다.문서를 위해서 테

2023년 1월 13일
·
0개의 댓글
·

초보를 위한 쿠버네티스 안내서 - Pod

k8s에서 관리하는 가장 작은 배포 단위Pod은 한 개 또는 여러개의 컨테이너를 포함한다.version: 오브젝트 버전kind: 종류(Pod, Replicaset)metadata: 메타데이터(name, label, annotation)spec: 상세 명세, 리소스 종류

2023년 1월 12일
·
0개의 댓글
·