 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

전체 글 116

[연말 결산] 2022년 3부작 - 1부 좋은 방법

Overview 2022년 한 해를 회고해보니 추상화 와 디자인 의 매력에 빠져있었다. 기대감과 두려움을 느끼며 인생의 길을 찾아가는 과정을 책과 경험을 통해 소개해보고자 한다. 좋은 방법 찾는 길 도구와 매뉴얼에 관한 경험 사람들은 도구를 개발하고 활용하여 일의 생산성을 높여왔다. 도구를 잘 활용하기 위해선 기본 수준의 사용법을 잘 파악하고 있어야 한다. 매뉴얼은 이 측면에서 가이드를 제공해주어 인류의 시간을 벌어주며 우리 삶이 윤택해지도록 도와준다. 프로그램을 개발을 위해 매뉴얼을 읽으며 코딩하다 도구와 인간 그리고 결과물에 관한 생각을 하게 되었다. 지관수행 항상 최선의 도구와 방법을 사용하여 프로그램을 만들었다고 생각했다. 그러나 결과물을 보면 말로 표현하기 어려운 부족함이 느껴졌다. 제품을 개발..

[회고] 파이썬 토이 프로젝트 코드 리뷰

Overview 국민대학교 22년 2학기 이민석 교수님의 사제동행세미나 수업을 수강하던 중 교수님께서 코드 리뷰 문화를 체험을 위해 학우 분과 팀을 구성해주셨다. 올 한해, 캡스톤 디자인 졸업 프로젝트와 스타트업 경험을 거치며 개발 과정에 코드 리뷰를 도입하여 소프트웨어 품질을 개선할 수 있도록 노력해오고 있었다. 다른 개발자와 함께 소통할 수 있는 코드를 작성하고 서로 성장할 수 있는 토론을 할 수 있도록 길을 찾아나가는 경험 과정을 생생하게 기록하는 것이 이번 포스팅의 목표이다. 계획 코드 리뷰를 진행하기 위한 토이 프로젝트가 필요했다. 우리 팀은 만들고 싶은 토이 프로젝트, 소통 및 코드 리뷰 진행 방식에 관하여 간략한 계획을 세워보는 것으로 시작했다. 서로 만들고 싶은 토이 프로젝트를 생각해보았다..

[Flutter] 하이브리드 앱 개발 도전기 3부작 - 2부 물류주선업 지식

Overview 물류 주선업 분야를 경험하며 얻은 얕은 지식을 정리해보려고 한다. 업계 종사자 분들과 소통하면서 주워들은 내용도 회고해본다. 필자도 잘 모르는 와중에 경험한 내용을 담은 것으로 정확하지 않은 내용이 다소 포함될 수 있다. 물류 주선업 컴퓨터 네트워크 통신 과정에서 OSI 7 계층을 기반으로 캡슐화된 패킷은 네트워크 중간 라우터를 거쳐 목적지 컴퓨터에 도착하게 된다. 물류 주선업은 배송 관리 서비스 물류주선업자는 "포워더", 고객은 "화주(화물의 주인)", 운송자는 "차주(차량의 주인)"라고 불린다. 이 업계에서는 앞글자를 따서 축약어를 만드는 방식으로 도메인 용어가 만들어진 경우가 다수 존재한다. 인터넷을 통해 물건을 주문하고 집앞에서 받아보는 일은 우리에게 익숙하다. 당일 배송 서비스를..

[Flutter] 하이브리드 앱 개발 도전기 3부작 - 1부 프로젝트 회고

나는 누구인가? 애플리케이션 개발자를 향한 발걸음을 처음 시작할 때부터 지금까지, 나의 핵심 가치는 다음과 같다 다른 사람들의 문제 사항을 해결해줄 수 있도록 문제를 정의할 수 있는 사람이 되고 싶다. 내가 사랑하는 플랫폼의 사용자에게 문제점을 해결해 줄 기술적 솔루션을 보급하여 그들이 더 가치 있고 중요한 일에 집중할 수 있도록 도와주고 싶다. 회사와 동료 개발자에게는 동반 성장과 예술 작품과도 같은 코드 설계를 함께 이뤄나가고 싶다. 어떤 도구를 사용하여 어떤 프로젝트를 수행하던지 간에 나의 의사 결정에 영향을 주는 근본과도 같은 가치관이다. 최대한 위 핵심 가치를 지키고자 노력한다! 어디서 무엇을 만들었으며 역할은 무엇이었는가? 판교역 부근에 위치한 물류 주선 업종 분야의 한 스타트업에서 근무할 수..

[이야기] 인간 중심의 디자인 설계

Overview 22년 가을 학기, 학교 강좌 중 소프트웨어 디자인 패턴 과목을 수강하고 있다. 엉클 밥 선생님께서 쓰신 Agile Software Development , 오렐리의 헤드 퍼스트 디자인 패턴 책을 읽으면서 김인규 교수님과 학우분들이 서로 생각을 공유하는 방식으로 진행되었다. 나는 언어 사용법 지식을 "열심히" 공부했다. 객체지향 프로그래밍을 배웠다고 생각했다. 그리고 그것이 문제였음을 인식했다. 인터넷에 떠도는 정보를 보고 피상적인 지식만 찾아다닌 것은 아닌지 생각해보았다. 인간이 새로운 도구를 만들 때에는 무언가를 효율적으로 더 잘해내기 만들지는 않았을까? 내가 무엇을 하려고 이런 메뉴얼 들을 들춰보고 있던 것일까? Agile Software Development 관습을 통해 인간 중심..

