Software Development2024. 1. 3. 10:09[협업] 사이드 프로젝트에서 프론트와 백엔드가 협업하는 방법

창업 동아리에서 백엔드 역할을 맡고, 방학 기간동안 본격적으로 개발에 들어가기 앞서, 협업 방식에 대해 논의가 있었어서 이를 정리해보고자 한다. 정답은 없겠지만, 우선 우리 팀은 이렇게 진행해보기로 결정했다. 어쩌다 보니 백엔드 파트장을 맡은 입장에서 정리해본다. 0. 우선, 자바의 코드 컨벤션을 정하고 이에 따르기로 했다. 우리는 네이버 핵데이 코딩 컨벤션을 선택했다. https://naver.github.io/hackday-conventions-java/ 캠퍼스 핵데이 Java 코딩 컨벤션 중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호 naver..

[Spring] 프로젝트 이해와 환경설정
Software Development/Git&Environment2024. 1. 2. 18:12[Spring] 프로젝트 이해와 환경설정

기존 Spring 실습에서는, SpringBoot 3 버전과 Java 17을 활용하여 실습을 진행했다. 인턴으로 들어와서 프로젝트를 빌드해보고 있는데, 환경 설정과 프로젝트 구조가 조금 달라서, 이를 정리해보고자 한다. 1. SpringBoot 2.7 + Gradle, Java 11, Github 2. 서버는 AWS ECS를 사용한다. (EC2 사용 + DevOps를 합친 느낌) 3. 멀티모듈 구조를 채택하여, admin, batch, api, core 파트를 각각 따로 관리하고 있다. 4. 의존성의 경우, 최상단 디렉토리의 build.gradle를 확인하면 알 수 있는데, admin, batch, api가 core에 의존하는 구조이다. 5. CI/CD의 경우 Github Action을 사용하는데, de..

2024. 1. 1. 15:12그간 있었던 일과 겨울 목표 정리

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 해주세요.

[Data Structure] 꼭 알아야 할 자료구조와 알고리즘 테이블
CS/Data Structures & Algorithm2023. 12. 20. 19:38[Data Structure] 꼭 알아야 할 자료구조와 알고리즘 테이블

어제자로 학기로부터 해방되어, 평소 꼭 정복해보고 싶었던 자료구조, 그리고 알고리즘에 대해 약간의 정리를 해볼까 합니다. 일종의 Cheatsheet인데요, 나중엔 머릿속에 다 들어와 있겠죠? 코딩테스트 풀이 때, 시간 초과와 메모리 초과로부터 좀 해방될 수 있었으면 좋겠네요. Data Structures Data Structure Purpose Time Complexity (Avg)Space Complexity Additional Notes Array Stores elements of the same type in contiguous memory locations. Access: O(1), Search: O(n), Insertion: O(n), Deletion: O(n) O(n) Fixed size, e..

2023. 12. 20. 00:28정신없이 지나간 3학년 2학기 회고

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 해주세요.

[DB] SQLd 51회차 합!
CS/Database2023. 12. 8. 16:24[DB] SQLd 51회차 합!

데이터베이스 과목을 열심히 들은 보람이 있네요.

[AI] 드디어 이해한 신경망, 퍼셉트론, 다층 퍼셉트론, RBF 망
CS/Artificial Intelligence2023. 11. 27. 01:46[AI] 드디어 이해한 신경망, 퍼셉트론, 다층 퍼셉트론, RBF 망

이해하며 개인 노션에 작성한 글인데, 경어체를 쓸 겨를이 없군요! 추후 수정하도록 하겠습니다. 우선, s값을 계산해보자. 입력값 Xi * Wi(가중치)(i는 1부터 끝까지) + 1 * W0(bias) = s 구한 값을 f(), 즉 전달 함수(=활성화 함수)에 집어 넣는다. 여기서는, s가 특정값 이상이면 1이고, 아니면 0이다. 생물에서, 역치를 넘으면 반응하는 것 과 비슷하다. 그럼, OR 연산을 하는 퍼셉트론을 구해보자. s는 어떻게 계산될까? x1 + x2 + (-0.5) = s 일 것이고, 그럼 만약 x1 = 1, x2 = 0 이면? 0.5가 나오고, 0을 넘으니 f(s) = 1 일 것이다. 그럼 만약 x1 = 0, x2 = 1 이면? 마찬가지로 0.5가 나오고, 0을 넘으니 f(s) = 1 일 ..

