-
슬라이딩 윈도우 알고리즘 (예제 00문)
슬라이딩 윈도우 알고리즘 정의: 윈도우(특정 범위)가 있을 때, 윈도우 내부 요소의 값을 이용하여 문제를 풀이하는 알고리즘 배열이나 문자열같은 선형 구조에서 요소의 일정 범위 값을 비교할 때, 사용하면 유용한 패턴 투 포인터 패턴과 유사 특정한 조건에 따라 윈도우가 커지거나 닫히거나, 새로 생성될 수 있다. Read More
-
파이썬 상식
파이썬 List의 len()은 시간복잡도가 O(1)이다. len()은 len()을 호출하며, len()은 카운터로 작동하며 데이터가 정의되고 저장되면 자동적으로 증가한다. 따라서 데이터를 순회하며 깊이를 가져오는 명령(O(n)) 대신에 이미 저장된 value를 가지고 오게 된다. Read More
-
Kernel360 리더로서 느끼는 소회
과정 리더란 뭘하는 사람일까? 이 글은 기자단의 업무로서 Kernel360에 대한 솔직한 글을 쓰는 의미로 작성되고 있다. 과정 리더도 하면서 기자단까지 하는게 욕심이 많아 보이겠지만, 리더의 눈으로 이 과정에 대한 “솔직한” 이야기를 쓰는게 “어쩌면 누군가에게는” 도움이 되지 않을까해서 써보려고 한다. 과정 리더는 이런 저런 일을 한다고 했다 출퇴근 QR 찍기 독려 필수강의 시청 독려 리더 & 셀장 바이위클리, 먼슬리 회의를 통한 크루들의 편의 향상 "출근길에 크루들에게 출근 QR을 찍어라고 리마인드를 한다." 내가 본 과정 리더는 이런 사람이었다 운영진과 크루들의 소통... Read More
-
Kernel360 파이널프로젝트 회고
파이널 프로젝트는 약 4개월간 서비스를 기획하고 개발, 운영까지 다루어보는 과정이다. 그 과정에서 배운 것을 몇가지 써보려고 한다. 진심을 다했다고 그렇게 썼는데, 실제로 그랬다. 이 글은 파이널 프로젝트 최종 발표가 끝난 며칠 뒤에 작성되는 글로 내가 쓸 수 있는 가장 생생한 후기를 쓰는 셈이 된다. 뭘 배웠는가? : 협업 Kernel360은 부트캠프의 이름에 걸맞게 항상 핵심을 얘기하고 나는 그 핵심 중에 가장 중요한 것이 협업이라고 생각한다. 그것의 의미를 곱씹어 보지만 아직은 확실하게 알고있다고 자부할 수 없다. 나는 Kernel360 서류전형에서 협업을 “전문성을 토대로 각자의 일을 모두가 알고 공동의... Read More
-
자바 ORM 표준 JPA 프로그래밍 정리하며 읽기 - 02
이 문서는 김영한 개발자의 [자바 ORM 표준 JPA 프로그래밍]의 6장 [다양항 연관관계 매핑]을 정리한 문서입니다. 다대일 단방향 회원은 Member.team으로 팀 엔티티를 참조할 수 있지만 반대로 팀에는 회원을 참조하는 필드가 없다. @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long Id; private String username; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; } ... Read More
-
Kernel360 오픈세미나 발표 준비 과정과 후기
오픈세미나 Kernel360의 선택 과정으로 오픈세미나를 신청하여 준비 중이다. 오픈세미나는 크루들이 Kernel360에서 자체적으로 진행하는 기술세미나를 외부인에게 오픈하는 행사로 우아한테크코스의 테코톡과 비슷하다. 나는 이전에 11월 17일에 있었던 기술세미나를 데이터의 영속성으로 준비한 경험이 있는데, 이에 대한 조금 더 간략하고 명확한 정리와 심화된 내용으로 오픈세미나를 준비하고자 한다. 영상으로 촬영된 기술세미나는 다음과 같다. 그리고 해당 발표에 대한 크루 블로그 글은 링크를 따라가면 볼 수 있다. 오픈세미나 OT 일시 : 2023-11-28 장소 : 패스트파이브 삼성 4호점 2... Read More
-
Kernel360 커리어 서비스 후기
커리어서비스 Kernel360는 수강생들의 커리어 설계를 위해 별도의 커리어 서비스를 제공하고 있다. 프로젝트와는 별도로 운영되어 희망자에 한하여 받을 수 있다. 해당 서비스 운영의 방향성과 취지는 다음과 같이 설명되고 있았다. 희망하는 커리어를 달성할 수 있도록 가이드 제공 프로젝트의 과정을 이력서 및 포트폴리오 형태로 기록하고, 실질적으로 활용 실무에 계신 디렉터님, 멘토님과의 소통을 통해 커리어 달성에 필요한 지식/경험 제공 수강생이나 개발자 지망생 누구나 잡고 희망하는 커리어에 대하여 물으면 구체적이고 명확한 대답을 할 수 있는 사람이 얼마나 있을까? 그만큼 내가 어떤 일을 하고 싶은지 ... Read More
-
자바 ORM 표준 JPA 프로그래밍 정리하며 읽기 - 01
이 문서는 김영한 개발자의 [자바 ORM 표준 JPA 프로그래밍]의 4장 ~ 7장 엔티티 매핑을 정리한 문서입니다. 책 내용을 읽어나가면서 정리할 내용을 가지치기하는 방식으로 정리를 시도했습니다. 대표적인 어노테이션 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn 엔티티 정의 어노테이션 @Entity JPA는 Entity객체를 만들때 기본생성자도 자동으로 만든다. (기본생성자가 아닌) 생성자를 만들 경우 위 기능은 동작하지 않으므로 기본... Read More
-
Kernel360 E2E Project에 대한 회고
요약 - kernel360 프로젝트 중 하나인 E2E Project를 마치고 그에 대한 회고와 공부한 기술스택, 기여도에 대한 글 일시 : 2023-10-24 ~ 2024-11-24 결과 : 기획의도 : [Boogle] IT 도서에 관심있는 독서가들을 위한 검색창 깃헙링크 : Boogle Github Repository "회고: 잘 맞는 동료들과 함께 첫 사이클을 돌아보다." E2E 프로젝트는 Front-End부터 Back-End까지의 구현 기술을 협업으로 경험해보는 프로젝트로 기획, 설계, 개발, 배포까지 경험할 수 있다. 팀... Read More
-
Junit5와 AssertJ를 활용한 테스트 코드 작성기 - 03
백준1919 애너그램 만들기 문제 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs의 각 문자들의 순서를 잘 바꾸면 succor이 되기 때문이다. 한 편, dared와 bread는 서로 애너그램 관계에 있지 않다. 하지만 dared에서 맨 앞의 d를 제거하고, bread에서 제일 앞의 b를 제거하면, ared와 read라는 서로 애너그램 관계에 있는 단어가 남게 된다. ... Read More
-
Junit5와 AssertJ를 활용한 테스트 코드 작성기 - 02
JUnit5와 AssertJ를 활용한 간단한 기능구현과 테스트 코드 작성기 Version JUnit5 : 5.8.2 AssertJ : 3.22.0 Gradle : 6.8.1 1. build.gradle에 테스트 코드 추가 Junit5와 AssertJ를 활용한 테스트 코드 작성기 - 01에서 작성한 테스트 코드 이외에도 SetTest.class 와 ParsingCalculatorTest.class를 추가하고 빌드 의존성은 이전에 작성한 포스트 참고 build.gradle test { useJUnitPlatform() include 'com/examp... Read More
-
Junit5와 AssertJ를 활용한 테스트 코드 작성기 - 01
JUnit5와 AssertJ를 활용한 간단한 기능구현과 테스트 코드 작성기 Version JUnit5 : 5.8.2 AssertJ : 3.22.0 Gradle : 6.8.1 1. build.gradle에 의존성 추가 build.gradle dependencies { testImplementation 'org.assertj:assertj-core:3.22.0' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2' } 2. 간단한 기능과 테스트 코드 작성 의존성 설정이 완료되면 다음과 같이 디렉터... Read More
-
Ubuntu22.04에서 Docker로 MySQL 실행하기
Ubuntu22.04에서 Docker를 사용하여 MySQL 이미지 구동하기 Version Ubuntu : 22.04.3 LTS Docker : 24.0.6 MySQL : 8.2.0 1. Docker 이미지 Pull docker pull mysql:8.2.0 2. Docker 이미지 실행 처음 docker pull된 image를 시작한다면 다음과 같은 명령어 입력 docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 mysql:8.2.0 재부팅 또는 다른... Read More
-
Kernel360 해커톤에 대한 회고
요약 - kernel360 프로젝트 중 하나인 해커톤을 마치고 그에 대한 회고와 공부한 기술스택, 기여도에 대한 글 일시 : 2023-10-16 ~ 2013-10-20 결과 : 아이디어 기획 - kernel360의 스터디 개설 서비스 - studyUp 아이디어 기획 - 나의 작은 블로그 - ministory "회고: 해커톤은 내가 가진 모든 것을 쏟는 것" 해커톤은 짧은 시간동안 내가 할 수 있는 모든 역량을 총동원 하여 일정 수준의 결과물을 얻어내는 것이다. ... Read More
-
Kernel360 boot-up에 대한 회고
요약 - kernel360 프로젝트 중 하나인 Boot-up을 마치고 그에 대한 회고와 공부한 기술스택, 기여도에 대한 글 일시 : 2023-10-11 ~ 2013-10-13 결과 : 아이디어 기획 01(링크) - 음식점 정보 매칭 서비스 아이디어 기획 02(링크) - 음식점 위치 정보 제공 서비스 "회고: kernel360 boot-up은 나의 개발자 전원 버튼을 누르는 계기" kernel360은 프로젝트 위주의 백엔드 부트캠프이다. 내가 이 과정에 합류한 이... Read More
-
소프트스킬 - 코드리뷰
이 문서는 Fast campus의 The RED : 백발의 개발자를 꿈꾸며: 코드리뷰, 레거시와 TDD by 뱍명석, 최범균의 2부.코드리뷰 부분을 정리한 문서입니다. 왜 코드리뷰를 해야 하나? 시장과 비즈니스의 요구사항 시장 : VUCA 사업 : 더 빨리 혁신해야 함 개발 : 더 빠르게, 더 자주, 더 안정적으로 배포해야 함 배포별 생산성이 줄어듬 새로운 코드를 짜는 것 보다 기존의 코드를 읽고 이해하는데 시간을 많이 씀 프로젝트의 실패율 70% (반면 치킨집 퍠업율 22%) -> 소프트웨어 개발의 본질은 실패 ... Read More
-
테스트페이지
\[\begin{matrix} a & b \\ c & d \end{matrix} \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{bmatrix} a & b \\ c & d \end{bmatrix}\] Read More