인기 글
· DOLO
개요 연계/소속회사 : 한이음 멘토링 사업 수행 기간 : 2020.3 ~ 2020.11 (약 9개월 소요) 주요 역할 : AI 드론 라즈베리 파이 구성 및 Python 기반의 YOLO Darknet을 통한 인공지능 영상처리 등 기술 스택 : Python - YOLO Darknet / Rasberry Pi / Linux OS / 협업툴 - Notion / VCS - Git, Gitlab 업무 성과 : 2020년 한이음 멘토링사업 프로젝트의 지원으로 진행된 프로젝트입니다. AI Drone의 자율비행을 통해 산악지형을 비행하고, YOLO 기반의 영상처리를 통해 산불을 미리 감지하고 조난자를 수색하는 DOLO를 제작하였습니다. 1년 간의 프로젝트 결과 한이음 공모전에 입상하였습니다. 프로젝트 설명 한국정보산업연..
· Swift
EitherEither는 주로 두 가지 케이스 중 하나의 타입을 갖도록 하는 표현 방식이다.Either는 enum으로 구현할 수 있으며, 대표적으로 자주 사용하는 Result 타입이 있다. 예를 들어, 성공적인 결과와 실패한 결과를 구분하여 반환하는 Result 타입이 있다.Result는 반환될 때 결과가 성공이어서 특정 타입으로 반환되는 경우뿐만 아니라, 실패하여 특정 에러를 반환해야 하는 경우가 있기 때문에 특정 타입 또는 에러로 반환하기 위해 Either라는 개념을 활용한다. Either의 정의enum Either { case left(L) case right(R)} 만약 위의 코드를 enum이 아닌 struct로 구현하게 된다면 'L 이면서 R' 또는 'L과 R이 둘 다 아님'과 같은 ..
· SwiftUI
드래그 가능한 그리드를 만드는 것을 연습해보았다. 아마도 온리픽원 새로운 기능에 추가될 수 있을 것 같다. 우선 SwiftUI View를 하나 추가해서 여러 가지 색깔의 View를 그리드에 나타낸다. import SwiftUI struct MovableGridView: View { @State private var colors: [Color] = [.red, .blue, .green, .purple, .orange, .yellow, .brown, .cyan, .indigo, .mint, .pink, .black] var body: some View { ScrollView(.vertical) { let columns = Array(repeating: GridItem(spacing: 10), count: 3..
· SwiftUI
SwiftUI의 버튼을 커스텀해서 성공과 실패에 대한 애니메이션을 나타내는 예제다. 먼저 커스텀 버튼을 만든다. 임시로 버튼을 body 안에 작성하고 test를 출력하는 custom button으로 만들었다. import SwiftUI struct AnimatedButton: View { var body: some View { Button { print("test") } label: { Text("custom button") } } 다음으로 버튼을 나타낼 뷰를 먼저 작성한다. import SwiftUI struct AnimatedButtonView: View { var body: some View { AnimatedButton() } } struct AnimatedButtonView_Previews: P..
· iOS
앞선 포스트에서 다뤘던 MRC를 통해서 iOS의 메모리가 관리되고 있었고, Objective-C 2.0이 발표되면서 ARC와 GC이 등장했다. 시간이 지나면서 MRC는 사용할 수 없게 막혔고, GC 또한 deprecated되어 현재는 ARC 만을 메모리 관리 방식으로 사용할 수 있다. GC (Garbage Collection) 가비지 컬렉션은 이름 그대로 쓰레기를 수집하듯 런타임에 사용되지 않는 메모리를 쭉 찾아내서 해제시키는 방식이다. 가비지 컬렉션은 크게 두 가지의 매커니즘을 통해 수행된다. Stop the world Mark and Sweep 즉, GC를 수행하기 위해 나머지 모든 스레드의 수행을 일시 중단(Stop)하고 해제시키면 안되는 인스턴스를 모두 표시(Mark)한 후, 참조되지 않는 인스턴..
· HAMA system
프로젝트 개요 연계/소속회사 : 교내 관재팀 수행 기간 : 2022.3 ~ 2022.8 (약 6개월 소요) 주요 역할 : Python을 활용한 자동화 시스템 개발 및 자연어 처리, OA 파일 처리 등 기술 스택 : Python - Selenium, Regular Expression, Openpyxl, Pyinstaller / VCS - Git, Github 업무 성과 : Hongik Accounting Management Advanced System로 교내 관재팀에서 사용하고 있는 회계업무 시스템을 자동화하기 위한 프로젝트입니다. Python을 활용하여 기존 시스템의 입력을 별도로 작성해 둔 파일을 기반으로 자동으로 작성하고 다양한 문자열 처리 및 예외케이스에 대응하여 오류 없이 작동하도록 개발하였습니다..
· Objective-C
현재 많은 곳에서 iOS를 개발할 때, Swift 언어를 사용해서 개발을 한다. 이 Swift 언어는 애플의 WWDC14에서 공개된 언어이다. 하지만 iOS의 역사는 Swift 공개 이전에 Objective-C라는 언어와 함께해왔다. Objective-C는 80년대부터 사용된 역사가 깊은 언어로 C 언어에서 파생된 객체지향적 언어이다. 스티브 잡스가 이 언어를 애플의 표준 프로그래밍 언어로 사용하기 시작하면서 현재까지도 iOS 개발의 많은 곳에 영향을 끼치고 있다. 실제 현업에서의 코드 중에서 오래된 레거시 코드가 Objective-C로 작성된 것들이 있기도 하고, 다양한 근본 있는(?) 라이브러리를 연결하다 보면 자연스레 이 언어와 마주하는 일이 발생한다. Swift는 Obejctive-C와 긴밀하게 ..
chicharios
Appledore | 애플도어