본문 바로가기

분류 전체보기

(286)
[프로그래머스/JS] Level2 - 의상 #reduce() #Counter #Map https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 오늘은 reduce, Map를 가볍게 훑어보려구해요. TIL- reduce()- Array.from() 과 스프레드 문법 " ... "- Map, MapIterator- Counter- Swift는 nil이라는 값이 존재하지 않을 경우가 하나의 타입인데 JS는 undefined, null .. 글해서 || 나 && 쓸때 '단축 평가' 적용해야하는데 뭔가 좀 문자와 문자가 피연산자일 때 적용하기 낯설음 Falsely 당황스러운건 0 or 1, f..
[프로그래머스/JS] 가장 큰 수 | PS일지 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 가장 큰 수는 주어진 배열에서 원소 까리의 비교시 맨 앞자리수만 비교하면 되지 않을까? '3' '40' -> 40이 먼저 와야한다. 그러나'3' '34' 이경우는 34가 먼저 와야함.334 - 343 이렇게 해서 앞, 뒤 중 무엇이 큰지, 양수가 배열의 앞으로 올 수 있도록 정렬하면 된다. 문자에 숫자를 곱하면 숫자화 되는데 숫자로된 문자는 자연스럽게 계산시 문자로 바뀐다고 한다. swift처럼 sorted() 같은 고차함수 대신 toSorted()나..
[프로그래머스/JS] Level2 - 게임 맵 최단거리 | PS일지 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 음.. 오늘은 JS를 처음 접해보는데, 모던 JS 책도 봐야하는데 좀 지루해서 문제 풀면서 빠르게 익혀볼까 합니당,, 가장 쉬운 bfs/dfs문제를 풀어봤습니다. TIL1. 2차원 배열의 생성할 때 Array.from() 함수와, Array().fill() 함수를 활용할 수 있다!2. [...배열] 의 접근은 배열의 요소들을 개별 인자로 전달할 수 있다.색다른점 : 1. [1...5] 나 튜플이 없다.2. 변수 타입 지정이 없다. 진짜 변수 네이밍 그..
[iOS] No 6. iOS앱 AppStore에 출시 후기!! 성경대로 마음의 중심을 붙드는 성경 앱 - 성경대로 위 엡 스토어 이미지를 누르면 이동할 수 있습니다. 작년 하반기 취준 활동 약 2달 동안 하면서,, 그리고 여러 기업에 지원하며 서류탈락, 면접 탈락 등등 뭐가 부족한 것인지를 좀 생각했었는데 앱을 출시한 경험이 없어서 그런가? 하는 생각이 들었습니다. 그래서 기존에 여러 대외 활동과 혼자서, 같이 프로젝트를 하면서 익힌 개념들을 활용하며 추가로 Tuist, RxSwift, ReactorKit 등 새로운 기술 스택을 공부하고 적용하며 배포를 할 겸 앱을 하나 만들어야겠다는 다짐을 했습니다! 예전부터 아주 막연하게? 성경 앱을 만들어볼까 하는 생각만 했었는데요.24년 11월~ 12월 영어 공부를 좀 하고 2번의 토익 셤을 치룬 후에 25년 1월부..
[iOS] No 5. Tuist와 SPM으로 Firebase Crashlytics 추가하기! | 대쉬보드가 안나오는 이유 안녕하세요. 오늘은 Tuist(4.x ver)에서 SPM으로 Firebase Crashlytics의 RunScript를 추가하는 방법에 대해서 소개하려구 합니다.Firebase 회원가입, GoogleService-Info.plist 등록 방법은 생략하겠습니다. RunScript에선 뭘 실행할까?가장 중요한 것은 이 Crashyltics 패키지의 run 파일을 찾아서, 내부적으로 실행해 Crashlytics/upload-symbols 바이너리를 호출해주는 것입니다. (내부적으로 dSYM파일을 Firebase Crashlytics 서버에 업로드 해서 크래시 리포트를 우리가 읽을 수 있는 형식으로 심볼화 해주는것 입니다 런타임 때 크래시가 날 때 어느 클래스의 어느 함수를 실행할 때 앱이 튕긴다거나를 알..
[iOS] No 4. Scale up 기본 애니메이션에 변화 주기 with AnchorPoint + 발생 가능한 에러 해결하기 안녕하세요. JourneyOfFaith 앱을 개발하며 4번째 포스트를 작성하게 되었습니다. 이번에는 BorderAnchor를 통해 연필로 밑줄을 긋는 효과인, 제가 원했던 시작점에서 도달점까지 보여지는 애니메이션 효과를 주는 방법에 대해 소개하려구 합니다! 화면 소개 여기 빨간색 점선 영역 안에 초록색이 맨 처음 보여질 때 빨간색 영역 왼쪽 엣지 부분에서부터 보여져서 오른쪽으로 커지는 애니메이션을 주려고 합니다! 이렇게 width가 0이었다가 "3일 동안" 글자 크기만큼의 width까지 underline이 자연스레 연필로 긋듯 그어지는 효과를 연출해보려구 합니다. 본격적인 애니메이션NSUnderline에서 지원하는 여러 style보다 thickness가 좀 커져야 했었어서 저는 Layer를 추가했습..
[iOS] No 3. 메모리 점유율 줄이기. Retain cycle 형성 원인 분석 및 해결 과정 안녕하세요!  오늘은 앱 UI 리펙터링을 하기 전에 화면을 A -> B -> A -> B 두 화면을 왔다 갔다를 반복하면서 마주한 메모리 점유율이 계단식으로 상승했던 이유와 어떻게 파악했는지 원인과 해결 과정을 소개하려고 합니다.# Memgraph# instruments - Allocations# retain cycle# lottie# functional programming 화면 소개 및 메모리 계단식 점유 발생 이슈 성경 읽기 플랜 화면은 다음과 같이 구성되어 있습니다! 처음에 들어갈 때는 메모리 관련 이슈가 없지만, 3초 간격을 두며 반복해서 형광펜, 성경 읽기 플랜 두 화면을 전환하다 보면 메모리가 계단으로 점유되는 현상을 발견했습니다.  ViewController는 deinit될 수 있지만, 그..
[iOS] No 2 Database. illegal multi-threaded access to database connection! 디비 접근 동시성 충돌 안녕하세요! 오늘은 앱 개발을 하며 마주한 오류의 원인과 해결 방법을 소개하려구 포스트를 작성했습니다.# Database multi threaded access# Serial Queue? or Concurrent Queue?# sqlite3 multi threaded access. illegal multi-threaded access to database connection 발생 이유 이 코드는 사용자가 읽은 챕터를 저장하는 유즈케이스 입니다. tracker, gardenLogRepository 변수는 내부적으로 각각 serialQueue에 async하게  작업을 추가해 데이터를 순차적으로 처리합니다.  tracker, gardenLogRepository 각각은 내부적으로 sqlite3 데이터베이스에 접..