반응형

분류 전체보기 543

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAcL8n%2FbtrmbnNOykU%2FEKkqQkQiBeTPf7K33wJG5K%2Fimg.png')"

[그리디 알고리즘] 그리디 알고리즘이란?

그리디 알고리즘(Greedy Algorithm) -그리디 알고리즘은 잠재적인 결점은 선택 과정에서 고려하지 않고 각 단계에서 가장 최선의 선택을 하는 기법입니다. -동적 프로그래밍과 마찬가지로 최적화 문제를 푸는데 주로 사용하는데, 동적 프로그래밍에 비해 설계하기 쉬우며, 입력 사례를 분할하지 않는다는 특징이 있습니다. -선택과정-적절성 검사-해답 점검 3단계로 정리할 수 있습니다. 선택 과정(Selection procedure) 지역적으로 최적인 것을 선택합니다. 적절성 검사(Feasibility check) 조건에 알맞은지를 검사합니다. 해답 점검(Solution check) 구한 값이 원하는 값과 일치하는지 확인합니다. 문제1: 거스름 돈 당신은 음식점의 계산을 도와주는 점원입니다. 카운터에는 거스..

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbowxgK%2FbtqWTW1OLcG%2FcXgXeDHQ07irwwLQN2voD0%2Fimg.png')"

[Singleton] 싱글턴

싱글턴(SingleTon) 특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체를 의미합니다. 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다. Cocoa 프레임워크에서의 싱글턴 디자인 패턴 싱글턴 인스턴스를 반환하는 팩토리 메소드나 프로퍼티는 일반적으로 shared라는 이름을 사용합니다. Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스 FileManager -애플리케이션 파일 시스템을 관리하는 클래스 -FileManager.default URLSession -URL 세션을 관리하는 클래스 -URLSession.shared Noti..

iOS/boostcourse 2021.02.10

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmvBFt%2FbtqWc8P77pB%2FVF793V09sKhiYEkoYUcxy1%2Fimg.png')"

[Delegation] 델리게이션

델리게이션 디자인 패턴(Delegation Design Pattern) -하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공합니다. -Foundation, UIKit, AppKit 그리고 Cocoa Touch 등 애플의 프레임워크에서 광범위하게 활용하고 있습니다. -주로 프레임워크 객체가 위임을 요청하며, (주로 애플리케이션 프로그래머가 작성하는)커스텀 컨트롤러 객체가 위임을 받아 특정 이벤트에 대한 기능을 구현합니다. -커스텀 컨트롤러에서 세부 동작을 구현함으로써 동일한 동작에 대해 다양한 대응을 할 수 있게 해줍니다. -예시: UITextFieldDelegate // 대리자에게 특정 텍스트 필드의 문구를 편집해도 되는지 묻는 메서드 func textFieldShouldBeginE..

iOS/boostcourse 2021.02.09

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX8gT6%2FbtqVIKHON7j%2F3biI2eTOk3v4G2sXfMWO6k%2Fimg.png')"

[모두를 위한 딥러닝1] Weight의 초기값 설정하기(6주차_2)

w 값을 0으로 설정하면 미분값도 0이 되므로 gradient 값이 사라지게 됩니다. 그러므로 w 값을 0으로 설정하면 안 된다는 것을 알 수 있습니다. 1. forward(encoder): x 데이터셋과 weight를 이용해서 출력값을 만들어냅니다. 2. backward(decoder): forward의 출력 결과와 forward에서 이용한 동일한 weight를 이용해서 거꾸로 값을 구합니다. 3. forward에서 이용한 x값과 2번에서 구한 x값을 비교합니다. 4. 두 x값의 차이가 최소가 되도록 weight 값을 조절합니다. Deep Belief Network 1. 처음 두 layer를 가지고 forward와 backward 과정을 통해 만들어낼 수 있는 weight를 학습시킵니다. 2. 다음 두..

인공지능 2021.02.04

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAIgeO%2FbtqVvO6mgMQ%2F2oMcF6H6kfZZ4HoyrbvOlK%2Fimg.png')"

[모두를 위한 딥러닝1] ReLU(6주차_1)

ReLU의 등장 배경 layer가 높아질수록 앞쪽의 기울기를 알기 힘들어집니다. 지금까지 sigmoid를 잘못 사용하고 있었다는 것을 알게 되고 새로운 방법을 도입하게 됩니다. ReLU(Rectified Linear Unit)의 등장 sigmoid는 항상 1보다 작은 값이므로, 이 값을 계속 곱해나가면 점점 작은 값이 됩니다. 그래서 1보다 큰 값을 사용하기 위해 등장한 것이 ReLU입니다. sigmoid가 사용되던 자리에 ReLU를 넣어줍니다. L1=tf.sigmoid(tf.matmul(X, W1)+b1) L1=tf.nn.relu(tf.matmul(X, W1)+b1) ReLU를 이용해서 layer를 계속 거쳐 나갑니다. 그러나 마지막에는 0~1사이의 값으로 출력을 내야하기 때문에 sigmoid를 한 번..

인공지능 2021.02.04

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlikeC%2FbtqVzSmGtoV%2FkSJfZ8fzqGHj8ZL5nYWnaK%2Fimg.png')"

[IOS] 내비게이션 인터페이스

