전체 글

개발은 좋은데 뭘로 개발할까
자기계발/동아리

[CEOS 19기] 2주차 활동 후기

3월 12일 백엔드 스터디 3월 12일 스터디는 온라인으로 진행되었다. 3월 13일 정기 세션이 대면으로 진행되었기 때문이다. 스터디는 5명의 멤버를 지원받거나 뽑아서 1주차 과제를 발표하는 시간을 가졌다. 같은 과제에 대해 발표하다보니 같은 내용을 반복적으로 듣는 것도 있었지만, 사람마다 중요하게 강조해서 정리한 포인트가 달라 듣는 재미가 있기도 했다. 이후에는 2주차 과제 및 JPA 설명이 있었다. JPA 소개는 간단하게 큰 흐름을 짚는다는 느낌으로 진행되었고, 과제는 에브리타임 ERD 모델링 이후, 엔티티 클래스 작성 및 레포지토리 레이어 테스트를 진행하는 것으로 진행되었다. 과제는 나에게 굉장히 도전적인 과제였다.. 내가 공부한 내용은 김영한 스프링 입문, 스프링 JPA 활용 1편이 전부였기 때문..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 3. Network Core : Packet Switching

네트워크는 Network Edge 와 Network Core 로 구성되어 있다. Network Edge는 크게 Host와 Host가 접근하는 가장 가까운 네트워크인 Access Network, 그리고 이들 사이를 연결하는 Physical Link로 이루어져있다. 이제 Network Core에 대해 정리해보자. Network Core, Forwarding, Routing 네트워크 코어는 라우터들이 서로 연결되어있는 mesh (그물망) 형태의 모양이다. mesh 라고 하면, 정형화 되어있는 (특정한 형태가 있는) 모양이 아닌, 얼기설기 얽힌 모양을 뜻한다. host의 어플리케이션이 보낸 메세지가 패킷으로 잘게 나뉘면, 이 패킷은 physical link를 타고 네트워크 코어에 있는 라우터로 들어간다. 호스트..

자기계발/동아리

[CEOS 19기] 1주차 활동 후기

백엔드 1주차 스터디 (3월 5일) 최종 합불 결과가 3월 4일에 나왔는데, 바로 다음날부터 스터디가 진행되었다. 그래도 학기초에 여유 있을 때 부지런히 스터디를 하고, 시험기간에 여유있게 스터디를 빼는 스케줄이라 더 좋았다ㅎㅎ 1주차 스터디에서는 스프링이라는 프레임워크에 대해 공부하는 시간을 가졌다. 신촌지역에 있는 스터디룸을 대여하여 진행하였으며, 간단한 자기소개 후, 운영진이 노션에 정리한 스터디 내용을 강의하는 식으로 진행되었다. (스터디 방식과 진도를 보면 알겠지만, 스프링 프레임워크를 처음 써보는 사람이 감당할 수 있는 정도가 아니다. 세오스 지원할 생각이 있다면 꼭 스프링 프레임워크를 한번이라도 써보고 지원하자) 1주차 스터디 내용은 스프링 핵심 원리인 IoC/DI, AOP, PSA 개념과 ..

CS/컴퓨터 구조

[컴퓨터 구조] 1. MIPS Instruction & Register

컴퓨터 구조 수업의 목표는 MIPS CPU를 직접 디자인하는 것이다. CPU를 디자인하기 전에, 먼저 MIPS CPU가 이해하고 사용할 수 있는 명령어에 대해 정리하자. Instruction (명령어) Instruction 컴퓨터가 사용하는 단어를 가리킨다. 만약 외국인과 대화를 하고 싶다면, 나는 그 외국인의 언어를 사용할 줄 알아야한다. 마찬가지로, 우리가 컴퓨터와 대화하기 위해서는 컴퓨터의 언어를 사용할 줄 알아야 한다. instruction은 컴퓨터와 대화할 때 사용하는 단어 하나를 가리킨다. Instruction Set 컴퓨터가 사용하는 어휘 (단어들의 집합) 을 가리킨다. 정확하게는 CPU가 이해하는 단어의 집합을 가리킨다. 따라서 CPU가 달라지면 컴퓨터가 이해하는 언어가 달라진다. CISC..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 2. Network Edge

Internet 구조에 대해 더 깊게 살펴보자.Network는 크게 Network Edge와 Nework Core로 나누어져 있다.이번 글에서는 Network Edge가 무엇인지와 Network Edge의 구성 요소에 대해 정리하고자 한다.Network Edge지난 글에서 정리한대로 네트워크 엣지는 네트워크 망의 바깥, 네트워크를 활용하는 주체들과 관련된 영역이다.Network Edge를 구성하는 요소는 크게 Host, Access Networks, Physical Media 가 있다. Host호스트는 쉽게 말해 '디바이스' 이다.보통 서버-클라이언트 패러다임 상에서 데이터를 요청하는 존재인 클라이언트와 데이터를 제공하는 존재인 서버로 구성된다. Host는 네트워크를 통해 데이터를 주..

