일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JUnit5
- 우테코
- Paging
- CircuitBreaker
- 스프링부트
- Spring Batch
- AWS
- 백준
- 자바
- 미션
- 의존성
- 프리코스
- MSA
- 트랜잭션
- mock
- 우아한테크코스
- 서블릿
- 스프링 부트
- Level2
- REDIS
- 레벨2
- 세션
- 우아한세미나
- AOP
- Docker
- HTTP
- yml
- 프로그래머스
- JPA
- 코드리뷰
- Today
- Total
목록전체 글 (159)
늘

프리코스를 진행하면서 새롭게 안 사실을 말하라고 하면 우선적으로 일급 컬랙션을 말할 것 같다. 긴 말은 생략하고 정의와 활용법 그리고 왜 사용하는 지를 알아보겠다!😄😄 일급컬렉션이란(First Class Collection)? - Collection을 Wrapping하면서, 그 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라고 한다. public class Cars{ List cars = new ArrayList(); Cars(List cars){ this.cars = cars; } ... } 역시 코드를 보는 게 이해하는 게 더 쉬울 것 같다! 위에 처럼 구현된 게 일급 컬렉션이다. 일급 컬렉션의 장점? 비즈니스에 종속적인 자료구조 Collection의 불변성을 보장 상태와 행위를 한 곳에서 관리 이..

매 주차 새로운 것을 배우고 적용해 보면서 제 자신을 바꾸기 위해 노력했다. 자신을 바꾼다는 게 생각보다 힘든 일이라는 것을 알았고 앞으로도 개발자의 길을 가는 데에 함께 해결해야 할 고민이라고 생각이 들었다. 프리코스를 진행하는 동안 코드에 대해서 많은 고민을 했습니다. 이전에는 클린한 코드보다는 코드의 내부 동작 방식 또는 새로운 기술에 관심을 주로 가졌다면 클린한 코드란 무엇인지, 가독성 좋은 코드는 어떻게 작성해야 하는지 등 새로운 관점을 배울 수 있었다. 3주간의 프리코스가 시험기간과 함께 하니 눈 깜빡한 사이에 지나갔다..😂😂😂 시험기간과 프리코스 기간이 정확히 겹치면서 오늘이 학교 종강일이자 프리코스 마지막 미션을 제출한 날이다..!🥳🥳 사실 마지막 주차는 아쉬움이 컸다. 변명 아닌 변명을 ..
시험기간이라 오랜만에 포스팅하는 것 같다...ㅠ 빨리 시험 끝났으면~😗😗 logback을 파일로 저장해도 좋지만, aws에서 제공해주는 cloud watch를 이용하면 로컬에 파일을 저장 안 해도 되고, 시각적인 지표도 볼 수 있으므로 더욱 유용하다. 따라서 springboot에서 logback으로 cloudwatch에 보내서 aws에서 관리하도록 하겠다. gradle implementation 'ca.pjer:logback-awslogs-appender:1.4.0' aws IAM 정책 설정 - CloudWatchAgentServerPolicy 정책을 추가해서 EC2에 연결 Cloudwatch-agent 설치 $ wget https://s3.amazonaws.com/amazoncloudwatch-agen..

아직도 안 믿긴다.. 현재..시..각... 2021-11-19 15:01분.... 아직 완전히 합격이 아니기 때문에 기분은 좋지만 간략한 느낌만 남기겠다. 자소서 몰입했던 경험들은 꽤 있어서 어떤 소스를 사용해야 할지 고민했었다. 그중 진부할 수도 있지만 공부와 관련된 것으로 결정을 했다. 열심히 적고 제출했는데 나중에 우테코 관련 글들을 우연히 보면서 자소서를 잘못 썼구나.. 하고 후회를 했다. 이때는 코테를 본 후에 발견한 것이라 만약 그전에 발견했다면 코테마저 망쳤을지도... 코딩테스트 코딩테스트는 구현 문제 위주로 나온다고 하여 구현을 집중적으로 풀어봤다. 구현이 워낙 약해서 걱정되었던 부분이었지만 우테코는 잘하는 사람이 아닌 성장하려는 사람을 뽑으려 하기 때문에 난이도가 크게 어렵지 않았다. 7..

