일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- k8s #kubernetes #쿠버네티스
- 달인막창
- preemption #
- PytestPluginManager
- 티스토리챌린지
- 오블완
- 코루틴 컨텍스트
- vfr video
- JanusGateway
- JanusWebRTCServer
- PersistenceContext
- 자원부족
- 개성국밥
- tolerated
- VARCHAR (1)
- 깡돼후
- 겨울 부산
- table not found
- terminal
- Spring Batch
- python
- kotlin
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTCGateway
- 코루틴 빌더
- Value too long for column
- mp4fpsmod
- taint
- JanusWebRTC
- pytest
목록분류 전체보기 (583)
너와 나의 스토리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eAAuT7/btqP6oYTXnx/s2EOKbIZ15KrbvrbMQUo4k/img.png)
Spring QuickStart Guid 참고 oracle jdk는 이제 유료이기도 하고, spring에서 AdoptOpenJDK를 추천하기 때문에 openJDK를 다운로드하려고 한다. 다운은 여기서 받으면 된다. 들어가면 다음과 같은 화면이 나오고, 원하는 버전을 선택해서 다운로드하면 된다. 최신 버전은 호환성 문제를 비롯해 여러 문제에 직면할 수 있으므로 OpenJDK 11을 선택했다. Spring에서도 version 8 or version 11을 추천한다. JVM의 경우 HotSpot과 OpenJ9가 있다. HotSpot은 모든 작업에 대해 적합하다고 검증된 JVM이고, OpenJ9는 HotSpot보다 더 적은 메모리 자원을 사용한다고 한다. 나는 안전하게 HotSpot을 선택했다.
A. Special Permutation 문제: codeforces.com/contest/1454/problem/A 2부터 n까지 출력하고, 마지막에 1 넣어주면 됨 ez #include #include #include #include #include using namespace std; int tc,n; int main() { cin >> tc; while (tc--) { cin >> n; for (int i = 2; i n; memset(visit, 0, sizeof(visit)); participants.clear(); for (int i = 1; i > a; visit[a]++; if (visit[a] > 1) continue; participants.push_back({ a,i }); } sor..
Clean code 책을 읽으면서 기억하고자 하는 부분들을 정리하려고 한다. 이 책은 읽을때마다 새로운 지식이 보인다고 한다. 이 책을 다음에 다시 읽으면서 새롭게 얻게 되는 지식들을 이 글에 계속해서 추가해나가려 한다. 의도가 드러나는 이름을 사용하자 지뢰 찾기 게임판에서 깃발이 꽂힌 상태를 저장할 변수를 선언한다고 하자. List list1 = new ArrayList(); 다음과 같은 변수명 대신 List flaggedCells = new ArrayList(); flaggedCells와 같이 의도가 드러나는 이름을 사용하자. 그렇다면, flaggedCellList로 표시하면 컨테이너 유형도 예측할 수 있어서 좋은 거 아닌가? Nope! 컨테이너 유형을 이름에 넣지 않는 편이 바람직하다. -> 나중에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XfOIv/btqPwmM6CKX/yUJ4V6lfLyfp28HCuLf2T0/img.png)
PQC(Post-Quantum Cryptography) 지금 컴퓨터+양자 컴퓨터들로 공격해도 안전한 암호를 만들어 보자. 양자 컴퓨가 공격하는 것을 대비하자. Quantum Computer(양자 컴퓨터) 0과 1이 중첩된 상태를 가지게 할 수 있다. NIST PQC standardization -> shor이 만듦 지금 암호는 몇십 년 유지되어야 하니, 10~20년 후 양자 컴퓨터로도 깨지지 않도록 구현해야 한다. 요구한 기능들: PKE(Public Key Encryption) KEM(Key Encaptualation Machanism) = key excahnge digital signature NTRU Public Key Cryptographic Techiques Based on Hard Problem..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AeD0Y/btqPldcPR91/XABxU3cRKpMsPzthHucdCk/img.png)
Random Numbers(난수)가 사용되는 곳들 Key distribution Session key generation symmetric stream encryption에서 bit stream 생성 RSA public-key encryption 알고리즘에서 key 생성 난수의 특성 Randomness Uniform distribution: 나오는 값들의 분포가 동일 -> 0과 1에서 각각의 개수(분포)가 동일해야 한다. Independence: 긴 sequence를 봤을 때, 부분 부분 간의 관계성이 없어야 한다. Unpredictability 앞에서 동전 앞이 나와도, 다음에 뭐가 나올지 몰라야 한다. Forward unpredictabiliy: 지금 나온 값을 봐도, 다음에 나올 값을 몰라(예측할 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dsjEjz/btqPsDBLcbG/kN2iW1dlXMV3LNwjUsHrSk/img.png)
Hash Function 가변 길이의 데이터 블록을 input으로 받아 고정된 길이의 hash 값을 출력한다. 데이터 압축의 역할로 사용할 수 있음 가변 길이를 입력받는다고는 하나, 어느 정도 정해져 있어서 보통 padding으로 채움 h = H(M) M을 통해 h를 구하기는 쉬워야 하지만, h를 안다고 M을 쉽게 구할 수 있으면 안 된다. -> one-way property 두 가지 요구 조건을 만족해야 한다. The one-way property The collision-free property 서로 다른 input을 넣어 같은 hash 결과를 갖는 것 -> collision 이런 collision을 찾기 힘들어야 한다. 즉, The collision-free property는 다른 input이 들어..
Bitcoin 신뢰기관을 사이에 두고 거래하는 방식이 아니며, 중앙화된 서버가 없이 Peer-to-Peer 방식으로 거래 진행 (분산 방식) 실제 돈이라기보단 "거래의 기록"이다. 모든 거래가 투명하게 공개되고, 다수가 거래를 입증해주는 구조이다. (하나의 Ledger를 공유) Ledger에는 작액이 표시되어 있지 않음. 단지 모든 거래 내역이 공개되기 때문에 이를 통해 잔액을 계산할 수 있다. 익명으로 공개됨. Transaction Transaction Chain 앞에 거래 내역이 다음 거래 내역에 영향을 미침. 거래가 계속해서 진행됨에 따라, 신뢰가 쌓임 output은 다음의 두 가지로 분류된다. Unspent Transaction Output: 아직 사용하지 않은 돈 Spent Transaction..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bggio4/btqPqmmfINY/tyJediKVhpD7ikJKpwXZnK/img.png)
공개 키 분배 위험 -> Meet-in-the Middle Attack 중간에서 공격자가 다른 사람으로 가장한 체 공개 키를 가로채서 변조할 수 있다. Public Key 분배 방법 1: Public announcement 자신의 public key 그냥 뿌림 -> 위험 Public Key 분배 방법 2: Publicy available Directory 게시판 같은 곳에 public key 업로드함 -> 위험 Public Key 분배 방법 3: Public key authority 중간에 진짜 public key들을 가진 Public-key Authority를 두고 이 곳에 물어봐서 다른 사람의 public key를 얻어옴. 예: Alice가 Bob에게 메시지를 보내려고 한다. Alice는 Public..