CS/컴퓨터 네트워크

[컴퓨터 네트워크] 1. 인터넷과 프로토콜

1. 인터넷 Internet vs internet 두 용어는 엄밀하게 서로 다른 용어이다. Internet 은 우리가 일상생활에서 사용하는, 전세계 사람들과 만나는 통로가 되는 인터넷을 의미한다. 일상에서 '거기 인터넷 잘 돼?' 라고 물어볼 때 사용하는 그 '인터넷' 을 의미하는 고유명사이다. internet 은 조금 더 기술적인 의미로서, inter networking 의 줄임말이다. 네트워크와 네트워크 사이의 네트워크 (network of networks) 를 의미하는 용도로 사용한다. 예를 들어 군대에서는 외부 인터넷(Internet)과 완벽히 격리된 내부 네트워크를 사용하는데, 내부 네트워크 역시 각종 네트워크 장비를 통해 서로 다른 내부 네트워크들과 연결되어있다. (인트라넷 - C4I 와 같은..

자기계발/동아리

신촌 연합 IT 창업 동아리, CEOS 19기 서류, 면접 합격 후기 (백엔드)

CEOS 19기에 지원하면서 그 준비 과정을 정리하고자 한다. CEOS 동아리 정보 https://ceos-sinchon.com/ CEOS | 세오스 CEOS는 연세대학교, 서강대학교, 이화여자대학교, 홍익대학교 학생들이 모인 최고의 IT 창업 학회입니다. ceos-sinchon.com 세오스는 신촌 연합 IT 창업 동아리이다. 단순 IT 동아리가 아니라, '창업' 동아리임을 강조한다. 모집 대상은 '창업' 에 관심있는 사람이라고 했는데, 면접 파트에서 후술하겠지만 나의 경우 창업 질문은 나오지 않았다. 매주 수요일 정기 세션을 진행한다. 정기 세션에서는 창업과 관련된 활동을 진행한다. 나는 백엔드로 지원하였고, 위 사진은 '개발' 파트 모집 공고에 올라온 내용이다. 스터디 커리큘럼은 위와 같이 나와있었..

알고리즘 문제/BOJ (Python3, C++)

[백준] 21609 - 상어 중학교 (Python)

https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net BFS 를 활용하는 시뮬레이션 문제이다. 구현할 때 모든 조건을 꼼꼼히 살펴야하고, 작은 사소한 실수 하나로도 문제를 틀리기 때문에 난이도가 높다. N, M = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(N)] score = 0 while True: x, y, size = find_block..

팀 프로젝트/[2024] GDSC 프로젝트 트랙

[GDSC 프로젝트 트랙] 6. 게시글 CRUD, 댓글 CRUD API 구현

아이를 맡기고 맡는다는 핵심 로직의 구현이 어느 정도 완료되어 서브 커뮤니티을 구현하기 시작했다. 게시글과 각 게시글에 달리는 댓글을 관리하는 CRUD 를 구현하였다. 문서 필드는 위와같이 구성하였다. comment_count 를 따로 속성으로 빼둔 이유는, 전체 글 리스트를 조회할 때 댓글 개수는 필요하지만, 댓글 데이터 자체는 필요하지 않기 때문에 댓글 갯수를 별도 필드에 저장하도록 하였다. 그런데 지금 생각해보니 댓글 개수 정보는 하위 컬렉션에 저장해두고 매번 API 호출 시 댓글 컬릭션의 문서 갯수를 세서 반환하므로 굳이 DB 필드로 존재할 필요는 없었을 것 같다. 삭제를 고려해야겠다. 댓글은 위와 같이 구성하였다. 내용과 댓글 작성 시간, 작성자 정보만 저장하였다. 기능 구현 자체는 게시판 만들..

Infra/오라클 클라우드

[crontab, postfix] MAIL (mailed bytes of output but got status 0x004b from MTA#012) 대처 방법

이메일을 보내는 파이썬 스크립트를 단독 실행했을 때는 분명 잘 되는데, crontab 에 등록을 하니 위와 같은 에러가 뜨면서 메일이 발송되지 않았다. 나의 경우는 MTA 에 등록된 hostname 과 파이썬 스크립트에 등록된 hostname 이 일치하지 않아서 생긴 문제였다. https://tsy0668.tistory.com/11 [Ubuntu] Ubuntu에 Postfix 설치, Gmail SMTP 설정, 메일 보내기 ◆ Gmail 계정 준비◆ Ubuntu 18.04 LTS 버전◆ Ubuntu 클라우드에서 Postfix를 SEND-only SMTP로 구성 1. Ubuntu 실행 후 Root로 이동 sudo su Root의 Password 입력을 요구하는 라인이 나오고 Password를 입력하면 Roo..

에버듀
Blog. 에버듀