반응형

전체 글 53

[iOS Interview Questions] Class의 성능을 향상 시킬수 있는 방법들을 나열해보시오.

결론부터 말하면 class에 final 혹은 private 키워드를 붙여서 성능을 향상할 수 있습니다. 접근 제어 위에서 말한 키워드는 Access Control 즉, 접근 제어를 하기 위해 쓰이는 키워드인데요, 다른 소스파일이나 코드에서 어떠한 코드의 전체나 일부에 대한 접근을 제한합니다. 접근을 제한한다는 말은 A 클래스에 선언되어 있는 함수나 변수들 B 클래스에서 사용하게 하거나 못 하게 제어하는 것입니다. 클래스나 구조체, 열거형 자체를 접근 제어하거나 이 안에 선언되어 있는 함수, 변수 등등에 대해서 모두 접근 제어가 가능합니다. 선언 시 앞에 키워드를 붙여서 사용하면 됩니다. public class TestClass { final let testStr: String = "test" privat..

[iOS Interview Questions] Singleton 패턴을 활용하는 경우를 예를 들어 설명하시오.

디자인 패턴이란? 코드를 작성하는 데에 쓰이는 설계 방식, 틀, 구조들이라고 생각하면 될 것 같습니다. 유명한 MVC나 MVVM 같은 디자인 패턴들은 전체적인 코드들을 다루는 큰 틀이라 할 수 있고, 싱글톤 패턴은 이보다는 조금 작은 범위에서 적용하는 디자인 패턴입니다. Singleton 패턴이란? 앱이 시작될 때 어떤 클래스가 최초 한 번 메모리에 할당되고, 1개의 인스턴스만 생성되어 사용하는 패턴입니다. 이 클래스는 다른 곳에서 사용할 때 새로운 인스턴스를 생성해서 새로운 메모리 공간에 할당되는 것이 아닌, 원래 처음 생성했을 때 만들어진 메모리 공간에 다시 참조하게 됩니다. 따라서 하나의 인스턴스만 메모리에 등록됐기 때문에 어느 곳에서든지 이 클래스를 사용할 때 값을 계속해서 공유할 수 있게 됩니다..

[Swift / JAVA] iOS 프로젝트 Google Login 서버 만들기

https://im-babycoder.tistory.com/entry/Swift-iOS-프로젝트-Google-Login-구현하기 [Swift] iOS 프로젝트 Google Login 구현하기 친구들과 같이 진행하는 프로젝트에 Google Login 기능을 넣기로 했다. https://developers.google.com/identity/sign-in/ios/start-integrating iOS 및 macOS용 Google 로그인 시작하기 | Authentication | Google Developers 이 페이지 im-babycoder.tistory.com 이 글에 이어서 SpringBoot 서버를 만들어봤다. https://developers.google.com/identity/sign-in/ios..

DEV - iOS/iOS 2022.11.01

[프로그래머스 Lv.2 / JAVA] 최솟값 만들기

문제 설명 길이가 같은 배열 A, B 두 개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면, A에서 첫 번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두 번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) ..

[프로그래머스 Lv.2 / JAVA] JadenCase 문자열 만들기

문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다.(첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백 문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백 문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" ..

[프로그래머스 Lv.2 / JAVA] 최댓값과 최솟값

문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최솟값과 최댓값을 찾아 이를 "(최솟값) (최댓값)" 형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" Solution.java class Solution { public String solution(String s) { String[] splitStr = s.split(" "); int max = I..

[Swift] iOS 프로젝트 Google Login 구현하기

친구들과 같이 진행하는 프로젝트에 Google Login 기능을 넣기로 했다. https://developers.google.com/identity/sign-in/ios/start-integrating iOS 및 macOS용 Google 로그인 시작하기 | Authentication | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 iOS 및 macOS용 Google 로그인 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류 developers.google.com 구글에서 제공하는 공식 문서가 너무 친절해서 보고 따라 하기만 하면 된다. 1. Dependency Cocoa..

DEV - iOS/iOS 2022.10.22

[Swift] FSCalendar 라이브러리로 달력 구현하기-1(설치)

CocoaPods은 iOS 개발에 사용할 수 있는 라이브러리들을 모아둔 곳이다. 수많은 라이브러리 중 달력 구현을 할 수 있는 FSCalendar를 설치해서 사용하려고 한다. 1. CocoaPods 설치 % sudo gem install cocoapods 터미널을 이용해서 cocoapods를 설치한다. 2. 라이브러리 설치 터미널에서 프로젝트 경로로 이동해준다. % cd 경로입력 경로가 너무 복잡해서 cd 명령어로 이동하기 너무 오래 걸린다면, finder에서 프로젝트 폴더를 열고 option키를 꾸욱 누르면 하단에 경로가 표시된다. 표시된 경로를 우클릭하면 바로 해당 위치에서 터미널을 열 수 있고, 경로 복사도 가능하니까 터미널에서 cd 복붙 해줘도 된다. 이렇게 터미널로 프로젝트 경로에 왔다면 % p..

DEV - iOS/iOS 2022.08.08

[Swift / SpringBoot] WebView로 SpringBoot 서버 화면 띄우기

SpringBoot로 구현한 서버에서 화면을 불러오려고 WebView 사용법을 찾아봤다. https://ios-development.tistory.com/701 [iOS - swift] 2. WKWebView 사용 방법 (웹뷰, 쿠키, WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate) 1. WKWebView 개념1 (UIWebView, AJAX, XHR, 캐시, 쿠키) 2. WKWebView 사용 방법 (웹뷰, 쿠키, WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate) WKWebView를 사용하기 전 알아야할 기본 개.. ios-development.tistory.com 다양한 기능들을 작성해..

DEV - iOS/iOS 2022.08.02

[MacOS] JAVA 설치(Brew)

Homebrew를 통해서 Java를 설치했다. 1. Homebrew update brew update 2. 패키지 추가 brew tap adoptopenjdk/openjdk 3. 설치 가능한 jdk 검색 brew search jdk 여기서 원하는 버전을 찾으면 되는데 나는 11 버전으로 설치했다. 4. 설치 brew install --cask adoptopenjdk11 5. 설치 확인 java -version java --version java 설치 버전 확인 명령어를 통해서 잘 설치됐는지 확인할 수 있다. java만 입력해도 사용 가능한 명령어들을 보여주니까 출력이 잘 되면 설치 완료 !

DEV/JAVA 2022.07.28
반응형