전체 글 244

[iOS] TVING(티빙) 로그인 화면 클론 코딩 UIKit 2편 - TextField

안녕하세요 띵지니어 😼 입니다. 오늘은 TVING앱의 로그인 화면에서 더 나아가, TextField에서 문자를 받고 로그인하기 버튼을 누르면 다음 뷰로, TextField에서 받은 문자를 넘겨주는 작업을 진행해 볼게요 https://thingjin.tistory.com/entry/iOS-TVING%ED%8B%B0%EB%B9%99-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%ED%99%94%EB%A9%B4-%ED%81%B4%EB%A1%A0-%EC%BD%94%EB%94%A9-UIKit-1%ED%8E%B8-View-%EC%9E%91%EC%97%85 [iOS] TVING(티빙) 로그인 화면 클론 코딩 UIKit 1편 - View 작업 안녕하세요 띵지니어 😼 입니다. 오늘은 TVING 앱의 로그인 화면(V..

iOS 2024.04.20

[Swift] Optional Unwrapping (4) - 옵셔널 체이닝 (Optional Chaining)

안녕하세요 띵지니어 😼 입니다. 이번 시간에는 닐 코얼레싱(Nil-Coalescing)에 이어 옵셔널 언래핑하는 방법 중 네 번째 방법을 소개하려 해요 바로바로 옵셔널 체이닝(Optional Chaining)에 대해 포스팅 해보려고합니다. 시작 전에 "체이닝"? 이 뭐죠? 아래와 같이 점(.) 문자로 객체, 메서드, 속성에 접근을 하는 것을 보통 체이닝(Chaining) 이라고 합니다. 본격적으로 시작해 볼게요 🍎 옵셔널 체이닝 (Optional Chaining) 요약하자면 옵셔널 값에 대한 안전한 접근을 연속적으로 수행할 때 사용 합니다. 즉 옵셔널 값이 nil일 수 있는 여러 프로퍼티, 메서드, 서브스크립트를 하나의 연속된 표현식 내에서 안전하게 호출하고, 표현식 중 하나라도 nil을 반환할 경우, ..

Swift 2024.04.19

백준 2609번 최대공약수와 최소공배수 Swift

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 내 코드 // 유클리드 호제법 func gcd(_ a: Int, _ b: Int) -> Int { var a = a var b = b while b != 0 { let temp = b b = a % b a = temp } return a } func lcm(_ a: Int, _ b: Int, gcd: Int) -> Int { return (a * b / gcd) } let input = readLine()!.split(separator: " ").map { Int..

BOJ/Swift 2024.04.18

[NOW SOPT] 34기 iOS 파트 합격 후기 - 면접

https://thingjin.tistory.com/entry/NOW-SOPT-34%EA%B8%B0-iOS-%ED%8C%8C%ED%8A%B8-%ED%95%A9%EA%B2%A9-%ED%9B%84%EA%B8%B0-%EC%84%9C%EB%A5%98 [NOW SOPT] 34기 iOS 파트 합격 후기 - 서류 🍎 지원동기? 4학년 2학기까지 해놓고, 저의 진로를 머신러닝에서 iOS로 변경하였습니다. Swift라는 언어로 개발을 한지 반년 정도밖에 안된 저는 경험을 쌓고 싶었고 마침 SOPT 공고가 올라와 지원 thingjin.tistory.com 본글은 서류 편이랑 이어집니다. 솝트 는 서류가 발표 나고, 약 3-4일 뒤 면접을 보게 됩니다. 이번 34기는 수요일 발표 -> 토or일 면접 서류를 합격하고 구글 폼..

회고 2024.04.10

[NOW SOPT] 34기 iOS 파트 합격 후기 - 서류

