본문 바로가기

분류 전체보기321

주니어개발자의 기초공사 ​ ​ 안녕하세요 긱코드입니다. 전업 기타강사에서 iOS 개발자가 된지 벌써 6개월이 되어가네요. 지난 12월에는 정말 백지라고 해야하지않을까 싶을정도로 제가 할 수 있는 것이 없었는데요. 5월에는 그래도 무엇을 만든다고 할때 절차를 떠올릴 수 있게 되었습니다. 물론 정말 대단하신 선배님들의 과정을 보면 정말 제가 한낱 미물임을 깨닫곤 하죠 ㅎㅎㅎ 요즘들어 어떤 마인드를 갖고 있느냐에 따라 실력이 갈리는 것 같다는 생각이 들어요. 전 지금이야 워낙 백지상태라 성장폭이 높을 수 있겠지만 조금 더 시간이 지나면 개발실력 뿐 아니라 성장하고자 하는 의지, 사이드프로젝트를 하는가 혹은 개발을 즐기고 있는가? 에 따라서 성장폭이 달라지는 것같다는 생각이 들었어요. ​ 하지만 전 오히려 주니어개발자인 현재가 좋은 .. 2022. 5. 8.
엑셀 스프레드시트에서 매크로 사용하기 예전엔 엑셀을 사용했지만 생각보다 스프레드시트를 사용하는 일이 많아지고 있습니다. 전 군시절 행정반에 있었는데 항상 빠르게 일을 해야하다보니 매크로를 사용하는 일이 많았어요. 원래 일하면서 한번쯤은 맞고 그랬잖아요. 그쵸? ^_ㅠ 암튼.. 그렇게 매크로를 사용하다보니 이제 자주 사용하는 기능은 매크로를 써버릇했는데 언제부터인가 매크로가 이상한 해졌는데 바로 제가 선택 지정했던 셀만 적용 매크로 적용이 되는 상황이죠. 예를 들자면 제가 B2 칸을 노랑색으로 지정하는 걸 매크로 지정을 해놨는데 , C6을 선택하고 매크로를 실행하면 다시 B2에 실행이 되는거죠.. 예전엔 무조건 선택한 값에 지정이 됐거든요. 절대참조와 상대참조 암튼 다시 돌아와서 언제 부터인지 모르겠는데 스프레드시트를 사용하기 전부터 엑셀에는.. 2022. 5. 6.
iOS 키보드 타입을 더이상 찾아해매지말자. 서론 텍스트필드를 생성하고 해당작업을 테스트를 하다보면 사용자가 해야하는 작업을 정말 여러번 해야하는 경우가 있습니다. 중간에 얼럿, 비밀번호를 입력하는 로직을 개발하면서 ....대체 비밀번호를 입력을 했는지 모를정도로 테스트를 했어요. 키보드가 켜졌을 때, 내가 원하는 키보드가 아니면 한영, 숫자선택 을 꼭 눌러야하는데요. 결국은 사용자가 해야하는 작업을 여러 차례 하는 것이지만 조금이라도 간편해질 수는 없을까 생각해봤습니다. 사실 제가 편하자고... 예를 들면 텍스트필드(빈칸)에 입력할 때, 이메일 키보드가 나오든지 숫자패드가 나오든지 등을 결정하는 거 . 별거 아닌데 사용경험에 작업하나라도 줄면 좋을것같아서요. 다들 당연히 하시는 작업이긴한데 저는 자꾸 까먹어서 정리했습니다 키보드타입의 종류 키보드.. 2022. 4. 28.
개발 / 운영서버를 반영하는 변수 만들기 용도 여러개의 서버를 구분하기 위해서 만들었어요 서버가 PRD, DEV 두개라면 Bool 로 설정해도되지만 가끔 QA가 존재 할 수도 있어요 저의 경우는 한 앱에서 DEV 서버와 운영서버를 변경하면서 필요할 때 변경 가능하도록 하기 위해 만들었어요. ➖ 기본세팅 : 현재서버를 가져오는 방법 준비물 : 1. 서버별 도메인정보 2. 내 앱에서 도메인을 호출하는 방법 먼저 현재 서버에 대한 정보를 가져와야해요. 아마 통신을 하는 앱이라면 도메인을 가져오는 부분이 있을거에요. 그래서 현재 도메인을 가져오세요. 요건 사람마다 다르니 알아서 가져오셔야겠네요 ㅎㅎ 제가 하나 예시로 준비해봤습니당 예시 ) 개발서버 : https:// dev.m.geekcode.com 운영서버 : https:// m.geekcode.c.. 2022. 4. 27.
롱프레스 및 햅틱진동 구현하기 롱프레스 및 햅틱진동 구현하기 롱프레스 시간은 3초로 지정 햅틱진동 구현 AudioToolbox 사용 햅틱진동 구현하기 1. AudioToolbox Framework 추가해주기 프로젝트 - General - Framework, Libraries, and Embedded Content AudioToolbox.framework 찾아서 Add 헤더파일추가하기 swift: Import objc : #import 진동메서드 구현 AudioServicesPlaySystemSound(1520); 자주쓰는 진동 패턴 : 1519, 1520, 1521 진동관련 참고블로그 진동메서드관련 소들이 블로그 참고 https://babbab2.tistory.com/36 진동메서드관련 종류별 소개 https://medium.com/.. 2022. 4. 26.
공동작업을 위한 Git 버전관리 공동작업을 위한 Git 버전관리 참고: https://tecoble.techcourse.co.kr/post/2021-07-15-git-branch/ Git 우리는 개발을 진행하면서 우리가 구현한 소스코드를 git이라는 버전관리 시스템을 통해 관리한다. git을 사용하지않았더라면 협업을 진행하며 메일이나 USB로 소스코드를 주고 받았을 것이다. git을 사용함으로써 우리는 시시각각 코드를 전송할 수 있다. 또한 일일히 병합하는 과정을 생략하고도 손쉽게 소스코드를 관리할 수 있다. 뿐만 아니라 꼼꼼한 commit 로그 과정을 통해 과거의 소스코드와도 한눈에 비교가 가능하다. 협업을 할 때에도 이 git을 사용해 분산 버전 관리를 할 수 있어 브랜치에 따라 독자적인 개발을 하고 메인 저장소에 merge하는 방.. 2022. 4. 22.
Objective C 울렁증 극복하기 오늘 부터 회사에서 맡아야하는 앱은 Objective-C 였다. 하.. 전혀 열받지 않고 어질어질 할 뿐.... 이게 뭐야....? 난 크로스플랫폼으로 빌드한 건줄 알고... swift 파일 어딨지? 하고 있었다. 아.. swift가 아니니까 swift파일이 없는 거구나..... h 랑 m 아이콘이 엄청 많다. 와... 그럼 일단... 왜 해야하는 지 바로 느껴졌다. 오늘은 소들이 님의 블로그를 가지고 공부를 했다. objc를 공부해야하는 이유 장점 회사코드 리팩토링이 가능 기능검색시 굉장히 많은 비중으로 objc가 나온다 ios 언어의 왕이 될 수 있다. 단점 어렵고 지저분 처음볼 때 난해하다 깊게 공부하지는 않아도 이해할 수 있을 정도 수준으로 공부하기 프로젝트 생성 ➖ 생성시 language 선택 .. 2022. 4. 21.
ios 소켓통신에 대하여 0. 서론 오늘 몇시간을 소켓통신에 대하여 조사를 했는데 생각보다 많은 자료를 찾지는 못했다. 한번 다시 정리해야할 자료이므로 참고 부탁드립니다. 한번 쭉 읽어보셔도 좋을 거에요 1. 선행지식 📌 📌 2. 개념 소켓이란 정규 유닉스 파일 기술자를 이용하여 다른 프로그램과 정보를 교환하는 방법 용어 설명 유닉스는 운영체제 중 하나입니다. 유닉스에서는 모든 것이 파일로 존재하게 됩니다. 그리고 소켓도 유닉스에서 파일 로 취급받습니다. 모든 유닉스 프로그램은 파일 기술자(File Descriptor) 라는 것을 통해서 입출력(read, write)을 실행합니다. 파일 기술자는 열린 파일을 의미하는 인덱스 번호입니다. 비슷한 맥락으로 **소켓 기술자(Socket Descriptor)**는 소켓을 만들고 얻은 파.. 2022. 4. 20.
WKWebView에서 보내는 JS를 캐치하는 방법 웹에서 보내는 javascript를 캐치하려면 미리 등록을 해야한다. 이때 javascript를 보낼때 message에 javascript를 보내고 body값을 함께 NSDictionary (JSON) 형태로 보내주면 그걸 파싱해서 받을 수 있다. // MARK: - WKScriptMessageHandler extension MainViewController: WKScriptMessageHandler { /// message name: javascript 명 /// 이렇게 사용하려면 javascript 명을 미리 등록을 해야한다. func userContentController(_ userContentController: WKUserContentController, didReceive message: W.. 2022. 4. 15.
WKWebView 기본메서드 와 Delegate메서드 [WKUIDelegate,WKUIDelegate] WKWebView에서 자주 사용하는 기본메서드 load( _: ) HTML 파일을 읽어들일 때 사용. 쉽게 말해 웹페이지를 로드한다고 생각을 하시면 될 거 같습니다. 비동기 메서드라 동시에 다른 로직을 처리할 수 있어 앱이 자연스럽게 진행이 되어가는 장점이 있습니다. func load(_ request: URLRequest) -> WKNavigation? loadHTMLString(_:baseURL:) 말 그대로 HTMLString을 읽어오는 메서드로 직접 웹페이지를 로드해서 웹페이지로 이동을 하거나 개발자가 만든 URL로 이동하게 함 첫 번째불러올 웹페이지 url을 읽어오는 것입니다. 두 번째relative URL을 해결할 때 사용되는 기본 URL func loadHTMLString(_ string: .. 2022. 4. 14.