[AI] 군집화 알고리즘과 단순 베이즈 분류기
CS/Artificial Intelligence2023. 11. 27. 01:32[AI] 군집화 알고리즘과 단순 베이즈 분류기

우선 군집화가 뭐였나요? 유사한 데이터끼리 모으는 것을 군집화 라고 합니다. 군집화는 다음과 같은 종류가 있습니다. 계층적 군집화: 군집들이 계층적인 구조를 가지도록 합니다. 병합형 계층적 군집화 하나의 데이터로 출발하여, 가까운 것을 결합해 나가며 계층구조를 생성합니다. Bottom-Up 방식이라고 볼 수 있습니다. 분리형 계층적 군집화 전체 데이터를 가지는 하나의 군집에서 출발하여, 유사성을 바탕으로 군집을 분리합니다. 분할 군집화: 계층 구조를 맏늘지 않고, 전체 데이터를 유사한 것들끼리 나눠서 묶습니다. ex) K-means 알고리즘 분산값 V를 최소로 하는 점의 집합을 찾는 것이 목표입니다. 1. 초기에 군집의 중심을 임의로 설정해줍니다. (K개 설정) 2. 모든 점들에 대해, 가장 가까운 U(..

[AI] Decision Tree, 엔트로피, 정보 이득, 정보이득비, 지니 지수
CS/Artificial Intelligence2023. 11. 25. 11:23[AI] Decision Tree, 엔트로피, 정보 이득, 정보이득비, 지니 지수

결정 트리는, 트리 형태로 의사결정 지식을 표현하는 것을 말합니다. 위의 예시는, 날씨가 어떨 때 테니스를 치러 갈까? 를 결정하는 의사결정 트리인데요, 쉽게 말해 Internal Node는, 기상 상황들을 말하는 것이고, Edge는 그 기상 상황이 어떤지, 즉 속성값을 나타냅니다. 그리고 마지막 Terminal node는, 부류. 여기서는 Yes or No를 나타냅니다. 결정 트리 알고리즘을 구성하는 것은, - 우선 하나의 노드로 구성된 트리에서 시작합니다. 1. 분할 속성을 선택하고, 2. 속성값에 따라서 서브트리를 확장 및 생성하고, 3. 데이터를 속성값에 따라 분배합니다. 이 1-2-3 과정을 반복합니다. 우리는 일반화 성능이 우수한 최대한 간단한 트리를 원합니다. 방금, 결정 트리 알고리즘을 구..

[Network] Routing Algorithms, Link-State와 Distance Vector
CS/Network2023. 11. 25. 01:46[Network] Routing Algorithms, Link-State와 Distance Vector

Routing이 뭔지 기억 나시나요? Network Layer의 두 가지 핵심기능이 포워딩과 라우팅 이었죠, 포워딩은 라우터 내부에서 적절한 Input port -> Output port를, 라우팅 테이블을 기반으로 찾아가는 것이었고요, 라우팅은 Source -> Destination 까지의 전체적인 경로를 결정합니다. 이 라우팅 기법에는 두가지가 있는데요, 1. Link State routing - 다익스트라 알고리즘 - OSPF - Complete Topology 2. Distance Vector routing - 벨만포드 알고리즘 - RIP - Partial Topology(Info) 아직 무슨 소리인가 싶겠지만, 차근차근 알아봅시다. 라우팅 알고리즘을 어떻게 분류할까요? 아 참, 잠깐 복습해봅시다..

image