[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기
반응형

분류 전체보기 495

[DB] 트랜잭션과 ACID

트랜잭션이란? 트랜잭션은 데이터베이스에서 쪼갤 수 없는 업무처리의 최소 단위를 말합니다. 하나의 트랜잭션은 데이터베이스에 읽거나 쓰는 여러 개의 쿼리를 요구하는데, 이때 하나의 쿼리가 실패하면 데이터베이스 시스템은 전체 트랜잭션 혹은 실패한 쿼리를 롤백합니다. 트랜잭션의 연산 Commit 하나의 트랜잭션 작업이 끝나고 데이터베이스가 일관성이 유지되었음이 확인될 때, 이를 트랜잭션 관리자에게 알리는 연산입니다. Rollback 하나의 트랜잭션 작업이 비정상적으로 종료되고 일관성이 깨졌을 때, 트랜잭션의 모든 연산을 취소하는 연산입니다. Rollback 연산이 수행되면 해당 트랜잭션은 아예 취소되거나 폐기됩니다. Savepoint Rollback 연산 수행 시 일반적으로는 전체 연산이 삭제되지만, 이 연산을..

[알고리즘 연습] 소수 만들기 (프로그래머스 lv1, 파이썬)

문제 https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 def solution(nums): from itertools import combinations as cb answer = 0 for a in cb(nums, 3): cand = sum(a) for j in range(2, int(cand**0.5)+1): if cand%j==0: break else: answer += 1 ret..

[Xcode] Instruments란?

Instruments? Xcode에서 제공하는 성능분석 및 테스트 도구. 프로세스 및 디바이스 장치의 상태를 프로파일링 하여 성능을 자세히 분석하는 기능을 제공한다. 그 외에도 Instruments를 통해 수행 가능한 기능들은 다음과 같다. 하나 이상의 앱 또는 프로세스의 동작 검사 Wi-Fi 및 Bluetooth와 같은 기기별 기능 검사 시뮬레이터 또는 물리적 장치에서 프로파일링 수행 소스 코드의 문제 추적 앱에 대한 성능 분석 수행 누수, 버려진 메모리, 좀비와 같은 앱의 메모리 문제 찾기 전력 효율성을 높이기 위해 앱을 최적화하는 방법 식별 일반적인 시스템 수준 문제 해결 수행 기기 구성을 템플릿으로 저장 Trace document 프로파일링에 사용되는 설정 Xcode 자체에서 생성 및 저장 가능 ..

🍎 Apple/Xcode 2021.12.30

[Swift] Dynamic Dispatch 줄이기

Dispatch? Dispatch : 어떤 메서드를 호출할 것인가를 결정하여 실행하는 과정 Static Dispatch : 컴파일 시점에서 어떤 메소드가 사용될지 명확히 결정되는 것 Dynamic Dispatch : 런타임 시점에 어떤 메소드가 실행될지 결정되는 것, Swift에서는 class마다 vtable이라는 것을 가지고 있어서 이를 참조하면서 함수가 호출되기 때문에 이에 따른 overhead가 발생하게 된다. 즉 Dynamic Dispatch를 하면 성능의 하락이 있을 수 있다. 따라서 이를 최대한 줄이는 것이 성능상 도움이 된다. Swift에서의 Dispatch Swift의 struct와 class 중 struct를 먼저 생각해보자. struct는 값 타입이라 한 곳에서만 존재하고 상속도 없다...

🍎 Apple/Swift 2021.12.16

[네이버 부스트캠프 웹모바일 6기] 멤버십 후기

나의 2021년 하반기를 채워준 네이버 부스트캠프 멤버십 일정이 모두 끝났다. 프로그램 과정들을 되돌아보며 내가 잘한 점은 무엇인지, 부족했던 점은 무엇인지 그리고 앞으로 나아가야 할 방향은 어떤지에 대해 정리해볼까 한다. 학습 스프린트 부스트캠프 멤버십은 학습 스프린트 기간으로 시작했다. 학습 스프린트 기간에는 간단한 프로젝트들을 진행하며 iOS의 다양한 개념들을 배웠다. 일주일 단위로 주어진 프로젝트에서 필요한 내용을 직접 학습하며 완성시키는 것이 주된 과정이다. 한정된 시간 안에 프로젝트를 구현해내는 것은 상당히 힘든 일이었다. 주어진 구현 사항을 모두 만족하지 못하는 경우는 허다했고, 주어진 학습 거리마저 70퍼센트도 소화하지 못한 채 다른 프로젝트를 시작하곤 했다. 조금이라도 더 흡수하려고 하다..

[UIKit] Frame vs Bounds

개인적인 학습 정리를 위한 글입니다. 🧐 CGPoint : 위치를 표현하기 위한 구조체로 x좌표와 y좌표의 값을 CGFloat으로 가진다. CGSize : 크기를 표현하기 위한 구조체로 너비와 높이 값을 CGFloat으로 가진다. CGRect : 사각형의 위치(origin)와 크기(size)를 포함하는 구조체로, origin과 size를 각각 CGPoint와 CGSize로 가진다. UIView는 기본적으로 frame과 bounds값을 모두 가지는데, 이들은 둘 다 CGRect이다. 둘 모두 좌표와 크기를 가진다는 의미이다. 둘의 차이를 검색해서 찾아보면 Frame : SuperView의 좌표 시스템에서의 위치와 크기 Bounds : 자신만의 좌표 시스템에서의 위치와 크기 정도로 정의되는 경우가 많다. 이..

🍎 Apple/UIKit 2021.11.10

SOLID in Swift (5): DIP(Dependency Inversion Principle)

해당 게시글은 아래 Article을 참고하여 작성되었습니다. https://medium.com/movile-tech/dependency-inversion-principle-in-swift-18ef482284f5 Dependency Inversion Principle in Swift Last article of the series of five about SOLID and its use in Swift medium.com SOLID란? SOLID는 5개의 프로그래밍 디자인 원칙의 앞글자를 딴 합성어이다. 각 디자인 원칙들은 소프트웨어의 이해와 발전뿐 아니라 유연성과 유지보수성을 높여준다. 이러한 원칙들은 교수이자 소프트웨어 엔지니어인 Robert C. Martin(Uncle Bob으로 많이 알려진)으로부터..

SOLID in Swift (4): ISP(Interface Segregation Principle)

해당 게시글은 아래 Article을 참고하여 작성되었습니다. https://medium.com/movile-tech/interface-segregation-principle-in-swift-1778bab4452b Interface Segregation Principle in Swift Fourth article of the series of five about SOLID and its use in Swift medium.com SOLID란? SOLID는 5개의 프로그래밍 디자인 원칙의 앞글자를 딴 합성어이다. 각 디자인 원칙들은 소프트웨어의 이해와 발전뿐 아니라 유연성과 유지보수성을 높여준다. 이러한 원칙들은 교수이자 소프트웨어 엔지니어인 Robert C. Martin(Uncle Bob으로 많이 알려진)..

SOLID in Swift (3): LSP(Liskov Substitution Principle)

해당 게시글은 아래 Article을 참고하여 작성되었습니다. https://medium.com/movile-tech/liskov-substitution-principle-96f15559e363 Liskov Substitution Principle Third article of the series of five about SOLID and its use in Swift medium.com SOLID란? SOLID는 5개의 프로그래밍 디자인 원칙의 앞글자를 딴 합성어이다. 각 디자인 원칙들은 소프트웨어의 이해와 발전뿐 아니라 유연성과 유지보수성을 높여준다. 이러한 원칙들은 교수이자 소프트웨어 엔지니어인 Robert C. Martin(Uncle Bob으로 많이 알려진)으로부터 소개되었다. Single Resp..

SOLID in Swift (2): OCP(Open-Closed Principle)

해당 게시글은 아래 Article을 참고하여 작성되었습니다. https://medium.com/movile-tech/open-closed-principle-in-swift-6d666270953d Open-Closed Principle in Swift Second article of the series of five about SOLID and its use in Swift medium.com SOLID란? SOLID는 5개의 프로그래밍 디자인 원칙의 앞글자를 딴 합성어이다. 각 디자인 원칙들은 소프트웨어의 이해와 발전뿐 아니라 유연성과 유지보수성을 높여준다. 이러한 원칙들은 교수이자 소프트웨어 엔지니어인 Robert C. Martin(Uncle Bob으로 많이 알려진)으로부터 소개되었다. Single R..

반응형