🎐성능 테스트 목표🎐 성능 테스트 전략 수립 단계 중 가장 핵심은 바로 서비스할 소프트웨어에 대한 명확한 목표를 수립하는 것이다. 이 목표를 달성하기 위해 성능 테스트와 부하 테스트를 수행하고 튜닝작업을 진행한다. 만일 튜닝을 해도 목표를 달성하지 못한다면 하드웨어 증설이나 아키텍처 변경을 고려해 볼 필요가 있다. 서비스가 얼마나 빠른지(Time) 일정 시간 동안 얼마나 많이 처리할 수 있는지(TPS) 얼마나 많은 사람들이 동시에 사용할 수 있는지(Users)에 대해 이야기해야 한다. 성능 테스터의 관점에선 사용자가 Concurrent User 인지 Active User 인지가 중요합니다. Concurrent User : 웹 페이지를 띄어놓은 사용자처럼, 언제든지 부하를 줄 수 있는 사용자를 의미합니다...

학교 데이터베이스 수업을 들으면서 뒤로 갈수록 내용이 심화되고 좋은 정보도 많기에 글로 정리해보려고 한다!🤓🤓 Disk 구조 중요한 점은 File은 block단위로 디스크에 저장되고 메모리에 load 할 때는 page단위로 한다는 점이다. 그래서 block단위의 file들을 메모리에 가져올 때 transfer time이라는 비용이 발생한다. 이러한 transfer비용을 줄이기 위해서 cache가 등장한다. 이때, cache에서 read 할 땐 괜찮지만 update/delete 할 때는 디스크와의 동기화를 맞춰야 하는 게 중요하다.(db replication 할 때도 느꼈을 것이다) 이제 index를 보면 크게 두 가지로 나뉜다. unclustered Index : 엔트리 순서와 데이터 순서가 일치하지 않..

프로젝트가 거의 막바지 단계에 다다라서 운영할 때 꼭 필요한 로그를 찍으려고 한다. 이번 로그는 AOP를 이용해서 찍었지만 다음번에는 인터셉터를 이용해서 찍어보려고 한다. (경험은 많을수록 좋으니😇😇) Log설정 build.gradle implementation 'org.springframework.boot:spring-boot-starter-aop' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.8' 우리는 aop를 적용할것이기 때문에 aop와 p6spy라이브러리를 추가해준다. slf4j slf4j2 p6spy는 나중에 정리해보도록 하겠다. 참고 주소는 글 맨 아래에 남겨두겠다! logback-spring.xml appli..

https://programmers.co.kr/learn/courses/30/lessons/1835?language=cpp 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 풀이 처음에는 수학문제인가 싶어서 공식을 찾으려 해봤지만 잘 찾기 어려웠다. 그래서 완탐을 해야하나 싶어서 시간복잡도를 계산해보니 8개 모두를 순열을 돌리므로 8! = 40320 *100(조건) = 4032000 약 400만밖에 안되므로 여유로웠다!😳 그래서 완탐을 돌리고 조건에 맞는것만 찾아서 카운트하는 방식으로 풀었다. 소스코드 #i..

https://programmers.co.kr/learn/courses/30/lessons/60057?language=cpp 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr Level 2 문제이다. 문제를 잘 못읽으면 해매기 쉬울 문제인것 같다. 알고리즘 풀이 과정 묶을 문자열 길이를 1개 씩 자를때, 2개 씩... 계속해서 하나하나 비교해주면 된다. input의 길이가 1000까지 이므로 for문 3번까지 돌려도 1초를 안넘기므로 시간제한은 걱정없이 하면 된다. #include #include usi..

대용량 데이터 처리하는 방법에 여러 방법이 있다. Load Balancer Request를 연결된 서버들에게 나누어줌 장애 발생시 해당 LB(Load Balancer)에게 할당된 IP를 다른 LB에게 넘겨줌 DBMS 2개(Master-Slave = Primary-Secondary) primary(실제 서비스) primary에서 장애 발생시 secondary가 primary로 되고, 장애가 해결되도 primary는 secondary 역할을 하게 된다. primary(CUD), secondary(R) 두대를 두고 primary의 데이터를 secondary로 계속 Replication을 통해 복제한다. Object Storage Service (File-Server) 파일을 저장할 서버를 둘 경우 총 3개의 ..