목록전체 글 (54)
Olive Study Room
더보기 카카오톡 pc버전 업데이트를 하고 디자인 패턴을 공부하려고 켰는데 발표자가 카카오톡 오픈채팅 개발자셨다.. 신기해라.. 예전 발표긴 하지만 워밍업으로..! 디자인 패턴이란? 소프트웨어 개발 시 공통적으로 발생하는 문제에 대한 해결방법 -> 문제가 발생하기 전 해결할 수 있는 것! 커뮤니케이션 도구 객체를 막 만들면 사용이 모호해짐. GoF 디자인 패턴 1995년 GoF(Gang of Four)라고 불리는 Erich Gamma, Richard Helm, Ralph Johnson, John Vissides가 처음으로 디자인 패턴을 고안한 것으로, 소프트웨어 공학에서 가장 많이 사용되는 디자인 패턴이다. 참고로 GoF의 서적의 제목이 'Design Patterns: Elements of Reusable..

보통 프로젝트를 생성하면 상단에 import Foundation import UIKit 위와 같은 코드가 미리 적힌 것을 발견할 수 있다. 이 두 개는 무엇이고 어떤 차이가 있을까? 먼저, UIKit을 import하면 자동으로 Foundation도 import된다. UIKit Framework iOS와 tvOS에 들어가는 앱을 빌드하는데 필요한 핵심 객체를 지원하는 프레임워크다. 객체를 사용하여 콘텐츠를 화면에 표시하고, 콘텐츠와 상호작용하고 시스템과의 상호작용을 관리할 수 있다. 앱은 기본 동작을 UIKit에 의존하며 UIKit은 요구에 맞게 동작을 커스터마이징할 수 있는 다양한 방법을 제공한다. 1. UIKit 어플리케이션의 구조는 객체가 목적에 따라 구분되는 MVC(Model-View-Control..
안드로이드 프로젝트를 끝내고 오랜만에 다시 iOS프로젝트에 대해 공부하면서 얼레벌레 남 코드 활용이 아닌 내 코드를 작성하기 위해 기초부터 다시 잡아보려고 한다. 이제는 CS에 대해 조금 공부를 한 상태이기 때문에 하나하나 이해하는데 어려움이 없을 것이라고 예상한다. 여러 자료들과 학교 수업 자료를 이용하여 공부한다. 더보기 * 학교 수업 자료 목표 - Swift 언어를 이해한다 - 애플의 개발 도구들과 친숙해진다 - 앱을 개발하기 위한 디자인 패턴을 이해하고 적용한다 - 최신 모바일 기기를 이해하고 활용한다 - iOS에서 제공하는 코어 프레임워크를 사용한다 Swift 개요 2014년 9월 iOS 8이 발표되며 apple이 개발한 Swift1.0이 발표 2015년 Swift 2 발표, 오픈소스화 발표 2..

협업을 하다가 내 brach와 master branch의 버전이 일치하지 않는 오류를 겪었다. 오류라기 보다는 내가 해결을 못했던 것... 이전에 내 브런치에 commit, fetch하고 master에 merge하지 않고 바로 master에 push해서 이렇게 됐는데 내 branch와 main branch를 오가도 각자의 버전은 다른 것이 그대로니 프로젝트의 내용이 바뀔 뿐 pull을 해도 변화가 없었다. 새 브랜치를 만들어도 같은 이슈가 발생했는데 결국! GitHub desktop 기준 내 브랜치에서 Branch -> update from main 을 클릭해서 해결했다. 정확히 pull과의 차이가 뭔지는 모르겠다. 추후 Git 사용법을 GitHub desktop, terminal 버전으로 나누어 기록하..

recyclerview는 view 재사용을 통해 메모리를 아낄 수 있는 view! 이전 메모리, 현재 메모리, 이후 메모리만 저장한다. adapter를 통해 작동한다. viewholder는 cell 내의 항목을 채운다. 구현 방법은 간단히 세 단계로 정리할 수 있다. 1. recyclerview 위젯이 있는 레이아웃과 recyclerview를 채울 cell의 레이아웃을 만들고, 2. RecyclerView.Adapter와 RecyclerView.ViewHolder를 생성하고 3. mainActivity에서 데이터를 만들고 adapter를 설정해주면 끝! 1. 하나의 작은 view를 구성할 cell의 레이아웃과 메인 레이아웃 생성 // activity_main.xml // custom_list.xml 2...

앱을 만들 때 페이지(뷰)의 역할을 하는 것엔 Activity와 Fragment가 있는데, 한 레이아웃 내에 특정 부분에 fragment를 넣어 사용할 수 있다. 그리고 Fragment는 Activity내에서 호출되어야 사용할 수 있다. 1. Fragment 클래스와 레이아웃 생성 Fragment()를 상속받는 클래스를 만들어 onCreateView를 통해 layout과 연결한다. // frag_a.xml // FragAFragment package testproject.practice import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewG..

예제 영상을 따라하다가 나만 자동으로 레이아웃에서 선언한 id가 엑티비티에서 안불러와져서 그냥 findViewById를 사용했는데! 알고보니 2021년부터 (안드로이드 4.1버전부터) 'kotlin-android-extensions' 라이브러리가 제거되었기 때문이라고 한다.. 대체 기능으로 Viewbinding을 사용하라고 나와있지만 build.gradle 파일에서 plugins에 'kotlin-android-extendsions'을 추가하면 사용할 수 있다! 자세한 설명은 아래 참고! https://android-developers.googleblog.com/2020/11/the-future-of-kotlin-android-extensions.html The future of Kotlin Android..
recyclerView를 만들어보다가 처음에 생성되는 MainActivity에서는 실행이 되는데 SubActivity를 첫 엑티비티로 하면 보여지지 않는 이슈가 났다. 아래 두 코드의 주요 코드는 같다. MainActivity package fastcampus.part2.recyclerviewpractice import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.LinearLayout import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.R..