2021.03.31 TIL

Jackson·2021년 3월 31일
0

TIL(Today I Learned)

목록 보기
4/42

3월의 마지막날이다. 정말 시간이 빠르고, 2월이 개인적인 일로 참으로 힘들었는데 이제 그 결실이 맺어진 것 같다.

앱 스토어 그리고 인증서 🍎

오늘 배운 수업의 중심 내용은 만든 앱을 앱스토어에 올리는 것이다. 이 방법은 실제로 직접해봐야 제대로 이해되겠지만 인증서에 대한 개념을 간단하게 배웠다. 어떻게 암호화하여 해킹, malware로부터 보호를 받을 수 있는지였다. 인증서의 암호는 보통 private key + public key 로 발급하며 소수의 곱으로 이루어진다고 배웠다. 그 소수도 보통 커다란 소수이기에 일반적인 컴퓨터로 비밀번호를 찾기란 10년이 걸린다고 하였다.
또한 각 주기로 갱신또한 하여 IOS가 인증보안에 신중하다는 점을 알았다. 안드로이드에서 올리는것 대비 어느정도로 보안에 신중하는지 알 수 있는점이었다.

PS 🙇🏻‍♂️

오늘은 미션에 집중하기보다는 개인적인 일에 더 초점을 두고싶어서 간단하게 ps문제만 한개 풀어보았다. 어쩌다보니 이 문제도 소수에 대한 문제였다. 소수찾기
에라토스테네스의 체 에 관해서 공부를 해보았고 이를 통해 알고리즘에 대한 개념을 보면서 이해하였다. 또한 스위프트를 쓰다보니 c나 java에서 자주쓰던 for( ; ; i+2)등의 개념을 어떻게 접목시켜야 할지 보다보니 stride() 를 알게 되었다.

이 문제의 핵심은 다음 코드이다.

for i in 2...max-1 {
         if primeNumbers[i] {
             for j in stride(from: i*i, to: max, by: i){
                 primeNumbers[j] = false
             }
         }
     }
  • 각 i 마다 primeNumbers[i] 를 체크하고 true라면 그의 제곱배를 다 false(즉 not 소수)로 만들어 주는것이다.
  • 처음에는 wiki를 참조해도 왜 저렇게 하는지 이해가 안되었지만 한 단계씩 따라가면서 알게 되었다.
  • from의 i*i는 이미 i가 true였기때문에 i의 i배수는 false임이 당연한것이다 ex) 2가 소수이면 4(2*2)는 이미 소수가 아니다. 그리고 by : i에 의해 4,6,8...은 모두 소수가 아니게 된다.

행복 🥰

오늘은 2021년중 가장 행복한 날이다. 내 개인적인 문제가 다 해결되었고, 앞으로는 행복할 거라 믿는 순간이 있었던 날이었다. 올해 취업문제, 학습문제도 중요하지만 velog에는 말할 수 없는 지극히 개인적인 이 일이 내 인생에서는 최우선순위라고 생각한다. 오늘은 행복하게 잘 수 있겠다.


결론

  • 인생은 행복하게

0개의 댓글