본문 바로가기

분류 전체보기342

Dreamin iOS 맥북프로 언박싱! Dreamin iOS Academy 에 합격하고 맥북이 오기를 기다리고 있었다. 소포가 하나 왔다. 안에는 맥북과 웰컴키트가 있었다. 그리고 미션도 있었다. 맥북 언박싱 영상 을 찍어야 했다. 이런거 잘 못하는데,, 그래도 해야된다. 그게 약속이니까 그래서 찍은 영상이다. 생애 최초이자 최후의 언박싱 영상 이렇게 하는게 맞는지 모르겠다. 아무튼, 웰컴 키트 구성품에는 티셔츠, 잔, 호두과자, 샴페인잔이 있었다. OT 때 같이 언박싱 한다하여 따로 올리진 않는다. 화상으로 연회같은걸 하려나 보다. 중요한 받은 맥북 사양은 이렇다. MacBook Pro 13형 - 제품 사양 프로세서 속도, 하드 드라이브 용량, 메모리 등 MacBook Pro에 대한 전체적인 제품 사양입니다. www.apple.com 확실히.. 2020. 7. 31.
한화 Dreamin iOS Academy 최종합격 후기 Academy > Connect your Dream > dreamin | 드림인 dreamin iOS Academy dreamin.career 과정 자기소개서 및 서류 제출 1차 온라인 테스트 2차 온라인 면접 합격 지원하게 된 계기 평소에 iOS 개발자를 목표로 하고있다고 내 주변 사람들은 다 알고있다. 그래서 그런지 iOS 개발 직군쪽 채용이나 교육과정과 같은 좋은 기회가 있으면 내게 공유해 주시는 편이다. 무척 감사하다. 지인중 한분이 이 과정을 소개해 주셨고 졸업하기 전 iOS 관련 교육과정을 경험해 보고 싶었던 나는 고민없이 지원하게 되었다. (혼자 iOS 개발을 배웠는지라, 커리큘럼이 있는 교육과정을 받아보고 싶었다.) 자기 소개서 및 서류 작성해야하는 글의 내용은 인턴이나 신입 채용을 위한 .. 2020. 7. 29.
💯 Daily LeetCode Challenge Day_20 - Remove Linked List Elements Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 Remove all elements from a linked list of integers that have value val. Example: Input: 1->2->6->3->4->5->6, val = 6 Output: 1->2->3->4->5 Swift 로 풀려니 Optional 처리가 걸린다... 2020. 7. 29.
💯 Daily LeetCode Challenge Day_19 - Add Binary Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 Given two binary strings, return their sum (also a binary string). The input strings are both non-empty and contains only characters 1 or 0. Example 1: Input: a = "11",.. 2020. 7. 29.
🎓 졸업과제 - TAble PArSing (TAPAS) google-research/tapas End-to-end neural table-text understanding models. - google-research/tapas github.com 위키피디아의 HTML 문서에서 형식의 태그만 뽑아내 해당 테이블에 대한 질의응답을 처리하는 것이 목표이다. 원래는 BERT 와 Memory Network 를 통해 QA 를 하려 헀으나 TAPAS 라는 모델이 나와서 이걸 쓰기로 했다. TAPAS Weakly Supervised Table Parsing via Pre-Training 테이블에 대해 logical form 없이 질의응답을 처리할 수 있는 모델 TAPAS 정답 타입 Cell Selection: 정답이 Cell 안에 그대로 있는 부분 Scalar answe.. 2020. 7. 28.
💯 Daily LeetCode Challenge Day_18 - Course Schedule 2 Account Login - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given th.. 2020. 7. 24.
버스탈때 볼 iOS Interview Questions 정리 버스에서 유투브는 잘도 보면서 어지럽다고 [출처: JeaSungLEE/iOSInterviewquestions] JeaSungLEE/iOSInterviewquestions 👨🏻‍💻👩🏻‍💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub. github.com iOS Bounds 와 Frame 의 차이점을 설명하시오. iOS ) Frame과 Bounds의 차이 (1/2) 안녕하세요 :) Zedd입니다. 지금 다른 글을 쓰고있는데, 쓰면 쓸수록 쓸 주제가 많아집니다...급 이 글을 쓰게 됐어요 XD.. 아무튼 오늘은 저도 궁금했던 Frame과 Bounds의 차.. 2020. 7. 22.
Swift - Graph Implemetation Swift Algorithm Club: Graphs with Adjacency List Learn how to implement directed and undirected graphs in Swift using adjacency lists. www.raywenderlich.com Adjacency List 구현 인접리스트 구현 방식 Storing an array of arrays Storing an array of linked-lists Storing a dictionary of arrays 인접 리스트 구현 #1 Vertex import Foundation public struct Vertex { var data: T } extension Vertex: Hashable { public var hashV.. 2020. 7. 20.
💯 Daily LeetCode Challenge Day_17 - Top K Frequent Elements Account Login - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] Example 2: Input: nums = [1], k = 1 Output: [1] Note: You may assume k is always .. 2020. 7. 18.
💯 Daily LeetCode Challenge Day_16 - Pow(x, n) Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 Implement pow(x, n), which calculates x raised to the power n (xn). Example 1: Input: 2.00000, 10 Output: 1024.00000 Example 2: Input: 2.10000, 3 Output: 9.26100 Exampl.. 2020. 7. 18.
💯 Daily LeetCode Challenge Day_15 - Reverse Words in a String Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 Given an input string, reverse the string word by word. Example 1: Input: "the sky is blue" Output: "blue is sky the" Example 2: Input: " hello world! " Output: "world!.. 2020. 7. 16.
🎓 졸업과제 - Python3, Pycharm, Homebrew update 잠자던 졸업과제 단톡방에 조교님의 톡이 올라왔다. 우선 자바스크립트 버튼 누르면 파일 선택하고 선택된 HTML 테이블 코드가 있는 텍스트파일의 테이블을 출력하는 부분을 구현해주셔야 할 것 같습니다 네 알겠습니다. 구현할 것 자바스크립트 버튼을 누르면 파일을 선택한다. 파일(HTML파일인것 같음) 에서 만 뽑는다. 뽑아낸 표의 데이터를 출력한다. 1. 파이참 Community 버전을 깐다. 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE 최신 버전 다운로드: PyCharm (Windows, macOS, Linux) www.jetbrains.com 2. 외부 라이브러리를 설치한다. Mac 기준 Preference -> Project -> Project Interpreter.. 2020. 7. 16.
💯 Daily LeetCode Challenge Day_14 - Angle between hands of a clock Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 Given two numbers, hour and minutes. Return the smaller angle (in degrees) formed between the hour and the minute hand. Example 1: Input: hour = 12, minutes = 30 Output.. 2020. 7. 14.
Design Pattern - MVC MVC Class Diagram Model: 앱 데이터를 가지도 있다. struct 나 간단한 class 로 구성된다. Views: 시각적인 요소들과 화면을 담당한다. UIView 의 Subclass 이다. Controllers: model 과 view를 통합시킨다. Controller 는 model 과 view의 string properties를 가져 직접 access가 가능하다. 또한 하나 이상의 view와 model 을 가질 수 있다. 반대로 model 과 view 들은 controller 에 대한 string reference 가 없어 retain cylce의 문제가 발생할 수 있다. 대신에 model 은 property observing 을 통해 controller 와 통신한다. view 는 I.. 2020. 7. 14.
Design Pattern - Class Diagram 2020. 7. 14.
Design Pattern - Introduction 디자인 패턴은 Design Patterns: Elements of Reusable, Object-Oriented Software 라는 책에서 처음 다뤄졌다. 흔히 발생하는 소프트웨어 개발 문제에 대한 재사용 가능한 템플릿 솔루션을 다웠다. 디자인 패턴은 어떤 특정 상황이 아닌, 문제 상황에서 해결을 위해 차용할 수 있는 솔루션인 것이다. not concrete implementation (정확히 정해진 완벽한? 규격? 이 없다) -> serve as starting points for writing code (디자인 패턴을 뼈대로 시작하는 것) 디자인 패턴 3가지 종류 Structural design pattern: 큰 구조를 위해 어떻게 object가 결합 되는지 설명한다. 예를들어 MVC, MVVM,.. 2020. 7. 14.
LeetCode - Container With Most Water Container With Most Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two li.. 2020. 7. 14.
💯 Daily LeetCode Challenge Day_13 - Same Tree 문제 Given two binary trees, write a function to check if they are the same or not. Two binary trees are considered the same if they are structurally identical and the nodes have the same value. Example 1: Input: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] Output: true Example 2: Input: 1 1 / \ 2 2 [1,2], [1,null,2] Output: false Example 3: Input: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2] Output: false dfs로 t.. 2020. 7. 13.
RxSwift: Observable & Subject in practice View Controller 에 Disposebag과 BehaviorRelay를 선언 Disposebag를 사용하면 View Controller가 deallocation 할 때 같이 subscriptions들이 dispose되서 memory management 가 편하다. *하지만 rootview 인 경우 앱이 종료되기 전까지 deallocation 하지 않으니 주의하자 private let bag = DisposeBag() private let images = BehaviorRelay(value: []) + 버튼을 누를 때 마다 사진을 들고와 기존 사진과 콜라쥬 한다. 즉 이전에 선언한 images (BehaviorRelay) 에 추가한다. UI 에 관련되었기 non-terminating sequenc.. 2020. 7. 13.
Swift: 프로퍼티와 메서드 프로퍼티 클래스, 구조체 또는 열거형 등에 관련된 값 저장 프로퍼티: 인스턴스의 변수 또는 상수 (구조체, 클래스에만 사용 가능) 연산 프로퍼티: 특정 연산을 실행한 결괏값 타입 프로퍼티: 특정 타입에 사용되는 프로퍼티 (클래스 변수) - static *프로퍼티 감시자: 프로퍼티 값이 변할 때 값의 변화에 따른 특정 작업 실행 (저장 프로퍼티에 적용가능, 부모 클래스로부터 상속 가능) 지연 저장 프로퍼티 (lazy var) 호출이 있어야 값을 초기화 한다. 인스턴스를 초기화 하면서 굳이 모든 저장 프로퍼티를 사용할 필요가 없을 때 사용한다. 굳이 메서드를 쓰지않고 연산 프로퍼티를 쓰는 이유 인스턴스 외부에서 메서드를 통해 인스턴스 내부 값에 접근하려면 메서드 두개(접근자, 설정자)를 구현해야한다. (코드.. 2020. 7. 13.
Swift: 구조체 vs 클래스 Struct 구조체의 인스턴스는 값 타입 --> 전달될 값이 복사되어 전달된다. 스위프트 기본 타입(Bool, Int, Array, Dictionary, Set, String 등) 구조체로 구현되어 있음 Class 클래스의 인스턴스는 참조 타입 --> 전달될 값이 복사되지 않고 참조(주소)가 전달된다. *같은 곳을 참조하는지 확인을 위해 === 를 사용한다. 공통점 값을 저장하기 위해 property 를 정의 가능 기능 실행을 위해 method 정의 가능 subscript 문법을 통해 구조체 또는 클래스가 갖는 값에 접근하도록 서브스크립트를 정의 가능 초기화 될 때 상태를 지정하기 위한 init 정의 가능 기능 추가를 위한 extension 가능 특정 기능 실행을 위한 프로토콜 준수 가능 차이점 구조체는.. 2020. 7. 13.