🍎 지원동기? 4학년 2학기까지 해놓고, 저의 진로를 머신러닝에서 iOS로 변경하였습니다. Swift라는 언어로 개발을 한지 반년 정도밖에 안된 저는 경험을 쌓고 싶었고 마침 SOPT 공고가 올라와 지원하였습니다. SOPT는 대학생 연합 IT 벤처 창업 동아리입니다. 🍎 자기소개서 참고로 서류기간 일주일도 안됩니다. 34기 SOPT의 자기소개서는 총 8문항 + 포폴 으로 이루어져 있으며 공통 문항 4문항 / 파트 문항 4문항으로 되어있었습니다. 한 문항당 700-800 자 입니다 네? 700자요? 네 일단 저는 취준을 안 해서 서류경험이 없는 관계로 자소서를 쓰는데 머리가 너무 아팠습니다. 서류를 쓰면서 제가 중요하게 여겼던 것은 핵심 가치를 녹여내자 입니다. 기수마다 브랜딩이 있는데, 핵심 가치를 더해..

회고 2024.04.09

[iOS] TVING(티빙) 로그인 화면 클론 코딩 UIKit 1편 - View 작업

안녕하세요 띵지니어 😼 입니다. 오늘은 TVING 앱의 로그인 화면(View)만 똑같이 구현을 해보려고 합니다. 전체 코드가 궁금하신 분은 맨 아래 참고해 주세요! 다음은 우리가 구현해야 할 View입니다. 저는 UIKit 코드베이스로 구현해보려고 하기 때문에, 먼저 코드베이스로 프로젝트 세팅을 모르시는 분들은 아래 링크 참고해 주세요! https://thingjin.tistory.com/entry/%EC%8A%A4%ED%86%A0%EB%A6%AC%EB%B3%B4%EB%93%9C-%EC%97%86%EC%9D%B4-UIKit%EC%9C%BC%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%84%B8%ED%8C%85-%EC%BD%94%EB%93%9C%EB%B2%A0%..

iOS 2024.04.08

[Git] Issue template, PR template 만드는 방법

안녕하세요 띵지니어 😼 입니다. GitHub로 협업을 하면서 Issue 와 PR 을 작성하는 과정에서 공통된 양식으로 정해진 template로 만드는 방법을 알아보겠습니다. Issue Template ⭐️ issue template는 PR template 과 달리 여러개의 템플릿을 사용할 수 있습니다 :) 1. 사용할 레포지토리 Setting -> Genaral -> Features 부분으로 들어가 줍니다. 2. Features -> Set up templates 를 눌러 줍니다. 3. Add template로 원하는 템플릿 추가해 주고 -> 템플릿 작성 후 -> 커밋 4. 실제 폴더를 보면 아래와 같이 Issue 템플릿이 완성되었습니다. ⭐️ 여러 개의 마크다운 파일로 여러 개의 이슈 템플릿을 커스텀 ..

Git 2024.04.07

[Git] 프로젝트에 .gitignore 사용 방법, 깃 이그노어 패턴 규칙 사용하기

안녕하세요 띵지니어 😼 입니다. 오늘은 프로젝트 파일에 gitignore를 추가하는 방법과 사용하는 패턴에 대해 알아볼게요 🤔 gitignore 가 뭐지? git을 활용하여 협업을 할 때 저희는 프로젝트 파일을 공유합니다. 이때 보안상 문제가 되는 파일이나, GitHub와 같은 외부 저장소에 올리고 싶지 않은 것들을 등록하는 파일 입니다. 즉, 협업에서 "해당 파일을 무시하겠다" 라고 생각하면 됩니다. 🍀 .gitignore 사용법 사용법은 간단합니다. 1. .gitignore를 프로젝트 파일에 넣는다. window는 메모장 iOS는 텍스트 편집기로 만들 수 있어요! 저는 Mac 유저이기 때문에 런치 패드에 텍스트 편집기를 검색해서 열어줄게요 별도의 확장자 없이 .gitignore 파일을 만들어 줍니다...

Git 2024.04.05

[프로그래머스] 해시 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 from collections import defaultdict def solution(participant, completion): hash_table = defaultdict(int) for i in participant: hash_table[i] += 1 for i in completion: hash_table[i] -= 1 if hash_table[i] == 0: del hash_..

BOJ/Python 2024.03.23