본문 바로가기
728x90
반응형

Xcode/Swift - PlayGround58

PlayGround ) Swift로 RC4 알고리즘에 대해 알아보자! 안녕하세요 후르륵짭짭 입니다. 추석 연휴가 끝났습니다. ㅠ ㅠ 이번에는 2014년 WWDC Swift 언어가 처음으로 공개 됐을 때, Swift의 장점인 빠르다를 소개하면서 나왔던 RC4에 대해 설명하려고 합니다. (사실 시스템 보안 과제였기도 했습니다 ㅎㅎㅎ) ** RC4란 무엇인가 ** Rc4 알고리즘은 대칭키 Stream Cipher 입니다. 여기서 대칭키란, 암호 할 때 Key 랑 해독할 때 Key 랑 동일한 Key를 사용하는 것을 의미합니다. 그리고 Stream Cipher (스트림 암호)는 물흐르 듯 연속적인 난수를 XOR 연산으로 생성해서 그것을 Key로 사용하는 것을 말합니다. (그런데 취약점이 있다고 해서 잘 사용안한다고 하네요 ㅎㅎㅎ) ** RC4 암호체계 ** - 키 스트림이 만들어지.. 2020. 10. 5.
PlayGround ) Design Pattern (MVC) 안녕하세요 후르륵짭짭 입니다! 오늘은 디자인 패턴에 대해서 알아보려고 합니다. 제가 디자인 패턴에 대해 처음 알게된 것은 "소프트웨어 공학" 수업을 듣고 나서 입니다. 이때 처음으로 MVC 패턴을 알게 됐고, 그 당시는 제가 Swift를 할 줄 몰라서 JAVA로 GUI랑 함께 MVC 패턴을 구현 했던게 기억 납니다. ** 디자인 패턴을 왜 알아야 하나 ** 사실 혼자서 이거나 단순한 개발 이라면 디자인 패턴을 알 필요는 없습니다. 하지만 우리가 할 것은 멋진 앱이고, 다른 사람과 협업을 언젠가는 하게 될 앱을 개발 해야하기 때문에 남을 위해 코드를 작성할 필요가 있습니다. 즉, 디자인 패턴은 기능들을 요리조리 잘 분류하여 재사용성을 높이고 가독성을 높이기 위한 측면에서 생겨난 이론입니다. ** What .. 2020. 10. 2.
PlayGround ) Viewcontroller Life Cycle 이란?? 안녕하세요 후르륵짭짭 입니다. 오늘은 뷰컨트롤러를 다룰 때 많이 중요한 ViewController 생명 주기에 대해서 배워볼려고 합니다. 대단한 앱을 만들어 본적은 없지만, ViewController 생명 주기를 사용해서 기능들을 생성하고, 지우고, 여러가지 일들을 했던 기억이 있어서, 이번에는 몰랐던 부분 까지 다뤄볼려고 합니다. ViewController 생명 주기를 알아야하는 이유는!!! 상태변화 감지를 앱이 알아서 해주는데, 그에 따라 우리가 하고 싶은 작업을 할 수 있기 때문입니다. 뷰들도 생명 처럼 죽고 생기고 하거든요 ㅎㅎㅎ 일단 전체적인 주기는 아래 그림과 같이 작동 합니다. ** Load View **. Load View는 뷰를 만들고 메모리에 올리는 역할을 합니다. 따라서 우리가 직접 .. 2020. 9. 30.
PlayGround ) 우선순위 큐를 구현해보도록 하자!!! 안녕하세요 후르륵짭짭 입니다. 이번에는 처음으로 알고리즘 이론을 가져와 봤습니다. 모두 자료구조인 Heap에 대해서 어느정도 알고 있을 거라 생각합니다. 우선순위 큐라 불리는 Heap은 최대값 또는 최소값이 항상 루트 값에 위치 해서 빠른 시간안에 최대 값을 찾아주는 알고리즘 입니다. 그 값의 최대값? 최소값 찾는 것은 그냥 배열의 min() / max() 쓰면 되지 않냐고 생각하시는 분들 있을 수도 있습니다. 하지만 Apple Document에서는 O(n)시간을 가지게 됩니다 developer.apple.com/documentation/swift/array/1688806-max Apple Developer Documentation developer.apple.com 그러나 Heap을 쓰면 O(1)시간에.. 2020. 9. 19.
728x90
반응형