[회고] 나의 어제 오늘 내일

Overview 국민대학교 22년 2학기 중 이민석 교수님의 사제동행세미나 강의를 수강하게 되었다. 교수님께서 3~4학년을 대상으로 "나의 어제 오늘 내일" 주제로 후배들 앞에서 발표할 수 있는 기회를 주셨다. 나도 아는 것이 없는데... 세상에 모르는 것 투성이인데... 무엇을 전달해줄 수 있으며? 어떻게 전달해주어야 컴퓨터를 공부하는 다른 이에게 도움을 줄 수 있을까? 지금 이 순간의 내가 그들에게 직접적인 조언을 해주면 그 순간만 도움이 되는 내용인 것 마냥 착각하게 될 것이라 생각했다. 그래서 내가 컴퓨터 공학을 전공하면서 알아가고자 했던 내용의 작은 실마리와 경험을 전달해주기로 마음먹었다. 그들 스스로 자신에게 알맞은 방법을 찾아갈 수 있는 이른바 "생각하는 사람" 이 될 수 있는 기회가 된다면..

[서평] 수학으로 생각하기 - 스즈키 간타로 지음, 최지영 옮김

Overview 세상은 복잡하다. 무언가를 창작하는 길을 걷다 보면 얽힌 실타래와도 같은 문제를 만나게 된다. 어떤 문제를 해결하면 또 다른 문제가 나를 기다린다. 창작은 문제 해결의 연속이다. 그렇다면, 이제까지 문제를 해결하기 위해 내가 생각해볼 수 있었던 문제 해결 과정은 무엇이었는지 생각해보았다. 가장 쉬운 방법은 다른 사람이 해결한 방법을 따르는 것이다. 즉, 해결을 위해 만들어둔 패턴이자 공식 혹은 매뉴얼을 사용하는 것이다. 공식을 사용하여 문제를 해결하면 당장 눈앞에 보이는 문제를 이해하고 해결했다는 착각을 준다. 그리고 다른 곳에서 같은 문제를 다시 만나면 기억에 의존하여 해결하는 불상사가 발생한다. 물론 지식을 쌓는 방식으로 무언가 문제를 해결할 수 있을지도 모른다. 그러나 세상에 알려지..

Lecture 6 : Multitouch

Overview 어떻게 멀티 터치를 지원하도록 구현할 수 있을까요? 어떻게 사람들이 제스처 기능을 사용할 수 있도록 구현할 수 있을까요? Gestures 이전까지는 UIView가 그려지는 과정은 살펴보았지만 이번에는 어떻게 터치 이벤트를 가져올지 고민해볼 것입니다. 개발자는 모든 터치 이벤트를 합법적으로 가져올 수 있습니다. 개발자는 (touch down, moved, up 등) raw 한 터치 이벤트를 인식할 수 있습니다. 혹은 사전에 정의된 제스처 방식으로 해석하여 반응할 수 있습니다. 제스처에는 swipe, pinch, pan, tap 등이 존재합니다. iOS 에서 모든 제스처는 UIGestureRecognizer로 표현됩니다. 이 클래스는 손가락의 움직임으로 부터 제스처를 인식해주는 것이다. 이 ..

[Challenge] Cocoa Pods

Overview 코코아팟은 Swift 및 Objective-C 코코아 프로젝트의 종속 관리자입니다. 87,000개 이상의 라이브러리가 있으며 3백만 개 이상의 앱에서 사용되고 있습니다. 코코아팟은 당신의 프로젝트를 우아하게 확장하는데 도움을 줄 수 있습니다. Install 코코아팟은 루비로 제작되었으며 맥OS에 기본적으로 내장되어있는 루비를 사용하여 설치할 수 있습니다. 기본 루비를 사용하는 것을 추천합니다. 기본 루비 설치를 사용하려면 gem을 설치할 때 관리자 권한을 사용해야 합니다. 코코아팟 사용해보기! 원하는 경로에 iOS 프로젝트를 생성합니다. 프로젝트를 생성한 디렉토리에서 pod init을 진행하면 Podfile 이 생성됩니다. 사용하고 싶은 의존성 라이브러이 이름과 버전을 다음과 같이 명시해..

[Swift] 공식문서 씹어먹기: Package Manager

Overview Swift Package Manager은 도구인데 Swift 코드의 배포를 관리해줍니다. 다운로드, 컴파일, 의존성 연결 작업을 자동화시키기 위해 스위프트 빌드 체계에 포함되었습니다. 패키지 매니저 기능은 스위프트 3.0 이상 버전에 포함되어있습니다. Conceptual Overview 이 섹션에서는 Swift Package Manager의 기능에 기반이 되는 기본적인 개념에 대해 설명합니다. Modules Swif는 코드를 모듈로 구성합니다. 각 모듈은 namespace를 구성하며 접근 제어를 설정합니다. 접근 제어를 설정하는 과정은 모듈 외부에서 어떤 코드가 사용될 수 있는지에 관한 부분입니다. 프로그램은 하나의 모듈 내부에 코드를 갖고 있거나 의존성(dependencies)을 통해 ..

반응형