내비게이션 인터페이스의 개념 -계층적 구조의 화면 전환을 위해 사용되는 드릴 다운 인터페이스(drill-down interface) 입니다. -드릴 다운 인터페이스: 각 선택할 수 있는 항목에 대한 세부항목이 존재하는 인터페이스 내비게이션 컨트롤러 -컨테이너 뷰 컨트롤러: 내비게이션 스택에 담겨서 콘텐츠를 보여주게 되는 뷰 컨트롤러들 -컨테이너 뷰 컨트롤러로써 내비게이션 스택을 사용하여 다른 뷰 컨트롤러를 관리합니다. -내비게이션 컨트롤러가 화면에 표시하는 두 개의 뷰 내비게이션 스택뷰에 포함된 최상위 컨텐트 뷰 컨트롤러의 콘텐츠를 나타내는 뷰 내비게이션 컨트롤러가 직접 관리하는 뷰(내비게이션바 또는 툴바) -내비게이션 인터페이스의 변화에 따른 특정 액션을 동작하도록 하기 위해 내비게이션 델리게이트 객체..

iOS/boostcourse 2021.02.03

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpLF9y%2FbtqVIKN8zGI%2F3cN6HzyqCKKydu3rwkpah1%2Fimg.png')"

[디자인 패턴] MVC(Model-View-Controller) 패턴

Model-View-Controller의 개념 -애플리케이션의 객체를 모델, 뷰, 컨트롤러 세 가지 역할 중 하나의 역할로 할당하는 것으로, 애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하는 방식을 정의합니다. -세 가지 유형의 객체는 각각 추상적인 경계에 의해 다른 객체와 구분되며, 그 경계를 넘어 다른 유형의 객체와 통신합니다. -애플리케이션 내의 특정 MVC 유형을 한데 모아 레이어라고도 합니다. Model(모델 객체) -애플리케이션과 관련된 데이터를 캡슐화하고 해당 데이터를 조작하고 처리하는 로직과 계산을 정의합니다. -하나의 모델 객체는 다른 모델 객체와 1:1 또는 1:N 대응 관계를 맺을 수 있습니다. ex) 게임 속 캐릭터, 주소록의 연락처 -모델 객체는 데이터를 ..

기타 2021.02.03

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpQtZz%2FbtqVe7DI4Vv%2F3W8ExlaABmVQCWJPSqa86K%2Fimg.png')"

[MusicPlayer] Cocoa Touch, UIKit, Foundation

Cocoa Touch layer(코코아 터치 계층) iOS 애플리케이션 개발에 주 축을 이루는 개발환경으로, 애플리케이션의 다양한 기능 구현에 필요한 여러 프레임워크를 포함하는 최상위 프레임워크 계층입니다. 코코아 계층은 macOS 애플리케이션 제작에 사용합니다. -코코아: Objective-C 런타임을 기반으로 하고, NSObject를 상속받는 모든 클래스 또는 객체를 가리킬 때 사용합니다. -코코아 터치/코코아: iOS 또는 macOS의 전반적인 기능을 활용해 애플리케이션을 제작할 때 사용하는 프레임워크 계층입니다. -코코아 터치: 핵심 프레임워크인 UIKit와 Foundation을 포함합니다. UIKit 프레임워크 iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크입니다...

iOS/boostcourse 2021.02.01

[MusicPlayer] AVFoundation

AVFoundation AVFoundation은 다양한 Apple 플랫폼에서 사운드 및 영상 미디어의 처리, 제어, 가져오기 및 내보내기 등 광범위한 기능을 제공하는 프레임워크입니다. 주요 기능 -미디어 재생 및 편집 -디바이스 카메라와 마이크를 이용한 영상 녹화 및 사운드 녹음 -시스템 사운드 제어 -문자의 음성화 AVAudioPlayer Class 파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능을 제공합니다. 주요 기능 -파일 또는 메모리에 있는 사운드 재생(네트워크에 있는 사운드 파일은 재생 불가) -파일 재생 시간 길이의 제한 없이 사운드 재생 -여러 개의 사운드 파일을 동시에 재생 -사운드의 재생 속도 제어 및 스테레오 포지셔닝 -앞으로 감기와 뒤로 감기 등의 기능을 지원해 사운드 파일의..

iOS/boostcourse 2021.02.01

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEKPkH%2FbtqVddqf8rW%2FzIB25QOwjc7QxNZhTb50f1%2Fimg.png')"

[MusicPlayer] App thinning & App Slicing

App thinning(앱 시닝) -애플리케이션이 디바이스에 설치될 때 앱 스토어와 운영체제가 그 디바이스의 특성에 맞게 설치하도록 하는 설치 최적화 기술입니다. -애플리케이션의 설치 용량을 최소화하고 다운로드의 속도를 향상시킬 수 있습니다. -앱 시닝의 기술 구성요소: 슬라이싱(slicing), 비트코드(bitcode), 주문형 리소스(on-demand resource) App Slicing(앱 슬라이싱) -애플리케이션이 지원하는 다양한 디바이스에 대한 여러 조각의 애플리케이션 번들(app bundle)을 생성하고 디바이스에 알맞은 조각을 전달하는 기술 -개발자가 애플리케이션의 전체 버전을 iTunes Connect에 업로드하게 되면, 앱 스토어에는 각 디바이스 특성에 따라 다양한 버전의 조각들이 생성..

iOS/boostcourse 2021.01.30
반응형