전체 글 78

2020 부스트캠프 챌린지 회고

와 마지막 글이 부캠 붙은 후기글이라니..... 부캠이 끝나고 나서야 블로그에 이제 또 처음 글쓴다. 원래 일주일에 한번씩 주말에 적으려고 했었는데,,, Fail 한달 동안 밖에 한 6번정도? 나간 것 같다.(발에 있던 굳은살이 사라지고 겁나 매끈해졌다^^) 매일 아침 일어나서 공부하고 코딩하고 하다보니 진심으로 많이 배우고 늘었다. 커리큘럼도 잘 짜여있고, 스위프트는 이제 파이썬만큼 할 수 있을 것 같다 ㅋㅋㅋㅋ 개인적인 후기로는... 미션 수행에 대해 아슬아슬하다는 생각을 셋째주 부터 하게 되었는데, 마지막 미션을 반밖에 구현하지 못했기 때문에, 결국 모든 미션 완수라는 목표치는 달성하지 못했다. 새벽까지 미션을 하면서, 깊이 고민해봤지만 모든 과제를 구현하지 못하니 상실감이 컸다. 하지만 공부 시간..

잡담 2020.08.25

2020 부스트캠프 챌린지

상반기가 거의 마무리 되고 나서, 방학때 뭘 하면 좋을까 생각하다가 저번달에 모집한 부스트캠프 5기에 지원을 했다. 웹 풀스택과 iOS 두가지 분야가 있었는데 원래 생각했던 웹이 아닌 앱 프로그래밍에 갑자기 흥미가 생겨 iOS로 지원을 했다. (맥도 없는데^^....) 급하게 어찌저찌 오라버니한테 SOS쳐서 맥북을 사고 베이스가 0이었기 때문에 부스트코스를 통해 스위프트 기초를 공부했다. 지금 생각해보면 코테가 2차까지 있었고 붙을지 확신도 없었는데 참 어찌보면 모험을 한 것이다. 1차 코딩테스트 2시간 동안 2문제를 풀면 됐다. 밋업과 다른 후기들을 찾아보면 프로그래머스 1~2단계 정도의 난이도라고 해서 어려움이 없을거라고 생각하긴 했지만, 지금까지 다른 코테에서 겪었던 고난과 역경을 생각해보니 그리 ..

잡담 2020.07.20

UIKit란?

본 게시글은 edwith 부스트코스 iOS 프로그래밍 강의를 듣고 작성한 게시글 입니다. UIKit란? UIKit은 iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크이다. UIKit 프레임워크는 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함한다. 또한 테이블뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션의 화면을 구성하는 요소를 포함한다. UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드(혹은 메인 디스패치 큐)에서만 사용해야 한다. UIKit은 iOS와 tvOS 플랫폼에서 사용한다. UIKit 기능별 요소 사용자 인터페이..

👩🏻‍💻/iOS 2020.07.12

Cocoa Touch 프레임워크란?

본 게시글은 edwith 부스트코스 iOS 프로그래밍 강의를 듣고 작성한 게시글 입니다. 코코아 (API) 코코아는 애플 고유의 객체 지향 응용 프로그램 환경으로 맥 OS X의 운영 체제를 위한 것이다. 맥 OS X에는 크게 카본, 이식 가능 운영 체제 인터페이스 (BSD 환경을 위함), X11, 자바의 다섯 가지 API가 있다. 코코아 터치 아이폰, 아이패드 및 아이팟 터치용 API이다. 애플이 개발하여 개발자들에게 제공하고 있다. 다른 말로, 코코아 터치 계층(Cocoa Touch Layer)이라고도 한다. 그래픽 사용자 인터페이스를 구현하는, 이벤트-구동(event-driven) 기법을 쓰는 아이폰 및 아이팟 터치용 응용 소프트웨어는 보통 코코아 터치 계층에 기반하여 작성된다. 또한, 사용자 전화번..

👩🏻‍💻/iOS 2020.07.08

AVFoundation, Timer란?

본 게시글은 edwith 부스트코스 iOS 프로그래밍 강의를 듣고 작성한 게시글 입니다. AVFoundation Objective-C 및 Swift의 API가 포함 된 멀티미디어 프레임 워크로, Apple Darwin 기반 운영 체제 (iOS, macOS, tvOS 및 watchOS)에서 시간 기반 시청각 미디어 작업을 위한 고급 서비스를 제공한다. 주요 기능 미디어 재생 및 편집(QuickTime 동영상 및 MPEG-4 파일 재생/생성/편집, HLS 스트림 재생: 재생가능 파일 목록 링크) 디바이스 카메라와 마이크를 이용한 영상 녹화 및 사운드 녹음 시스템 사운드 제어 문자의 음성화 AVAudioPlayer Class 파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능을 제공 파일 또는 메모리에 있..

👩🏻‍💻/iOS 2020.07.08

UIButton, UISlider, UILabel이란?

본 게시글은 edwith 부스트코스 iOS 프로그래밍 강의를 듣고 작성한 게시글 입니다. UIButton, UISlider, UILabel 애플리케이션 화면을 구현할 때 자주 사용하는 UI요소들이다. 1. UIButton 사용자의 상호작용(터치/탭 등의 이벤트)에 반응해 미리 지정된 코드를 실행하는 컨트롤 요소 버튼 생성의 3단계 버튼을 생성하고 버튼의 유형을 선택 버튼을 나타내기 위한 문자(타이틀)을 입력하거나, 이미지를 설정한 뒤 크기를 조정 버튼에 특정 이벤트가 발생할 때 작동할 하나 이상의 메서드를 연결 버튼과 메서드 연결하는 방법 addTarget(_:action:for:) 메서드 사용 인터페이스 빌더에서 연결 (@IBAction) 이때 버튼과 연결되는 메서드 형식은 아래와 같다. func do..

👩🏻‍💻/iOS 2020.07.07

Xcode와 github 연동하기

부스트코스로 진행하고 있는 iOS 첫 프로젝트를 github에 연결해보겠다. 우선, 프로젝트 상태는 시작했을 때 아래의 Create Git repository on my Mac 을 체크한 상태이다. 1. xcode에 github 계정 연동 Xcode - preferences - Accounts 에서 왼쪽 아래 + 버튼을 누른다. github 계정 이메일과 토큰을 입력한다. (토큰은 https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token 을 참고하여 만들었다.) 그 다음 오른쪽에 있는 Source Control - git 에서 계정 정보를 입력한다. 2. git commit and push Sour..

github 2020.07.07

[프로그래머스] 키패드 누르기 - 2020 카카오 인턴십 (python)

1. 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다..

Problem Solving 2020.07.02

[프로그래머스] 보석 쇼핑 - 2020 카카오 인턴십 - 딕셔너리 (python)

1. 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아래 목적을 달성하고 싶었습니다. 진열된 모든 종류의 보석을 적어도 1개 이상 포함하는 가장 짧은 구간을 찾아서 구매 예를 들어 아래 진열대는 4종류의 보석(RUBY, DIA, EMERALD, SAPPHIRE) 8개가 진열된 예시입니다. 진열대 번호 1 2 3 4 5 6 ..

Problem Solving 2020.07.02

[백준] Fly me to the Alpha Centauri (python)

1. 문제 설명 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 총 동원하여 개발한 공간이동 장치를 탑재하였다. 하지만 이 공간이동 장치는 이동 거리를 급격하게 늘릴 경우 기계에 심각한 결함이 발생하는 단점이 있어서, 이전 작동시기에 k광년을 이동하였을 때는 k-1 , k 혹은 k+1 광년만을 다시 ..

Problem Solving 2020.07.01