문제해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까?입력첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다.각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 n(0 ≤ n ≤ 30)이 주어진다.다음 n개에는 해빈이가 가진 의상의 이름과 의상의 종류가 공백으로 구분되어 주어진다. 같은 종류의 의상은 하나만 입을 수 있다.모든 문자열은 1이상 20이하의 알파벳 소문자로 이루어져있으며 같은 이름을 가진 의상은 존재하지 않..
이전까지의 프로젝트에서는 pull request를 보내고 코드 리뷰를 한 뒤 merge하는 사이클로 프로젝트를 진행하였다. 이에 조금더 발전된 방향으로 협업을 해보고자 이슈를 발행하고 해당 이슈에 대한 pr을 날리는 방식으로 협업을 해보고자 한다! 근데 사실 협업이라기에는 서버 개발을 혼자하지만...^^ 그래도!! 연습 차원에서 혼자 북치고 장구치고!! 아래 내용은 내가 팀 노션에 만들어놓은 협업 가이드이다. 심플하지만 그래도 적어두면 불필요한 헤맴을 방지할 수 있을거 같아 팀을 위해 정리해두었다. 아래 플로우 중 처음 사용해보는 이슈 발행 기능에 대한 커스텀 레이블, 템플릿 지정 등을 해보고자 한다.Labels 자 이제 이슈를 발행하자! 하고 봤는데 옆에 Labels라는게 있다. 사용해본적은 없지만 ..
그동안 자잘한 프로젝트를 여럿 경험하였다.매 프로젝트에서 회의록, 업무 일지 등을 팀 노션에 꼼꼼히 기록하고자 하였다. 하지만 막상 자소서를 작성하려고 하면 내가 어떤 문제 해결을 어떻게 하였는지 구체적으로 기억이 나지 않는다.분명 그때 좋은 아이디어로 상황을 잘 해결했었는데라는 뭉툭한 기억뿐.현재 마주한 취업 상황 뿐만 아니라 많은 상황에서 기록은 중요하다.내가 어떤걸 고민했었는지, 어떤 걸 배웠었는지, 어떤 것을 하며 즐거워했는지, 어떤 걸 잘하는지, 어떻게 해결했는지 등.내가 나를 알아야 성장할 수 있다. 그래서 이번 프로젝트에서는 꾸준히 프로젝트에 관한 글을 개인 블로그에 작성해보고자 한다!! 글을 작성하며 더 깊이 있는 학습을 하고,또 같은 문제 상황을 겪는 사람들에게 지식을 나누고 싶다는 작은..
문제어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다.처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. 각 도시에는 단 하나의 주유소가 있으며, 도시 마다 주유소의 리터당 가격은 다를 수 있다. 가격의 단위는 원을 사용한다.예를 들어, 이 나라에 다음 그림처럼 4개의 도시가 있다고 하자. 원 안에 있는 숫자는 그 ..
RPC는 Remote Procedure Call의 약자로,자신과 다른 주소 공간에 있는 프로세스의 함수를 네트워크를 통해 호출할 수 있게해주는 시스템이다. MSA(Micro Service Architecture) 구조의 서비스를 만들 때 효율적인 개발을 돕는다. 프로세스 간 통신의 발전기존 RPC: 구현이 복잡하고 상호운용이 어려움SOAP: XML 기반의 데이터 교환용 통신 기술로 메세지 포맷이 복잡하여 오버헤드가 있다.REST: 텍스트 기반 형식으로 통신하여 편리하지만 많은 네트워크 통신은 오버헤드를 가져온다. 또한 type-safe하지 않다....gRPC 등장! gRPC구글에서 개발한 통신 프레임워크이다. 분산 애플리케이션을 보다 쉽게 만들 수 있으며 Interface Define Language를..
(얄팍한 지식으로 적은 글입니다...) Spark는 빅데이터 처리를 위한 분산 시스템이다. 빠른 속도로 데이터를 처리할 수 있고, 다양한 언어로 사용 가능하다. RDD를 통해 간편하게 구현이 가능하다! K-means는 데이터 마이닝 알고리즘 중 하나이다. 데이터를 K개의 그룹으로 적절하게 나누는 것을 목표로 한다. 구현 방법1. 좌표 파일을 읽어와 RDD 생성2. Random하게 (K개의) center ID를 key로, (1, 좌표값)을 value로 PairRDD(mapToPair)를 생성3. (input point의 개수, x좌표의 합, y좌표의 합)을 value로 변환 (reduceByKey)4. center_id에 대한 새로운 center 계산 (mapValues)5. 2~4번 반복
JPA가 어떻게 변경된 엔티티 객체를 찾는지 명확하게 이해하려면 영속성 컨텍스트라는 JPA 내부 원리를 이해해 야 한다. 이 부분은 JPA 기본편에서 자세히 다룬다. 지금은 트랜잭션 커밋 시점에 JPA가 변경된 엔티티 객체를 찾아서 UPDATE SQL을 수행한다고 이해하면 된다. '스프링 DB 2편 - 데이터 접근 활용 기술' 강의의 JPA 파트에 위와 같이 '영속성 컨텍스트'가 언급되었다. JPA 사용 시, entity 객체의 값을 수정하면 자동으로 db에 update된다. 어떤 원리로 작동되는건지 계속 궁금해하고 있었는데 이번 기회에 다뤄보고자 한다! 영속성 컨텍스트란?영속성 컨텍스트는 JPA가 엔티티를 기반으로 데이터를 처리하는데 핵심 역할을 하는 객체로,EntityManager가 제공하는 메..
위와 같이 작동한다. 위 플로우에서 SqlSession이 언제 생성되는지, 누구에 의해 생성되는지 궁금해 졌다.SqlSession은 스프링 MyBatis 통합 설정에 의해 관리된다고 한다.스프링은 SqlSession을 자동으로 생성하고 매퍼 메소드 호출 시 만들어져 있던 SqlSession을 사용한다. 그럼 SqlSession은 JDBC 커넥션과 같은 것일까?SqlSession이 JDBC 커넥션을 사용하는 관계이다.SqlSessionFactory는 SqlSeesion을 생성할 때 커넥션 풀에서 커넥션을 가져와 사용한다.
(인프런/김영한) 스프링 DB 2편 강의에서 가져온 코드 중 일부입니다. JDBC Template을 이용해 DB에서 값 조회 시, 람다식을 활용할 경우 코드를 효율적으로 작성할 수 있다. 아직 람다식 사용이 익숙치 않아 코드를 분석해보고자 글을 작성한다. 단건 조회: 객체 조회Actor actor = jdbcTemplate.queryForObject( "select first_name, last_name from t_actor where id = ?", (resultSet, rowNum) -> { Actor newActor = new Actor(); newActor.setFirstName(resultSet.getString("first_name")); newActor.setLastName..
같이 플젝하고 있는 친구를 위해, 그리고 겸사겸사 복습해보기 위해내가 아는 선에서의 Spring Data JPA에 대해서 정리를 해보려고 한다!(틀린 내용이 있을 수 있다... 혹시 있다면 알려주세요...) 기술에 대한 개요나 설정 등은 건너 뛰고'사용 방법'에 대해서만 간단히 정리를 해보겠다. 1. Entity우선 Spring Data JPA는 ORM 기술이다. 객체와 DB의 테이블을 자동으로 Mapping해준다.Spring Data JPA 사용 시, 테이블을 직접 생성하지 않아도 된다. 설정 파일에서 ddl-auto를 상황에 맞게 변경해주면 테이블이 자동으로 생성된다! 그럼 테이블을 어떤 클래스와 Mapping 되는 것일까? 아래와 같이 @Entity 어노테이션이 붙은 클래스는 테이블로 매핑된다. ..
- Total
- Today
- Yesterday
- 안드로이드
- 동덕여대
- 백준9375번
- 리트코드 1768
- 프로그래밍
- 그리디 알고리즘
- 컴과
- 백준 2108
- 컴공
- 자바
- bcrypaswordencoder
- 생활코딩
- BFS
- 스프링부트
- 백준
- 스파크
- 스프링 강의
- 백준 1004
- 코딩
- 동덕여대 컴퓨터학과
- 자바 1004번
- 리트코드 1768 해석
- RDD
- 알고리즘
- 자바 9375
- 코틀린
- 개발
- 웹
- 아이엘츠
- 컴퓨터학과
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |