profile
일단은 iOS
post-thumbnail

추상클래스 vs 인터페이스 vs 프로토콜

Java나 숱한 객체지향 언어들을 공부할 때, 자주 접하는 단어인 OOP(Object Oriented Programming)와는 다르게 Swift 언어에서는 Protocol과 POP(Protocol Oriented Programming)이라는 개념이 나온다. POP, 즉 프로토콜 지향 프로그래밍은 이름 그대로, 객체나 인터페이스 대신 프로토콜을 중심으...

2019년 8월 27일
·
0개의 댓글
post-thumbnail

[iOS Youtube Clone 앱 개발] #2 커스텀 객체 사용하기

본 프로젝트는 해외 유튜버 "Lets Build that App" 님의 영상을 참고하여 주요 내용만 요약했습니다. 코드 깃허브 링크 UIImageView 커스텀 image.png 이제 본격적으로 각 객체의 속성을 커스텀해보자. 나중에야 서버로 데이터를 받아올 것 같지만, 현재는 아쉬운대로 기본이미지를 넣어줘야 할 것 같다. 본 유튜브 채널에선 테일...

2019년 8월 19일
·
0개의 댓글
post-thumbnail

시간 복잡도 (big-O, big-Ω, big-θ)

O (Big-O) 학계에서 big-O는 시간의 상한을 나타낸다. =big-Ω 즉, 위처럼 배열의 모든 값을 출력하는 알고리즘으로 예를 들자면, Ω(N) 뿐만 아니라 Ω(logN), Ω(1)도 마찬가지로 얼마든지 표현이 가능하다. θ (Big-Theta) 위 두 개념에 대해 읽어봤다면, 라는 생각이 들었을지도 모른다. big-O의 경우 그냥 무슨 알고...

2019년 8월 19일
·
0개의 댓글
post-thumbnail

정렬 알고리즘 정리

O(N^2) 정렬 버블정렬(Bubble Sort) 버블 정렬은 매번 연속된 두개 인덱스를 비교하여, 정한 기준의 값을 뒤로 넘겨 정렬하는 방법이다. 오름차순으로 정렬하고자 할 경우, 비교시마다 큰 값이 뒤로 이동하여, 1바퀴 돌 시 가장 큰 값이 맨 뒤에 저장된다. 맨 마지막에는 비교하는 수들 중 가장 큰 값이 저장되기 때문에 (전체 배열의 크기 – 현재...

2019년 8월 19일
·
0개의 댓글
post-thumbnail

[프로그래머스 고득점Kit] #4 정렬

정렬이란? 정렬은, 배열이나 List에 담긴 값들을 원하는 기준으로 순서를 재배열하는 과정을 뜻한다. 정렬 알고리즘은 삽입, 선택, 힙, 퀵, 머지 등 하나하나 얘기하기 힘들정도로 다양하기 때문에 여기서 설명은 생략하려고 한다. Stable vs Unstable 몇몇 정렬 문제에서 중요한 요소가 될 수 있는게 바로 이 부분이다. 간단하게 설명하자면 ...

2019년 8월 19일
·
0개의 댓글
post-thumbnail

iOS 프레임워크 #CocoaTouch #Foundation #UIkit

코코아(Cocoa) 먼저 코코아(Cocoa)라는 단어는, NSObject를 상속받는 모든 클래스, 모든 객체를 가리킬 때 사용하는 단어다. 그렇다면 왜 이름이 하필 코코아일까? 위키에서 긁어온 위 글을 보면 알 수 있다. 당시 지금이상으로 핫했던 언어인 Java가 커피원산지에서 따온 이름이기 때문에, 애플 개발자는 어린아이도 할 수 있는 자바(Jav...

2019년 8월 16일
·
0개의 댓글
post-thumbnail

[프로그래머스 고득점Kit] #3 힙

힙이란? 힙(Heap)은 완전 이진트리의 일종으로서 일반적으로 root에 최소값이 오는 최소힙과 최대값이 오는 최대힙으로 구분된다. 같은 완전이진트리라 그런지 이진탐색트리와도 비슷한데, 이쪽의 경우 좌우와 상관없이 부모노드가 자식노드보다 작다/크다의 조건만을 갖는 트리이기 때문에 조금 다르다. 이를 일종의 반 정렬상태, 느슨한 정렬상태라고 부르기도 한...

2019년 8월 15일
·
0개의 댓글
post-thumbnail

[프로그래머스 고득점Kit] #2 스택/큐

스택 / 큐란? 스택(Stack)은 FIFO(First In First Out) 큐(Queue)는 LIFO(Last In First Out) 스택의 경우, 끝에서 삽입, 확인, 삭제연산이 일어날 경우 사용하고, 큐는 사용범위가 워낙 광범위해서 특정하기 힘든데, 일단 BFS에서 주로 사용한다. 🚀주요 사용하는 기능 in JAVA Queue Queue...

2019년 8월 13일
·
0개의 댓글
post-thumbnail

그래프 알고리즘 정리

그래프? 정점과 간선들로 이루어진 집합. 즉 트리 역시 그래프에 속한다고 할 수 있다. 그래프를 표현하는 세가지 방법 1. 간선 리스트 말그대로 배열에 간선들을 저장한다. 가장 간단하게 구현되지만 한 정점의 간선에 대한 정보를 얻으려면 모든 간선리스트를 탐색해야 하기 때문에 벨만-포드 알고리즘과 크루스칼 알고리즘 같은 일부 알고리즘이 아니고...

2019년 8월 13일
·
0개의 댓글
post-thumbnail

부스트캠프 2019 챌린지 후기

2019년 8월 9일, 부스트캠프 챌린지 4주간의 일정이 수료식과 함께 종료됐다. 캠프는 매 주 월요일~금요일 진행됐고, 하루 10시간 이상의 상당히 바쁜 일정 일정으로 진행됐다. 게다가 배우는 내용 역시, Web에 대한 지식이 많지 않은 (나같은) 사람에게는 상당히 까다로운 부분이 많았다. 정말 캠프 이름처럼 여러모로 도전적인 커리큘럼이었고, 지치...

2019년 8월 12일
·
3개의 댓글
post-thumbnail

[iOS Youtube Clone 앱 개발] #1 기본 레이아웃

본 프로젝트는 해외 유튜버 "Lets Build that App" 님의 영상을 참고하여 주요 내용만 요약했습니다. 코드 깃허브 링크 StoryBoard와 이별하기 StoryBoard의 품을 벗어나, 프로그래밍적으로 레이아웃을 구현하기 위해 가장 먼저 할 일은 AppDelegate를 설정해주는 것이다. 그 중 가장 중요한 작업은 AppDelegate ...

2019년 8월 12일
·
0개의 댓글
post-thumbnail

[프로그래머스 고득점Kit] #1 해시

해시란? Key-value쌍으로 데이터를 저장하는 자료구조 🚀주요 사용하는 기능 in JAVA HashMap map 타 언어의 Dictionaray와 같은 역할을 하는 자료구조. 가장 중요한 점은 역시 기적적인 Hash의 성능을 통해 저장된 Key에 해당하는 Value를 O(1)의 시간복잡도로 검색이 가능하다는 것. (충돌 및 재해시를 통한 효율감소에...

2019년 8월 12일
·
0개의 댓글
post-thumbnail

[JavaScript] EventLoop와 비동기 동작

자바스크립트는 기본적으로 단일쓰레드에서 동작한다. 하지만 주로 웹에 쓰이는 언어다보니, 단일쓰레드에서 동기적으로만 동작한다면 이런저런 문제가 발생할 수 있다. 외부에서 용량이 큰 데이터를 받아서 띄워주는 경우를 예로 들어보자. 만약 데이터를 받는 시간이 밀리세컨드 단위라면 동기적으로 실행되어도 큰 문제는 없을 것이다. 하지만 받는 시간이, 1, 2초...

2019년 8월 12일
·
1개의 댓글