분류 전체보기

CS/블록체인

[블록체인] 1. 블록체인 개요

블록체인 기반 지식인터넷 계층과 프로토콜Ethernet : 데이터링크 계층의 핵심적인 기술, 이더넷을 통해 LAN이 만들어졌다.TCP/IP : 각각의 LAN을 연결시키는 기술. 이 기술로 인터넷이 등장했다.HTTP : 인터넷 상에서 콘텐츠를 주고받는데 사용하는 프로토콜.SSL/TLS : 인터넷의 보안과 관련된 계층 & 프로토콜. 요즘은 TLS를 주로 사용한다.이 프로토콜을 사용하면, 내가 보낸 메세지를 상대방이 탈취했을 때, 원본 메세지가 무엇인지 알 수 없게 만들 수 있고, 메세지를 조작해서 보내더라도, 수신자가 메세지의 조작 여부를 알 수 있다. 암호학인터넷이 발달한 이후, 인터넷을 통한 전자상거래도 활발히 발생하기 시작했다.이렇게 인터넷을 통해 돈이 오고 가기 시작하면서 데이터의 암호화에 대한 중요..

CS/기초데이터베이스

[데이터베이스] 1. 데이터베이스와 DBMS 개념

DBMSDataBase Management System : 데이터베이스 관리 시스템거대한 통합 데이터 저장소 (data collection) 프로그램이다. (DBMS는 소프트웨어다.) RDBMS (Relational DBMS) : 관계형 데이터베이스 관리 시스템 관계형 데이터베이스는 엔티티(개체)와 엔티티 사이의 관계(릴레이션)을 통해 실제 세상을 모델링한다.엔티티는 모델링하는 환경을 구성하는 요소이다. 학생이 수업을 듣는 환경을 모델링한다면, 엔티티는 '학생'과 '수업'으로 구성된다.그리고 학생과 수업은 '수강한다' 라는 관계로 이루어져있다. 나는 엔티티는 명사, 관계는 동사로 구성하기 좋다고 이해했다.  "학생이 수업을 수강한다" 학생 - 수강하다 - 수업 File System vs DBMS컴퓨터가 ..

자기계발/생각 정리

2024-1 방학 회고

원래는 개강하자마자 회고를 쓰려고 했는데, 이것 저것 한다고 이제야 쓰게 되었다.2024년 목표를 한번 점검하고 방학을 돌아본 뒤 반성과 2학기 목표를 새롭게 세워보려고 한다. 개발 / 전공과 관련된 목표  1. 전공 과목 공부하기집에 혼자 공부하는 컴퓨터구조 & 운영체제 책을 사둔 게 있어서 이걸로 운영체제를 예습해보려고 생각하고 있었는데 정말 생각만 해버리고 말았다...ㅎ 2학기에는 DB, 운체를 드디어 배운다.이 과목 2개만큼은 꼭 A+을 받고 싶다.물론 모든 전공 과목 A+을 유지하는 것을 목표로 삼아서 열심히 공부해야지  2. 전공 과목 자주 복습하기원래는 전공 복습하는 앱이나 사이트를 만들어서 복습해보려고 했는데, 이런 저런 일이 많이 생겨서 못하게 되었다.근데 이거랑 관련해서 정말 신기한 건..

자기계발/동아리

[CEOS] 19기 활동 후기

바쁘다고 핑계대고 6~8주차 개발 스터디 회고와 전체 세션 회고는 안 적었지만, 20기 모집글이 올라오는 것을 보고 지금 적어두면 세오스 활동을 고민하시는 분들에게 도움이 될 것 같아 활동 후기를 전반적으로 적어보고자 한다. 쓰지 못했던 6~8주차 개발 스터디 회고6~8주차는 도커, CI/CD, AWS에 대한 내용을 학습했다.도커와 AWS를 이용하여 프로젝트를 배포하는 방법, 깃허브 액션을 사용하여 배포를 자동화하는 방법에 대해 스터디를 나누었는데, 난이도가 있다보니 과제를 온전히 성공한 사람이 많지는 않았다.나도 다른건 다 됐는데, DB를 도커로 띄운 뒤, 도커로 띄운 스프링과 연동하는 부분을 결국 해결하지 못했다..ㅎ 도커, 깃허브 액션, AWS 를 사용해본 적이 없는 사람이라면 3주만에 모든 과제를..

알고리즘 (PS)/BOJ

[백준] 19663 - Mountains

https://www.acmicpc.net/problem/19663 정말 어려웠던 세그트리 연습문제처음에는 뭔가 DP일 것 같았고, 실제로 분류에도 DP가 있어서 DP로 풀이를 짜고, 세그트리로 최적화시키는 건가 싶었다.하지만 아무리 고민해도 DP 점화식이 생각이 안났고, 세그트리로 구현하는 방법만 계속 떠올랐다. 문제 이해수열이 주어질 때, 주어진 수열에서 인덱스 순에 맞게 3개의 수를 뽑아 만든 임의의 튜플 (x, y, z) 에 대해, x  첫 번째 시도알고리즘 분류에 있는 '정렬' 에서 힌트를 얻어 먼저 데이터를 높이순으로 정렬한다.어떤 기준점 y가 정해졌을 때, 이 값보다 작은 값들 중, y보다 왼쪽에 있는 값의 개수, 오른쪽에 있는 값의 개수를 센 뒤,두 값을 곱한 결과를 정답에 더해주면 된다...

