전체 글
-
RSA 암호화 알고리즘 작은 숫자로 쉽게 이해하기코딩은 주댕이로/컴공지식 2021. 9. 21. 22:19
두 소수 p, q가 있다. p와 q의 곱 N을 구하는 것은 매우 쉽다. 하지만 N이라는 값이 주어졌을 때, 소수인 p와 q를 구하는 것은 매우 어렵다. 이를 Trapdoor라고 부른다. Bob이 Alice에게 자신의 나이(42)를 보내는 시나리오를 생각해보자. Public key 생성 먼저 Alice가 Public Key를 생성해야 한다. p=17, q=29로 두 소수를 정했다. 두 수의 곱 N을 계산한다. p x q = N = 493 또 다른 수 e를 생성한다. (p-1) x (q-1) = 448 448이 e는 아니다. e는 448의 인수와 관련이 없다면 어떤 값이라도 될 수 있다. 448을 소인수분해하면 448 = 2 x 2 x 2 x 2 x 2 x 2 x 7이다. 즉, e를 소인수분해를 했을 때, ..
-
Ch13. StashesRay Wenderlich/Mastering Git 2021. 9. 21. 16:48
git stash cd .git/refs/ cat stash # b6132364bdae71e8a5483e42584257aadbe49827 git cat-file -p b61323 tree 1a79fa3410189b40dccb6b36f7eda8725c768627 parent 870aea10aa51d9103e6f6e37217b2cd077dd22bb parent 68cde8e6fde76e21a7a93637f0bf5dbc3b36c242 author Chris Belanger 1556018137 -0300 committer Chris Belanger 1556018137 -0300 WIP on master: 870aea1 Merge branch 'xReadmeUpdates' Git은 Stash를 생성할때 Commi..
-
[Diary] 히가시노 게이고의 '인어가 잠든 집'을 읽고무념무상일상/히가시노 게이고 2021. 9. 21. 16:44
게이고의 소설에선 누군가가 살해당하기를 원한다. 이 소설은 그 흔한 게이고의 추리소설이 아니다. 난 이걸 모르고 봤다. ㅎㅎ 나미야 잡화점의 기적 이후로 게이고의 드라마 장편 소설도 많이 보게 된 것 같다. 꽤나 재미있고 여전히 읽기 쉬워 만족스럽다. 그리고 2021년 10월에 영화로도 나온다고 한다. 근데 가슴아픈 스토리의 연속이라 보고싶진 않다 ㅠㅠ 편지도 그렇고, 인어가 잠든 집도 그렇다. 눈보라 체이스도 살인사건이 메인은 아니었지 아마..? 저택에는 소녀가 살고 있다. '다리가 불편하지는 않지만 자유롭게 걸을 수 없는' 소녀다. 이 소녀의 이름은 다. ***** 스포주의 ***** 미즈호는 수영장에서 사고를 당해 뇌사상태에 빠지게 된다. 이 책을 보고나면 뇌사라는 단어에 대해서 새로운 시각을 갖게..
-
[Diary] 히가시노 게이고의 '라플라스의 마녀'를 읽고무념무상일상/히가시노 게이고 2021. 9. 21. 16:25
라플라스는 수학자의 이름이다. 주인공으로 등장하는 마도카는 수상한 기운을 내뿜는다. 하지만 그 기운은 마법의 영역도 아니고 마도카 역시 마녀가 아니다. 또 다른 비상한 기운의 남자의 이름은 겐토다. 겐토 또한 마도카처럼 마법에 가까운 능력을 보여준다. 이 둘의 능력은 마법이 아니다. 머리가 너무너무 잘돌아가서 물리법칙에 의한 사고가 빠를 뿐이다. 위로 던진 주사위의 회전과 바닥에 닿았을 때의 탄성 등을 계산하여 주사위의 숫자를 바로 맞출 수 있다. ***** 스포주의 ***** 겐토의 아버지는 유능하고 동시에 미친 영화감독이다. 말그대로 미친놈이기 때문에, 가족을 죽게 만들고도 영화생각 뿐이다. 겐토는 복수를 해야했고, 마도카는 복수가 가져올 비극을 막아야 했다. 이 책은 굉장히 극적인 요소가 많다. 마..
-
Ch12. Merge ConflictsRay Wenderlich/Mastering Git 2021. 8. 23. 00:58
What is a merge conflict? Git은 Merge를 할 때, Longest Common Subsequence(LCS)를 사용한다. 먼저 내가 수정한 파일과 Common ancestor의 변경사항을 비교하여 공통부분을 찾는다. 그 다음, Merge할 브랜치의 파일을 Common ancestor와 비교하여 공통부분을 찾는다. Git은 이 방식으로 LCS를 찾아낸 뒤 비교해본다. "What has changed between the common ancestor and this new file?" 그 다음, "Now, of those changes in each pair of files, are there any sets of lines that have changed differently be..
-
Ch11. How Does Git Actually Work?Ray Wenderlich/Mastering Git 2021. 8. 23. 00:57
Git은 SHA-1해쉬 값으로 모든 Commit을 참조한다. Dissecting the commit git log -5 --oneline f8098fa (HEAD -> master, origin/master, origin/HEAD) Merge branch 'clickbait' with changes from crispy8888/clickbait d83ab2b (crispy8888/clickbait, clickbait) Ticked off the last item added 5415c13 More clickbait ideas fed347d (from-crispy8888) Merge branch 'master' of https://www.github.com/belangerc/ideas ace7251 Addi..
-
Ch10. MergingRay Wenderlich/Mastering Git 2021. 8. 21. 16:32
Three-way merges 2개의 수정을 merge할 때, 각각의 수정 사항을 합치는 것을 생각해보자. 이 것은 two-way merge이고, 우리가 실제로 이해하기 쉬운 방식이다. git은 Three-way merge를 한다. 파일의 변경을 마친 상태 그대로 mere하는 것이 아닌 original 파일으로부터 수정된 사항을 merge하는 것이다. merge conflict가 발생하는 경우를 제외하면 git은 three-way merge를 통해 오류없이 merge해줄 것이다. Merging a branch git log --not theirs에는 있지만 ours에는 없는 commit을 보여준다. Fast-forward merge original 파일을 나 말고 아무도 건드리지 않았다면 Fast-for..
-
Ch9. Creating a RepositoryRay Wenderlich/Mastering Git 2021. 8. 21. 16:30
git init Initialized empty Git repository in /Users/chrisbelanger/MasteringGit/mastering-git-web/.git/ 디렉터리에 파일이 있어도 empty Git repository를 생성했다고 한다. git add로 파일을 추가해주어야 한다. Creating a LICENSE file LICENSE 파일은 레포지터리의 코드에 대한 권한을 알려준다. LICENSE 파일이 없는 레포지터리는 다른 유저들이 어떤 권한을 갖게 될까? 그냥 막 써도 된다? ㄴㄴ 보기만하고 어떤 경우에도 재사용하거나 contribution할 수 없다. https://choosealicense.com/ 여기에 가면 샘플 LICENSE파일이 많이 있으니, 골라서 사용하면..