오늘은 Hash Table에 대해 공부해보려 합니다. 유튜브를 보는데 '해시를 모르는데 면접에서 붙을리가..' 라는 제목을보고 뜨끔해서 정리해봅니다..! 목차 - 해시 함수 - 해시 테이블 - 해시 충돌 Hash Function - 해시함수 주요 역할 원래의 데이터(key)를 hash value로 변경해줍니다. hash value는 고유한 index값이 됩니다. key → 해시함수 → hash value 이 과정을 hashing 이라고 합니다. 대표적인 해시 함수(4가지) 1. Division Method 나눗셈을 이용하는 방법. key값을 테이블의 크기로 나누어 계산. 나머지를 index로 사용 index = key / 테이블 크기 ex) key값이 23이고, 테이블 크기가 7이면 index는 2가 됨..
지난시간에 이어 네트워크 OSI 7계층을 마저 정리해 보려고 합니다!! 전기신호(물리계층) - 0과 1로 이루어진 데이터, 스위치(데이터링크계층) - 라우터(네트워크 계층) 순까지 통신이 되는걸 알아봤는데요. 이어서 전송계층 부터 정리해보겠습니다. 4. Transport Layer- 전송 계층 • 대부분 TCP 프로토콜을 이용하며, 포트(Port)를 열어 응용프로그램들이 송수신 할 수 있게 해주는 역할. • Port 번호로 통신 • 통신 단위: 세그먼트(Segment) • 프로토콜: TCP/UDP • 장비: L4 스위치 TCP 프로토콜 (Transmission Control Protocol) 패킷 손실, 중복, 순서 바뀜이 없도록 신뢰적인 전송 보장 송신하기전 데이터를 여러개의 패킷으로 나눠 도착..
CS공부를 조금씩 해보려고 합니다. 첫번째 주제로는 네트워크! 늘 일상속에 인터넷이라는게 잘 녹아있어 어떻게 동작하는지 궁금해져 한번 파보려고 합니다. OSI OSI(Open System Interconnection) 네트워크 통신이 일어나는 과정을 7 계층으로 나눈 것. 7 Layer Physical - 물리 계층 Data Link - 데이터링크 계층 Network - 네트워크 계층 Transport - 전송 계층 Session - 세션 계층 Presentation - 표현 계층 Application - 응용 계층 계층을 나눈 이유 ? 네트워크 통신이 일어날때의 과정을 단계별로 파악할 수 있기 때문입니다. 7단계중 문제가 생긴곳 중 해당 부분만 고치면 해결할 수 있겠죠. 핸드폰 충전기를 예로 들어볼게요..
국내에서만 제공되는 서비스를 글로벌화 시키고 싶을때 현지화 작업을 합니다. 키워드는 Localization. 기기 시스템언어 & 지역 설정 별로 앱에 보여지는 언어를 다르게 하고 싶을때 사용하는데요. 오늘은 Localization에 대해 정리해 보겠습니다. 목차 Storyboard Localization Programmatically Localization TIP 앱 아이콘은 현지화 지원 X extension으로 편하게 써보기 Xcode에서 언어 설정을? Localization (적용 사진) 먼저 사진으로 현지화가 어떤건지 보고 가실게요. 시스템 언어 & 지역 (한국) 시스템 언어 & 지역 (미국) 1. Localization (with. Storyboard) 현지화 작업 테스트를 위해 Main.st..
22년 회고글을 쓴지가 엊그제 같은데 벌써 5월달이라니.. 늦었지만 1분기 회고 하는 글을 적어보려고 한다. 23년 목표 돌아보기 1. 결혼 문제없이 잘 진행되고 있다. 6월부터 정말 바빠질것 같지만.. 🫠 2. 5kg 감량 & 운동메이트 구하기 (무조건!!) 회고글 작성을 기준으로 2.5kg이 줄었다. 못해도 주3일 운동은 꼭 가고 있다!! 직장동료 두분과 같이 운동하고 있어 운동메이트도 구했고 덕분에 꾸준히 할 수 있는것 같다. 👍 글또 라는 글쓰기 커뮤니티에 #헬또 라는 채널이 있는데 운동한 기록들을 공유하는 곳에도 참여해 올리고 있다. 3. 회사에서 인정받기 음.. 이건 아직 잘 모르겠다. 개인적으로 해도해도 부족한느낌이라 조금은 더 지켜보자 !! 그래도 RIBs 아키텍처나 RxSwift에 어느..
어떤건 required init에 구현해야하고, 어떤건 super.init에 구현되어야 하는데 이유가 궁금해졌습니다. required init 먼저 required init은 단어 그대로 '필수적인' init 인데, 사용하는 방법은 여러가지 방법이 있습니다. 하위클래스 required init() 생략 상위클래스를 상속받는 하위 클래스 예시 코드를 먼저 봅시다. 하위클래스(ChildClass)에서 requried init() 메서드 호출이 없어도 자동적으로 상속받는 상위클래스(ParentClass)의 required init을 호출하게 되어 10이 출력됩니다. 하위 클래스 required init() 구현 그럼 하위클래스의 required init() 메서드를 호출하면 어떻게 될까? 하위클래스(Child..
지난 블로깅에 AVAssetWriter로 비디오를 저장하면서 FileManager에 대해 스쳐 지나가듯 나왔었는데요! 이번 블로깅은 FileManager에 깊게 한번 파보려고 합니다 :) 파일 시스템의 내용에 대한 편리한 인터페이스 및 상호 작용의 주요 수단입니다. 그냥 파일을 관리 하는 Class에요! 아이폰을 사용하면서 한번쯤 보셨을 파일 앱에 보통 저장 됩니다. 들어가기전에 용어 정리를 하고 갑시다 Folder = Directory 진행될 플로우는 아래와 같습니다. info.plist 권한 저장할 파일의 경로 설정 (URL), (appendingPathComponent) Directory(폴더) 생성 파일경로 설정 및 생성 & 확장자 설정 파일 삭제 1. Info.plist 권한 아래 두 권한을 모..
회사에서 움직임 감지 기능구현을 하면서 두 가지 기능이 필요했다. 1. 영상 녹화/ 저장 2. 움직임 감지 일단 영상 녹화/저장은 참고해볼 자료가 많아서 리서치 하는데 오래 걸리진 않았지만.. 움직임 감지기능과 영상을 녹화,저장을 동시에 하는 구현을 하면서 겪었던 산전수전을 기록하고자 한다. 삽질시작 빨리 끝낼 수 있는것 부터 손보려고 했고, 영상 녹화/ 저장 으로 가장 많이 나왔던 키워드는 AVCaptureMovieFileOutput, PHPhotoLibrary 였다. 이전 Camera설정 - AVCaptureSession 에서 블로깅했듯, 어렵지 않게 영상 녹화/ 저장 부분을 구현할 수 있었다. 그런 다음 움직임 감지를 하기 위해 제가 여러가지 리서치를 해보며 추려낸 키워드는 AVCaptureVide..
현업에선 RxSwift를 사용하고 있다. 그중 가장 많이 보이는건 .rx 이 친구.. 도대체 뭘까? Button.rx TextField.rx 이런건 봤는데 따로 커스텀해서 만들어져있는걸 보고 공부해야겠다 안되겠다..하고 미루고 미루던게 드디어 오늘이다. 한번 파보자 !! .rx Observable 타입을 표현하는 확장자로, 비동기적으로 데이터를 생성하고나 다른 이벤트를 전달 하는 시퀀스 인데 기본형태로는 아래와 같이 쓰입니다. extension Reactive where Base: SomeType { } 가장 끝 SomeType 쪽에 (UIButton, UITextField, URLSession 등) 감지하고 싶은 특정 reactive extension을 구현합니다. 예시) self.someButton ..
- Total
- Today
- Yesterday
- swift (programmers)
- Swift ModernRIBs
- Swift final
- swift protocol
- Swift inout
- Swift RIBs
- Swift Leetcode
- RTCCameraVideoCapturer
- 원티드 프리온보딩
- 2023년 회고
- Swift 알고리즘
- swift property
- Swift 프로그래머스
- Swift joined
- Swift 내림차순
- Combine: Asynchronous Programming with Swift
- swift 고차함수
- Swift Error Handling
- RIBs tutorial
- CS 네트워크
- Swift init
- Class
- swift reduce
- iOS error
- removeLast()
- Swift joined()
- Swift
- ios
- swift programmers
- Swift 프로퍼티
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |