new

  • 네이버 부스트 캠프 8기 챌린지 (feat. 중도하차)

    네이버 부스트 캠프 8기 챌린지 (feat. 중도하차)

    네이버 부스트 캠프 챌린지 과정은 짧은 시간동안 CS+관련직무에 대한 언어 지식을 빠르게 키울 수 있는 과정입니다 더불어 개발할 때 꼭 필요한 도구나 지식에 대해서도 학습할 수 있습니다! 과정 과정은 일주일 단위로 진행된다. 매 주 팀원이 새롭게 구성되는데, 같은 포지션(iOS) 4~5명과 함께 한 주 동안 팀이 되어 활동한다 활동 내용은 매일 바뀌는 미션을 해결하고, 다음날 오전에 팀원들과 리뷰+회고를 하는 방식 이 시간을 의미있게 쓰고 싶어서 팀원들에게 코드리뷰를 코멘트로 달아주자고 했었다! 덕분에 코드리뷰하는 방법과 다른사람의 코드를 분석하는데 도움이 많이 되었던것 같다 👍 네부캠에는 직무에 능숙한 사람보다 해당 직무를 처음 접하는 사람이 꽤 많았다 그래서 Swift언어를 처음 사용해보는 팀원들도 ..

  • 네이버 부스트 캠프 8기 합격후기

    네이버 부스트 캠프 8기 합격후기

    네이버부스트캠프(네부캠)은 네이버 커넥트 재단에서 주관하는 프로그램이에요! 대외활동 중에서는 퀄리티가 꽤 높다고 생각해 취준하면서 도전해보았습니다 과정은 서류합격 이후에 두 번의 코테가 있습니다 서류 주변에 지난 네부캠에 합격했던 사람들이 많아서 도움을 많이 받았어요! 네이버가 자소서를 굉장히 중요하게 생각하는것 같습니다 공개채용 때도 그렇고 자기자신에 대해 고민해볼 수 있는 질문이 많았어요 ❓ 왜 개발자가 되고 싶나요? 소프트웨어 개발을 더 잘하고 싶어서 시도했던 경험 “해야 하는데”에서 끝나지 않고 실천했거나, ~ 자기주도적으로 사고하고 행동한 경험 열린 사고로 동료와 협력한 경험 개인적으로 이런 질문을 좋아하는데, 개발자로서 나를 다시 돌아보고 고민해볼 수 있어서 좋은것 같습니다! 네부캠은 협업&몰..

  • [Swift] 재사용 가능한 NetworkManager만들기 (feat. Generic)

    지난번에 이런 글을 썼었는데, https://990427.tistory.com/112 [Swift] json value type이 달라지는 response에 대응하여 API Responder만들기 요즘 Set이 된 나의 개발 스타일,, 중복을 다 제거해버리자 지금 하고 있는 프로젝트에서 API를 다음과 같이 명세했습니다 그래서 어떤 api를 호출하냐에 따라 form의 변화는 없지만 data의 값은 항상 990427.tistory.com 상태 코드를 받을 수 없다는 문제점도 있었고, 모듈마다 다 다른 MoyaProvider를 사용하다보니까 저번에 만든 함수의 쓰임이 좀.. 별로랄까? 그래서 개선해보자!고 생각했고 조금더 유연하게 사용할 수 있도록 BaseNetworkManager를 만들기로 했습니다. Ba..

  • [UIKit] CustomDatePicker 만들기 (3/3)

    [UIKit] CustomDatePicker 만들기 (3/3)

    Rx를 모르신다면 이해하기 어려울 수 있습니다 🥹 드디어 마지막 관문.. 년,월을 관찰하여 일 수를 정하자! 일단 나는 지금 이걸 만드는 중이다 년,월은 의존성이 없지만, '일'은 년,월에 의존성을 가지게 된다. 1월은 31일까지, 2월은 28일까지 뭐이런거 ~.. 그래서 '일'은 년,월이 바뀌면 reset을 해주어야 한다. 예를들어 2023년1월31일을 만들어준 상태에서 '월'을 2월로 바꾸면 31일은 없기 때문에!! 그래서 customPicker에서 뭔가를 선택했을 때 관찰하는 대상에게 알려줄 수 있도록 Rx를 추가적으로 적용했다. (1/3)에서 만들었던 CustomPickerButton에 추가한 부분! public class CustomPickerButton: UIButton { var change..

  • [Swift] 서버에 iOS 이미지 보낼 때 용량 이슈 & 해결

    [Swift] 서버에 iOS 이미지 보낼 때 용량 이슈 & 해결

    이미지 업로드 구현중에 생긴 이슈 form-data로 아이폰 사진첩에 있는 이미지를 서버로 보내려면 JPEG로 변환해야 합니다 아이폰에서 기본적으로 HEIF 확장자로 사진을 저장하는데, 이는 호환성이 떨어지기 때문입니다 어쨌든 우리는 PHPicker를 통해서 사진첩에 있는 사진을 가져올 수 있고, 이를 jpeg로 변환하기 위해 jpegData를 사용합니다 image.jpegData(compressionQuality: 1.0) 사실 뒤에 1.0은 기본값이라고 생각하고 아무 생각없이 썼는데 얘때매 이슈가 생길줄이야... Moya를 통해 API 통신을 하는데, 계속 이런 에러가 뜨는 것.. Failed to map data to a Decodable object. postman으로 아이폰 사진첩에 있는 사진 ..

hot

  • 네이버 부스트 캠프 8기 합격후기

    네이버 부스트 캠프 8기 합격후기

    네이버부스트캠프(네부캠)은 네이버 커넥트 재단에서 주관하는 프로그램이에요! 대외활동 중에서는 퀄리티가 꽤 높다고 생각해 취준하면서 도전해보았습니다 과정은 서류합격 이후에 두 번의 코테가 있습니다 서류 주변에 지난 네부캠에 합격했던 사람들이 많아서 도움을 많이 받았어요! 네이버가 자소서를 굉장히 중요하게 생각하는것 같습니다 공개채용 때도 그렇고 자기자신에 대해 고민해볼 수 있는 질문이 많았어요 ❓ 왜 개발자가 되고 싶나요? 소프트웨어 개발을 더 잘하고 싶어서 시도했던 경험 “해야 하는데”에서 끝나지 않고 실천했거나, ~ 자기주도적으로 사고하고 행동한 경험 열린 사고로 동료와 협력한 경험 개인적으로 이런 질문을 좋아하는데, 개발자로서 나를 다시 돌아보고 고민해볼 수 있어서 좋은것 같습니다! 네부캠은 협업&몰..

  • 네이버 부스트 캠프 8기 챌린지 (feat. 중도하차)

    네이버 부스트 캠프 8기 챌린지 (feat. 중도하차)

    네이버 부스트 캠프 챌린지 과정은 짧은 시간동안 CS+관련직무에 대한 언어 지식을 빠르게 키울 수 있는 과정입니다 더불어 개발할 때 꼭 필요한 도구나 지식에 대해서도 학습할 수 있습니다! 과정 과정은 일주일 단위로 진행된다. 매 주 팀원이 새롭게 구성되는데, 같은 포지션(iOS) 4~5명과 함께 한 주 동안 팀이 되어 활동한다 활동 내용은 매일 바뀌는 미션을 해결하고, 다음날 오전에 팀원들과 리뷰+회고를 하는 방식 이 시간을 의미있게 쓰고 싶어서 팀원들에게 코드리뷰를 코멘트로 달아주자고 했었다! 덕분에 코드리뷰하는 방법과 다른사람의 코드를 분석하는데 도움이 많이 되었던것 같다 👍 네부캠에는 직무에 능숙한 사람보다 해당 직무를 처음 접하는 사람이 꽤 많았다 그래서 Swift언어를 처음 사용해보는 팀원들도 ..

  • sw마에스트로 13기 활동후기 (멘토링, 팀프로젝트)

    sw마에스트로 13기 활동후기 (멘토링, 팀프로젝트)

    https://990427.tistory.com/84 sw마에스트로 13기 합격후기 (자소서,코테,면접) 합격후 한참 바쁠때 쓰는 합격후기&회고 사실 큰 기대 없이 시작했다. 작년에 굉장히 열심히 준비했음에도 불합의 아픔을 겪었기 때문에,, ㅎㅎ 올해는 고민하다가 나답지 않게 하루전에 자소서 990427.tistory.com 회고와 회상에 가까울 13기 활동후기 글을 써보려고 한다. 요약 소마를 했던 2022년을 한단어로 요약하자면 ✨완벽✨ 이다 소마에서 했던 공부들과 만났던 사람들 모두 너무 감사했던 완벽한 1년이였다..! 누가 나한테 다시 돌아가도 소마 하겠냐고 물어본다면 0.1초의 망설임도 없이 YES다. 예비과정 소마 사무국에서 대부분의 활동 과정들을 노션에 정리해주셨다 예비과정은 아무것도 모르는..

  • [Swift] 재사용 가능한 NetworkManager만들기 (feat. Generic)

    지난번에 이런 글을 썼었는데, https://990427.tistory.com/112 [Swift] json value type이 달라지는 response에 대응하여 API Responder만들기 요즘 Set이 된 나의 개발 스타일,, 중복을 다 제거해버리자 지금 하고 있는 프로젝트에서 API를 다음과 같이 명세했습니다 그래서 어떤 api를 호출하냐에 따라 form의 변화는 없지만 data의 값은 항상 990427.tistory.com 상태 코드를 받을 수 없다는 문제점도 있었고, 모듈마다 다 다른 MoyaProvider를 사용하다보니까 저번에 만든 함수의 쓰임이 좀.. 별로랄까? 그래서 개선해보자!고 생각했고 조금더 유연하게 사용할 수 있도록 BaseNetworkManager를 만들기로 했습니다. Ba..

  • [Swift] 클로저(Closure)의 모든것

    [Swift] 클로저(Closure)의 모든것

    본 게시물은 클로저의 기본 부터 심화까지 모두 다루고 있습니다. swift 함수의 기본을 다루었다고 가정하고 작성했습니다. Closure / 클로저 클로저란? 보통은 익명함수를 뜻한다. 하지만 named 함수도 클로저에 속한다는 사실 ! 클로저는 named Closure & unnamed Closure 두가지를 포함하고 있다. 우리가 알고 있는 일반적인 함수는 named Closure이다. func NameClosure() { print("I have a name") } 익명함수는 정확히는 unnamed Closure이지만, 보통 unnamed을 생략하고 그냥 클로저라고 부른다. 즉, 클로저 = 익명함수라고 통상적으로 생각하면 될듯 ? ( 클로저는 익명함수이지만, 1급 객체 함수의 특성을 가진다. ) 요..