전체 글 (206) 썸네일형 리스트형 [iOS] UICollectionViewDiffableDataSource https://developer.apple.com/tutorials/app-dev-training/creating-a-list-view Apple Developer Documentation developer.apple.com Apple UIkit tutorial을 보고 배운 내용을 정리한 글입니다. Configure the Data Source - diffable data source 이전글에서 만들었던 collection view 의 data source 로 difable data source 를 사용했습니다. diffable data source 라는 것을 처음 봤는데 데이터가 변경될 때 사용자 인터페이스를 업데이트하고 애니메이션 효과를 준다고 합니다. 사실 여기가 굉장히 복잡해서 (저에게는ㅎㅎ) 정.. [iOS] UICollectionViewLayout https://developer.apple.com/tutorials/app-dev-training/creating-a-list-view Apple Developer Documentation developer.apple.com iOS App Dev Tutorials 를 보면서 배운 내용을 정리하였습니다. Creating a List View 이전 튜토리얼에서는 리스트 뷰를 테이블뷰로 생성했었는데 이번 강의에서는 콜렉션뷰를 사용했습니다. 똑같이 Reminder 이라는 Model 을 생성하는데 달라진 점은 #if DEBUG, #endif 이 플래그는 realse 용 앱을 빌드할 때 코드가 컴파일되지 않도록 하는 컴파일 지시문입니다. 디버그 빌드에서 코드를 테스트하거나 샘플 테스트 데이터 제공을 위해 이 플래그.. [Swift] Lv2.문자열 압축 (String.Index) https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 생각 처음에 문제를 봤을 땐 친절하게 주어진 5번째 예시 테케를 못보고 중간에도 마음대로 자를 수 있는줄 알고 이게 Lv2..? 하고 절망했는데.. 문제를 잘못 생각했었습니다.. 처음부터 length 씩 자르는게 정해져있었습니다. aabab 를 2개씩 자른다고 하면 [a] [ab] [ab] 이렇게 자를 수는 없고, 무조건 [aa] [ba] [b] 이렇게 .. [Swift] 17780 새로운 게임 (구현) https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 문제 조건을 헷갈려서 조금 오래 걸렸습니다. 가장 아래에 있는 말만 움직일 수 있다는 말이 중간에 있는 말의 방향대로 맨 아래부터 다 움직인다는 뜻인줄 알고~ 중간에 있는 말 차례면 차례가 그냥 넘어간다고 생각하면 됩니다. 원래 2차원 배열에 queue 를 사용하려고 했는데 Swift 라서 3중배열로 (사실 차이는 없습니다..) 만들었습니다. var chessKnights: [[[Int]]] = .. [Swift] @escaping iOS App Dev tutorial 을 따라하던 도중에 @escaping 이 나와서 개념을 정리해보려고 합니다. @escaping을 사용한 전체 코드를 보면 ReminderListCell.swift 의 configure 함수의 파라미터에서 @escaping annotation을 사용했고, 이 configure 함수를 ReminderListViewController.swift에서 호출하고 있습니다. ReminderListCell.swift import UIKit class ReminderListCell: UITableViewCell { // like reference typealias DoneButtonAction = () -> Void @IBOutlet var titleLabel: UILabel! @I.. [Swift] Lv1.로또의 최고 순위와 최저 순위 (dictionary 사용) Dictionary를 복습한겸 굳이 Dictionary를 사용하지 않아도 되지만 복습겸 사용하였습니다. 랭킹을 6개 맞추면 1위, 1개 맞추면 0위, 0개 맞추면 6위로 순위를 찾을 수 있도록 ranking을 Dictionary로 선언하였습니다. ranking 값을 접근할 때 그냥 접근하면 optional 타입으로 반환되기 때문에 여기서는 값이 있을 것이라 확신하고 강제추출 하였습니다. [풀이] 0값을 세어서 최고 순위는 맞은 갯수 + 0값 최저 순위는 맞은 갯수 https://programmers.co.kr/learn/courses/30/lessons/77484?language=swift 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중.. [css] word-break 회사에서 제작하고 있는 사이트가 Safari 브라우저를 지원하는데 URL을 넣는 부분에서 줄바꿈이 되지 않거나 어색하게 줄바꿈이 되는 현상을 발견했습니다. 찾아보니 Safari 에서 word-break 관련 이슈가 있다는 것을 알 수 있었습니다. word-break: break-all; 여러 속성이 있는데 all르 적용하면 URL줄바꿈이 잘 되는 것을 알 수 있었습니다.. Safari.. 혼자 다른세상.. word-break 관련된 공식문서: https://developer.mozilla.org/ko/docs/Web/CSS/word-break word-break - CSS: Cascading Style Sheets | MDN CSS word-break 속성은 텍스트가 자신의 콘텐츠 박스 밖으로 오버플로 .. [JPA] n+1 문제 회사에서 JPA를 사용하는 도중에 과정과 과제 entity가 따로 있는 상태에서 과정 하위의 과제를 가져올 때 queryDSL로 join해서 가져오는 방법을 사용하고 있었습니다. 후에 이 과제를 가져올 때 과정-과제 상세 entity를 따로 만들어 queryDSL을 사용하지 않고 JPA를 사용하여 한번에 정렬하여 가져오도록 고쳐야 했습니다. findBy[과정]OrderBy[과제 번호] 를 사용하여 구현하였는데 실제 동작과정을 살펴보니 과정-과제 상세 entity가 과정과 과제 entity를 포함하고 있어서 1번만 쿼리를 실행해야 할 것을 N+1번 실행하고 있었습니다. 이를 JPA에서 N+1 문제라고 한다길래 한번 찾아보았습니다. 여기서 발생한 원인은 과정-과제 상세를 전체 한번 보는 쿼리와 각각의 과정을.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 26 다음