본문 바로가기

반응형

전체 글

(290)
만화경 구름톡 - 8. 구름톡 등록 및 삭제 * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 안녕하세요. Skillist입니다 이것저것 개발 공부 했는데, 구름톡 클론코딩 코드를 깔끔하게 정리도 했습니다. 개발하면서 최대한 깔끔하게 구현하고자 노력했지만, 다시 보면 코드를 고치고 싶더라구요. 기존에 작성한 테스트 코드를 믿고, 코드 수정 좀 했습니다! 또, 까먹고 있던 기능도 구현했어요;;;; 바로바로바로바로~~~~ 구름톡 삭제 기능입니다. 구름톡 등록은 했지만, 삭제 기능은 구현하지 못했더라구요. 구름톡을 작성한 userID를 기준으로, 나의 아이디와 동일하면, 구름톡의 text color를 파란색으로 변경해줬습니다. 또, 삭제 버튼을 활성화 하여, 삭제 기능을 추가했습니다. 구름톡 부분 업데이트를..
만화경 구름톡 - 7. 자동 스크롤 버튼, 하단바 구성, Test 및 버그 수정 * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 안녕하세요. Skillist입니다. 오랜만입니다. 라고 하기엔 3일만이네요. 그동안, 쉬어가며 개발을 천천히 진행했어요. 그러기엔 풀파워의 60~70% 만큼만 사용하며 개발진행했네요. 그럼 상황을 볼까요???? 먼저 풀스크린 On/Off와 구름톡 상세 화면이에요. 또, 하단바의 레이아웃을 채워줬구요, StatusBar의 color를 검정색으로 변경했어요! 매우 잘 동작하고 있습니다. ㅎ후후후ㅜ후ㅜ후훗 다음은 버튼 이동이에요. snapKit으로 버튼의 위치 제약사항을 구성하지 않아서, 동작시 버튼이 튀는 현상이 발생했었고, 버그를 수정했습니다. 원인을 찾는데 좀 많이 걸렸습니다 ㅠㅜㅠ 그림자도 추가했습니다. 이..
만화경 구름톡 - 6. 구름톡 비/활성화, 자동 스크롤 구현 * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 안녕하세요. Skillist입니다 힐링 좀 하고 싶은데, 코로나 때문에 외출도 안(못)하고 있고, 집에서 공부나 개발만 하다보니, 지쳐있는 모습을 발견했습니다. 이에따라, 앞으로의 개발은 천천히 진행하고자 합니다. 구름톡 비/활성화를 구현에 대해서 말해볼게요. 먼저, 글자가 겹치지 않게 구현했습니다!!!!! 대신 로직 최적화를 하지 않아서, 구름톡들의 움직임이 단조롭고 재미 없습니다. 이 부분은 추후에 개선할거에요. 그리고 스크린샷은 우측 상단의 구름톡 토글 버튼을 터치한거에요. 버튼 터치시, 구름톡과 작성버튼을 숨기거나 보여줍니다. 구름톡의 show, hide는 NotificationCenter을 활용하여 ..
만화경 구름톡 - 5. text가 겹치는 이슈 * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 안녕하세요. Skillist입니다 지난 글까지, MarqueeLabel을 활용하여, 구름톡을 구현했습니다. https://cocoapods.org/pods/MarqueeLabel MarqueeLabel A drop-in replacement for UILabel, which automatically adds a scrolling marquee effect when needed. cocoapods.org 이젠, 단일 구름톡이 아닌 다중 구름톡이 겹치지 않게끔, 알고리즘을 생각하고 구현하면됩니다. 참 쉽죠?????? 여담으로, 그림 그리기를 좋아하여 밥로스 아저씨를 좋아했는지, 밥로스 아저씨의 그림이 너무 멋있어..
만화경 구름톡 - 4. 프로토타입 앱 개발 (구름톡 상세 뷰, 버튼 이동 애니메이션) 안녕하세요. Skillist입니다. * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 오늘은~ 버튼 이동 애니메이션과 구름톡 상세 뷰를 구현했습니다. 버튼 이동은 example 코드가 있어서, 매우 쉬웠지만, 구름톡 클릭 시 상세 뷰 구현은 엄청 까다로웠어요. 특히, 구름톡의 text 탭 이벤트 구현이 매우 어려웠습니다. 이유는 아래의 구현을 설명하면서 풀어볼게요. 어쨌든 꾸역꾸역 개발 했고, 한번 보시죠. 먼저~ 버튼 이동 애니메이션! 애니메이션만 봐주세요. 버튼이나, 버튼의 위치는 임시 개발이에요. 우아한형제들의 기술 블로그에서 작성된것 처럼, Facetime PiP을 사용하여 입력 버튼을 구현했습니다. https://techblog.woowahan.co..
만화경 구름톡 - 3. 프로토 타입 앱 개발 (구름톡 등록, 오토 스크롤 구현) 안녕하세요. Skillist입니다. * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 모두들 사전 투표 하셨나요?? 저는 코로나가 무서워서 사람 없는 금요일 새벽 6시에 투표하고 왔습니다. 일찍 일어나서 그런지, 금요일엔 공부가 잘안되더라구요. 그래서 토요일인 오늘 빡공했습니다. ㅠㅜㅜㅠㅜㅠ 날씨도 좋던데, 코로나 확진자가 26만명 등 확진 중이라, 모두 조심하세요. 지난 글에 이어, 프로토 타입 앱 개발 중간 보고입니다. 아직은 개발중이기 때문입니다. 개발과 동시에 글을 작성해본적도 있지만, 코드가 달라지기 때문에, 개발 후에 코드 글을 작성하는게 더 좋아요. 어렴풋이 생각했던 로직으로, 구름톡 등록을 구현했어요. tableView와 등록할 구름톡의 위치를..
만화경 구름톡 - 2. 프로토타입 앱 개발 (테이블뷰, 구름톡 구현) 안녕하세요. Skillist입니다 * 저는 우아한형제들과 전혀 상관이 없습니다. 학습차원으로 구름톡 기능을 따라 만드는 중입니다. 바로 어제인 3월 2일 밤에 구름톡에 대해서 분석해봤죠???? 분석하고 잠을 자려고 했는데, 너~~~~무 개발하고싶더라구요. 그래서 새벽까지 개발했고, 오늘도 아침일찍 개발하다가 업무 보고, 퇴근 후(야근 했습니다 ㅠㅜㅜㅠ)에 중간 보고 글을 작성해봅니다. 흐르는 text와 풀스크린 비/활성화를 구현해봤어요. 어느정도 느낌 나오지 않나요??? 그럴싸해보이지만, 로직적으론 아직 많이 부족해 보여요. text의 y position 배치라던가, text의 갯수라던가 아직 부족한 점이 있습니다. 풀스크린도 애니메이션을 적용하면 되는데, 나중에 구현하면 되죠. 근데 확실히 독특한 기능..
만화경 구름톡 - 1. 분석하기 안녕하세요. Skillist입니다 여담이지만, 최근엔 개인적으로 사용할 비공개 앱을 RxSwift로 개발했습니다. 그리고, iOS 학습을 위해 여러 기업 기술 블로그를 기웃거리다가, 재밌어 보이는 기능을 발견했습니다. 바로바로바로 "우아한형제들" - "만화경" 앱의 "구름톡"!! 저는 우아한형제들과 전혀 상관이 없습니다. https://story.baemin.com/2851/ 만화에 댓글기능을 넣었더니 벌어진 놀라운 일 만화경 '구름톡'에 사람들이 이렇게 많이 모였다고? story.baemin.com https://techblog.woowahan.com/6803/ 웹툰도 같이 봐요: 만화경 구름톡 | 우아한형제들 기술블로그 안녕하세요! 우아한형제들에서 만화경 앱 서비스를 만들고 있는 구지민, 안윤경입니다..
프로젝트에 Swiftlint 추가하기 안녕하세요. skillist입니다~~ 오늘은 SwiftLint를 추가해볼께요. 관련 글 작성 할 생각은 없었는데요, 프로젝트 진행하면서 swiftlint를 추가할 일이 생겼어요. 그래서 겸사겸사 작성해봅니다. 순서대로 가볼게요. 1. 프로젝트에서 cocoaPods을 사용하지 않았다면, 터미널 앱을 실행하여, 프로젝트 폴더로 이동 후, "pod init"을 입력합니다. 2. 그럼 프로젝트 폴더 안에 "Podfile"이 생성될거에요. 이 파일을 열어주세요. 3. 다음과 같이 "pod 'SwiftLint'를 입력하고 저정해주세요 코코아팟 설치 방법은 swiftlint git에 가이드가 있습니다. https://github.com/realm/SwiftLint GitHub - realm/SwiftLint: A t..
[LeetCode] 207. Course Schedule 문제 https://leetcode.com/problems/course-schedule/ Course Schedule - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ——————————————————————————— 잠깐만 로직에 대한 아이디어가 없으면 코드를 바로 보세요. ——————————————————————————— 코드 class Solution { let visited = 1 //이전에 방문한 course에 대한 값 let visiting = -1 ..

반응형