분류 전체보기

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..

IT/Python3

smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. 해결 방법

파이썬으로 메일링 기능을 구현하는 도중 위와 같은 문제를 만났다. 이 에러는 username 이 잘못되었거나, password가 잘못되었거나, 구글에서 지원하지 않는 방식으로 로그인을 시도할 때 발생한다. 1. 앱 비밀번호를 이용하기 우선, 2022년 5월 이후로 기존의 '아이디-비밀번호' 방식으로는 서드파티에서 이메일을 전송을 위한 구글 계정 로그인을 할 수 없게 되었다. 따라서 아래 과정을 통해 로그인을 해야한다. https://myaccount.google.com/security Google 계정 myaccount.google.com 먼저 구글 계정의 보안탭으로 이동한다. 그리고 2단계 인증을 활성화해준다. 오른쪽 화살표를 클릭하여 상세 페이지로 이동한 후, 화면을 밑으로 내려주면 아래와 같은 앱 ..

개인 프로젝트/간단한 프로젝트

[개인프로젝트] 수원시 공고알림 크롤링 및 메일링 프로그램 제작

수원시 공고 사이트에서 원하는 정보가 새로 올라왔을 때, 해당 정보를 메일로 받는 프로그램을 제작해보았다. https://www.suwon.go.kr/web/saeallOfr/BD_ofrList.do?q_currPage=1&q_sortName=&q_sortOrder=&q_rowPerPage=&q_searchKey=SJ&q_searchVal= 공고/고시/입법예고 : HOME > 수원소식 > 공고/고시/입법예고 8792 수원시 장안구 파장동 공고 제2024-13호 주민등록신고 미이행자에 대한 최고공고 파장동 2024-02-08 2024-02-08 ~ 2024-02-26 24 8791 수원시 영통구 공고 제2024-75호 2024년 경로당 활성화 문화교실 강사모 www.suwon.go.kr 크롤링, 메일링 모..

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

[GDSC 프로젝트 트랙] 5. 장고(Django) 배포 & Github Action 이용한 CI/CD 구축

일단 무작정 배포하기 처음 프로젝트를 시작할 때는 프론트에서 API를 사용하기 위해 백엔드 레포지토리에서 코드를 받아 직접 로컬에서 서버를 실행시킨 뒤, localhost:8000 으로 요청을 보내는 방식을 사용해야했다. 하지만, 아무리 readme에 서버 구동 방법을 자세히 적어두어도 파이썬 설치, 가상환경 설정과 같은 개발환경 세팅을 장고를 학습해보지 않은 프론트가 따라하기에는 어려움이 있을 수 밖에 없었다. 프론트 멤버가 개발을 하기도 전에 백엔드 개발환경 세팅으로 고생하는 것을 보고 이건 아니다 싶어서 일단 빨리 서버에 배포부터 하자고 생각했다. 서버는 어떤 서버를 사용할 지 생각을 해봤는데, pythonanywhere 같은 호스팅 사이트를 사용하는 것도 괜찮은 듯 보였으나, 이번 기회에 직접 장..

에버듀
'분류 전체보기' 카테고리의 글 목록 (21 Page)