본문 바로가기

전체 글18

실리콘밸리에선 어떻게 일하나요? 어떻게 일하는 게 효율적인가요? 업무의 효율은 곧 돈과 연결이 되기 때문에 많은 회사가 고민하는 부분일 것이다. 실리콘밸리는 전 세계에서 가장 높은 업무의 효율성이 나오는 곳이기에 그들의 업무 방식은 항상 관심을 받고 있다. 파격적인 근무 조건과 엄청난 베넷핏, 전 세계를 리딩하는 아이디어와 서비스는 어떻게 만들어질까? 메타에서 수석 디자이너로 근무한 작가는 안식년을 맞아 찾은 한국에서 많은 스타트업 관련자들을 만나면서 실리콘 밸리의 기업 문화에 대해 가장 많은 질문을 받았다고 한다. 보수적인 기업 문화가 많은 한국에서도 이러한 파격적인 기업 문화에 관심을 가진다는 것은 그만큼 우리 산업 구조도 서비스 중심의 고 부과 산업으로 바뀌고 있다는 반증일 것이다. 하지만 그 관심 속에서 혁신적인 기업 문화를 제.. 2024. 1. 11.
Server-Driven UI 은 무엇인가? 개념 해당 글은 Server-Driven UI에 대해 아래 블로그 링크 글을 번역한 내용입니다. https://medium.com/@dfs.techblog/server-driven-ui-concept-db07d7946e94 요약 이 아티클은 앱 개발에 보다 효율적이고 유연한 Server-Driven UI (SDUI) 방식에 대해 설명한다. SDUI는 서버가 앱의 UI를 담당하며, 이는 서버 사이드의 변화를 클라이언트가 즉시 반영한다. 이 방법은 클라이언트가 UI의 변화 및 이벤트 기능을 즉시 반영뿐만 아니라, 실시간 UI 적용 및 높은 유저 개인화 경험을 제공한다. SDUI는 별도의 앱 반영 없이 앱의 변화 및 인터페이스 변경을 적용할 수 있다. 하지만 SDUI 가 모든 설루션의 정답은 아니고 각 애플리케이션.. 2023. 12. 11.
[Swift] property wrapper 정의 및 사용법 예시 propert wrapper는 Swift5.1에 추가된 개념으로 이름에서 말하든 property를 감싸서 새로운 property를 만드는 것을 말한다. 그냥 이렇게만 들어보면 개념이 잘 안 잡히지만 Swift 를 사용하는 개발자라면 한 번씩 사용해 본 경험이 있을 것이다. @State @Published @Binding 위와 같이 property 앞에 추가되는 것이 property wrapper이다. 그럼 사용법 및 예시를 자세히 알아보자 사용법 우선 property wrapper를 사용하기 위해서는 local stored property 만 가능하다. global property, computed property 에는 사용할 수 없다는 것을 명심하고 바로 예시를 보자 @propertyWrapper st.. 2023. 11. 24.
[Swift] class 와 struct 의 차이 Swfit에서 가장 헷갈리는 내용 중에 하나가 class와 struct에 차이이다. 둘은 언뜻 보면 비슷하게 사용되며 큰 차이점이 없는 것처럼 보인다. 하지만 차이점을 모르고 잘못 사용하다 보면 큰 문제가 발생할 수 도 있다. 그 차이를 한번 알아보자 공통점 우선 차이점을 알기전에 공통점부터 알아보자. 둘 모두 Swift에서 사용되는 데이터를 유용하게 표현하기 위해 저장하고 처리하기 위해 사용자가 타입을 정의해서 만들어 주는 데이터 타입이다. 그렇기에 데이터를 잘 다룰 수 있도록 다양한 기능이 제공된다. 데이터를 저장할 수 있는 프로퍼티를 만들 수 있다. 메소드를 만들어서 특정 작업을 수행할 수 있다. initializer를 가질 수 있어 초기값을 설정할 수 있다 Extention을 이용해서 기존 타입에.. 2023. 11. 15.
[Android] Context 는 무엇이고 우리는 왜 사용하는가? 안드로이드 개발자라면 Context라는 건 많이 들어보았을 것이다. 하지만 정확히 Context 가 무엇인지는 잘 알지 못한다. Context가 무엇이고 어떨 떄 사용하는지 한번 알아보자 Context 란? 안드로이드에서 사용되는 Context 는 어디에서 온 것일까? Context는 안드로이드의 메인 프레임워크인 Android.jar 에 존재한다. 그럼 안드로이드 프레임워크는 무엇인가? 안드로이드 프레임워크는 안드로이드에서 동작하는 메인 애플리케이션이며 개발자가 만드는 애플리케이션은 그 메인 애플리케이션에서 동작하는 하나의 이벤트 핸들러이다. 미니 애플리케이션 (개발자가 만든 앱) 을 다운로드할 수 있는 메뉴를 가진 슈퍼 애플리케이션 (안드로이드 프레임워크) 이 있다고 생각하면 쉽게 이해된다. 안드로이.. 2023. 11. 1.
[Kotlin] extension 함수의 이해 코틀린에서 extension 함수는 기존에 존재하는 클래스의 변형 없이 새로운 함수를 추가할 수 있도록 해준다. 이 것은 기존에 정의되어 있지 않더라도 정의되어 있는 것처럼 사용 할 수 있도록 하여 좀 더 코틀린을 유연하게 사용할 수 있도록 도와준다. 예를 들어 우리가 컨트롤 할 수 없는 3rd party library의 클래스에 필요한 메서드를 추가할 수 있다. 장점 클래스 소스파일의 수정 없이 함수를 추가할 수 있다. 소스 코드가 없는 경우 매우 유용하게 사용될 수 있다. 관련된 함수를 하나의 클래스나 오브젝트로 그룹핑 할 수 있어 가독성 있고 이해하기 쉬운 코드를 작성할 수 있게 해 준다. 코드의 중복을 줄여서 유지보수에 유용하다. 단점 많은 장점에도 불구하고 extension 도 몇 가지 단점이 .. 2023. 10. 31.
iOS에서 Chrome 웹뷰 디버깅 하기 웹 개발을 할 때 브라우저에서 제공하는 개발자 모드로 디버깅을 할 수 있다. 하지만 모바일 환경에서 개발되는 웹 또는 하이브리드 웹 앱의 경우 개발자 모드로 디버깅하기는 쉽지 않다. 안드로이드의 경우 Google Inspector (chrome://inspect)를 통해 모바일 환경에서 개발되는 내용을 PC에서 비교적 쉽게 디버깅할 수 있지만 iOS의 경우 WKWebView에서 원격 Web inspector 디버깅을 지원하지 않아 Google inspector를 사용할 수 없었다. 하지만 iOS 16.4+ 이후에 WKWebView 에서 지원을 하면서 Chrome 버전이 115 이상이면 Mac의 Safari 브라우저를 통해 디버깅이 가능해졌다. iOS 16.4+ Chrome for iOS 115+ 아이폰내.. 2023. 10. 24.
[Kotlin] Channel, ReceiveChannel, Pipeline Kotlin Channel 은 둘 이상의 코루틴 간의 동시성 통신을 가능하게 하는 강력한 구조입니다. Channel 은 서로를 간섭하지 않고 데이터를 공유하고 함께 작업할 수 있도록 합니다. Kotlin의 Channel에 대해서 알아보고 사용하는 팁과 예시를 알아보고 Channel을 이용하여 Pipeline을 어떻게 효율적으로 사용하는지 알아보겠습니다. Channel 은 무엇인가? Channel 은 한 코루틴에서 다른 코루틴으로 데이터가 흐를 수 있도록 파이프라인을 연결합니다. 본질적으로 코루틴의 메세지를 보내고 받을 수 있는 버퍼 또는 큐 입니다. 한 코루틴은 Channel에 데이터를 전송할 수 있고, 다른 코루틴 Channel을 통해 해당 데이터를 검색하고 받을 수 있습니다. 이는 코루틴을 위한 pu.. 2023. 10. 20.
[Kotlin] 범위 지정 함수(scope function) 란? apply, run, let, with, also Kotlin에서 말하는 범위 지정 함수는 특정 객체 (수신 객체)에 대한 작업을 블록 안에서 실행할 수 있도록 하는 함수입니다. 블록은 해당 작업의 범위를 지정하기에 범위 지정 함수라고 부릅니다. 범위 지정 함수를 사용하게 되면 코드의 가독성이 증가하고 유지보수에 유리한 면이 생깁니다. 그럼 범위 지정 함수의 구성 요소 및 종류에 대해 알아보도록 하겠습니다. 구성요성 범위 지정 함수의 구성 요소는 아래 2가지가 있습니다. 수신 객체 수신 객체 지정 람다 수신 객체는 범위 지정 함수에서 작업을 수행하는 타깃 객체입니다. 그리고 수신 객체 지정 람다는 해당 수신 객체로 수행하게 될 블록의 함수를 말합니다. 범위 지정 함수에는 apply, run, let, with, also 등 5가지가 존재하는데 이 5가지.. 2023. 9. 19.
[Android] Android Studio 이전 버전 다운로드 Android 개발을 하면서 최신으로 나온 Android Studio 를 사용하고 있는데, 예전에 빌드했던 오래된 프로젝트를 빌드해야 하는 경우가 생겼습니다. 해당 프로젝트의 개발 환경상 이전 버전의 Android Studio 가 필요하여 이전 버전의 Android Studio 를 설치 하려고 했는데, 구글에서 제공하는 다운로드 사이트에서 Android Bumblebee 버전까지만 제공하였다. (2023.9 기준) 왜 최신 버전의 Android Studio 가 없을까 라는 의문이 들었지만, 구글링을 통해 다운로드 방법을 찾아 기록하고자 합니다. 1. 버전 정보 확인 IntelliJ 사이트에서는 Android Studio 의 모든 Release 리스트가 나옵니다. 해당 리스트에서 다운로드를 받고자 하는 A.. 2023. 9. 13.
반응형