본문 바로가기

전체 글

(31)
개발자 고민상담소 웨비나 후기 (feat. 원티드) 개발자로 취업한 지 벌써 1년 6개월이 흘렀다.입사 초반엔 적응하느라 고민할 여유도 없이 시간이 지나갔지만,이제는 조금씩 익숙해지고 나니 오히려 더 깊은 고민들이 하나둘 쌓이기 시작했다.마침 원티드에서 진행하는 개발자 고민상담소 웨비나를 듣게 되었고 정리된 내용을 글로 남겨보고자 한다. 3월 10일에 온라인에서 진행된 웨비나로현) 우아한형제들 프론트엔드 프로그래머이신 송요창님과현) 원티드랩 백엔드 엔지니어이신 김윤재 님이 해당 웨비나를 진행해주셨다!(좋은 시간과 자리를 만들어주신 두분께 감사합니다ㅎㅎ) 웨비나에서는 개발자의 취업과 이직, 커리어에 대한 고민들을 중심으로 실시간 Q&A가 진행됐다.현업 개발자분들이 경험을 바탕으로 진짜 현실적인 조언들을 해주셔서, 시간 가는 줄도 모르고 재밌게 들었다.특히 ..
Swift에서 메시지 인증번호 자동 완성 구현하기 (feat. textContentType) 다양한 앱을 사용하다 보면 회원가입이나 특정 프로세스를 진행할 때, SMS로 인증번호를 받아 입력해야 하는 경우가 많습니다.이때, 인증번호가 키보드 상단에 자동 완성으로 표시되는 기능이 존재합니다.이 기능이 어떻게 구현되는지 궁금해 공부하게 되었고, 그 과정에서 알게 된 정보를 공유하고자 합니다.구현 방법UIKit에는 UITextInputTraits라는 텍스트 객체에 대한 키보드 입력 기능을 정의하는 메서드 집합이 프로토콜로 존재합니다. 그리고 UITextInputTraits에는 텍스트 입력 필드의 의미를 지정할 수 있는 UITextContentType이라는 속성이 존재합니다.입력 필드의 의미를 위 속성 내부의 oneTimeCode로 설정하면,SMS로 받은 인증번호를 자동 완성 영역에 표시하는 기능을 구..
24년 회고, 그리고 25년 목표 신년에 약속도 많았고, 도쿄도 다녀오는 바람에 조금 늦어졌지만,오늘에서야 2024년 회고와 2025년 목표를 정하려고 한다.2024년 회고2024년을 돌이켜 보면, 개발자로서의 삶에 적응해 나가는 해였다.반오십인 25살이 되면서,대학교를 졸업하고,직장 생활을 이어가며,중학생 시절부터 살았던 집에서 이사를 하고,학점은행제를 병행하는 한편,다양한 앱들을 개발했다. 먼저 작년 이맘때쯤 작성한 목표들을 얼마나 달성했는지 확인해 보자면, 다음과 같다.개인적으로 앱 개발 후 앱스토어 출시하기 (트래버리 출시)1,000만원 모으기 (어느 정도 모았지만 목표액은 달성하지 못했음..)선크림 바르기 (매일 발라야 했는데 그러지 못했음..)2달에 책 한 권 읽고 감상문 남기기 (상반기에는 좀 읽었지만, 그 후로는 읽지 않았..
코딩테스트 입문 (feat. Day 20 수학, 시뮬레이션, 문자열, 사칙연산) 1.  직사각형 넓이 구하기Q. 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.func solution(_ dots:[[Int]]) -> Int { var xPoint: [Int] = [] var yPoint: [Int] = [] dots.forEach { xPoint.append($0[0]) yPoint.append($0[1]) } return (xPoint.max()! - xPoint.min()!) * (yPoint.m..
코딩테스트 입문 (feat. Day 19 문자열, 배열, 조건문) 1.  7의 개수Q. 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.func solution(_ array:[Int]) -> Int { var result: Int = 0 var temp = array.map { String($0) } temp.forEach { $0.forEach { val in result += val == "7" ? 1 : 0 } } return result} A. 전달 받은 정수 배열 array를 문자열 배열로 변환한 후 순회하면서 각각의 문자열을 또 다시 순회하여 한 글자씩 "7"인지를 ..
코딩테스트 입문 (feat. Day 18 문자열, 수학, 조건문, 정렬) 1.  문자열안에 문자열Q. 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.func solution(_ str1:String, _ str2:String) -> Int { return str1.contains(str2) ? 1 : 2} A. contains를 활용하여 전달 받은 str1에 str2이 포함되는지 판별한 후, 포함되면 1을 포함되지 않으면 2를 반환하여 해결했다.2. 제곱수 판별하기Q. 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.func so..
코딩테스트 입문 (feat. Day 17 문자열, 수학, 배열, 조건문) 1. 숫자 찾기  Q. 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.func solution(_ num:Int, _ k:Int) -> Int { var result = -1 String(num).enumerated().forEach { if result == -1 && Int(String($1))! == k { result = $0 + 1 } } return result} A. 전달 받은 num을 String으로 변환한 후 enumerated()를 통해 반복하면서 result가 -1..
코딩테스트 입문 (feat. Day 16 문자열, 수학, 배열, 조건문) 1. 편지Q. 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.func solution(_ message:String) -> Int { return message.count * 2} A. 전달 받은 message의 길이에 2를 곱한 값을 반환하여 해결했다. 2. 가장 큰 수 찾기Q. 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.func solution(_ array..