알고리즘 (PS)/BOJ

[백준] 11003 - 최솟값 찾기 (Python, 우선순위 큐)

https://www.acmicpc.net/problem/11003 티어는 플레티넘 5인데, 우선순위 큐로 너무나도 간단히 풀리는 최강 날먹(?) 문제질문 게시판을 보니, 덱을 이용해서 O(n) 에 풀 수 있도록 최적화 하는 것이 이 문제의 의도같은데, 입출력값이 너무 많아서 O(N) 으로 딱 제한을 두기가 힘든 모양이다.. 그럼에도 불구하고 파이썬 시간 제한이 9초대도 통과되는 건 너무 봐준 것 아닌가 싶기도.. 우선순위 큐 풀이는 최소힙에 (원소값, 원소 인덱스) 튜플을 저장하고, 범위가 늘어날 때마다 현재 보고 있는 원소를 우선순위 큐에 넣은 뒤, 최소힙에서 최소값을 본다.만약 본 값이 현재 최소값을 찾는 범위에 있는 값이라면 출력하고, 아니라면 최소힙에서 빼는 과정을 반복한다. 결과적으로는 N번의..

알고리즘 (PS)/BOJ

[백준] 1600 - 말이 되고픈 원숭이 (Python)

https://www.acmicpc.net/problem/1600 3차원 BFS 문제이다.dist[i][j][k] 를 (i, j) 위치에 있을 때 현재 남은 말 이동 횟수가 k 인 경우 그때까지 최소 이동거리라고 정의한 뒤, 일반 이동을 하는 경우dist[next_i][next_j][now_k] = min(dist[next_i][next_j][now_k], dist[now_i][now_j][now_k] + 1) 말로 이동하는 경우 k 를 소모하므로dist[next_i][next_j][now_k-1] = min(dist[next_i][next_j][now_k-1], dist[now_i][now_j][now_k] + 1) 이렇게 식을 세운뒤, dist 배열은 초기값을 INF 값 (파이썬은 보통 9876543..

Infra/AWS

[AWS S3] The request signature we calculated does not match the signature you provided. Check your key and signing method. 에러 해결

https://lynlab.co.kr/blog/52 AWS 라이브러리의 SignatureDoesNotMatch 해결 방법 | LYnLabAWS 클라이언트를 이용할 때 발생한 SignatureDoesNotMatch 에러의 원인과 해결 방법. 💡 이 글은 작성된지 1년 이상 지났습니다. 정보글의 경우 최신 내용이 아닐 수 있음에 유의해주세요.lynlab.co.kr 스프링 어플리케이션에서 이미지 업로드 코드를 작성 후, 포스트맨에서 테스트할 때 발생했던 이슈500 에러가 나오면서 서버 로그를 보니 글 제목과 같은 에러가 발생했다. 같은 백엔드 팀원은 잘 된다는데, 왜 나만 안될까 하면서 윈도우 억까 이슈이길 바라며 EC2에 배포했으나 우분투 서버에서도 여전히 실패..이것 저것 찾아보고 시도했지만 결국은 위 ..

알고리즘 (PS)/BOJ

[백준] 11780 - 플로이드 2 (Python)

https://www.acmicpc.net/problem/11780 학교 알고리즘 분석 전공 수업시간에 배웠던 내용을 그대로 이용하면 쉽게 풀 수 있는 문제이다.플로이드 알고리즘은 dp 를 이용하는 방법으로, node 개수가 많지 않을 때 사용할 수 있는 알고리즘이다.시간복잡도는 node 개수가 n개 일 때, O(n³) 의 시간복잡도를 갖는다. 두 노드 a, b 사이의 최단거리 a, b 를 dist[a][b] 라고 할 때,  dist[a][b] = min( for k in range 1 .. n, dist[a][k] + dist[k][b] ) 로 정의할 수 있다. 글로 정리하면, 두 노드 사이의 최단 거리는 그 노드 사이를 k 번 노드를 경유해서 갈 때 더 짧다면 그 값으로 갱신하는 과정을 거치면 된다...

알고리즘 (PS)/BOJ

[백준] 21606 - 아침 산책 (Python)

https://www.acmicpc.net/problem/21606 모든 검은색 노드는 흰색 노드를 통과할 수 있고, 검은색 노드는 통과하지 못할 때,모든 이동 가능한 검은색 노드 사이 경로의 개수를 세는 문제이다. 이 문제는 그래프를 단순화시킨 뒤 순열과 트리의 특성을 이용해 개수를 세면 문제를 풀 수 있다. 그림과 같이 노드가 구성되어 있다고 해보자.우리가 구하려고 하는 것은 두 검은색 노드 사이의 경로가 존재하는지 파악하는 것이다.이 정보를 파악하는데 중요한 것은, 여러개의 인접한 흰색 노드는 우리가 구하려는 것을 찾는 과정에서 전혀 의미가 없다는 것이다.그러면 이 그래프를 다음과 같이 단순화할 수 있다.  흰색 노드의 번호는 더 이상 정답을 구하는데 있어 큰 의미가 없다. (코드로 구현할 때는 번..

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