제2회 실천 iOS 응용 개발 모듈 프로그램 설계회 총결산
2018.5.12(토요일)에 iOS 어플리케이션을 개발하는 프로그램 설계회를 열고 그 보고서를 쓰고 싶습니다.
이 글은 다음 세 번째 개최 때 참석 여부를 망설이는 사람들이 이 기사를 읽게 될 것이라고 구상했다.아니면 모부 프로그래밍을 하고 싶은 분들을 위해 참고를 열심히 하겠습니다.
이번 회의장도 표참도의 산산주식회사의 13F 공간을 빌려 썼다.토요일 정오부터 고마워요.
이번 행인 프로그래밍회의 주제.
Swift이벤트 검색 API에 검색 이벤트와 책갈피 애플리케이션을 제작해 사용했다async/await
.이번 주제야.
왜async/await
일까? 크리스 라트너가 스위프트 에볼루션 프로포 원숭이초안에 스위프트async/await
에 대한 내용을 썼기 때문인데, 한번 써볼래요, 먼저 꺼내볼래요.
물론 현재 스위프트async/await
는 바로 사용할 수 없기 때문에 async/await
사용할 수 있는 경량 프로미스의 프로그램 라이브러리Hydra를 사용하기로 했다.
참가 인원수
참가 인원은 다음과 같다.
응모
당선되다
이날 실제 참가한 인원수(참가율 100%의 일시 취소 0...)
다만, 추첨 방식을 적용해 참가를 확정하기까지 시간이 많이 걸려 죄송하다.운전기사가 될 수 있는 사람이라면 선착순으로 신청하고 바로 참가를 결정하면 계획을 세우기 쉬울 텐데 앞으로 개선할 수 있으면 좋겠다.
돌아보다
해보니까 알겠다.
conpass의 API만 사용하고 비동기는 통신에만 한정되며 사용할 수 없음async/await
때문에 ATND의 API를 호출하여 결과를 요약하기로 결정했습니다.이것만으로는 부족하기 때문에, 각 이벤트의 API 응답에 있는 이벤트 페이지의 URL을 HTML 캐시 제목으로 긴급히 추가했습니다.
제목을 요약해 주세요.
그렇습니다.
URL에서 HTML을 가져와 캐시하는 것은 좀 번거롭습니다.
우선 Hydra는 all 함수가 있어conceurrency로 병렬 처리된 max를 결정할 수 있지만, 지금 코드를 다시 보면 아래의 느낌입니다.
async { _ in
/* 省略 */
let promises = events.map(getHtml) // イベントのURLからHTMLを取得する[Promise <(html: String, url: String)>]
let htmlTexts = try await(all(promises, concurrency: 4))
htmlTexts.forEach { (html, url) in
self.cache.setObject(html as NSString, forKey: url as NSString)
}
}.catch { /*省略*/ }
이 코드는 최대 4개의 'URL에서 HTML 처리' 를 가지고 있지만, 고속 캐시화는 처리가 끝난 모든 것을 집중적으로 하는 것이다.이 방법과 다른 처리 방법을 조정하는 방안으로'URL에서 HTML을 얻는 처리'를
concurrency: 4
로 설정하는 것이 아니라 concurrency: 4
에서'URL에서 HTML을 얻은 후에 저장하는 처리'를 하는 것이 좋다(코드를 쓰는 과정에서 그럴 수 있다).그렇다면 동작이 정확해도 조정되는 부분이 있을 것 같아서async/await
코드 리뷰에서 어느 정도 볼 수 있는지에 초점이 맞춰질 것 같아요.즉
async/await
스위프트의 언어규범에 들어가면 처음부터 제대로 이뤄지기 어렵다는 것이다.처리량이 많아진 상황에서 효율을 직관적으로 추구하고 효율이 있는지 확인해야 한다.시작 시간과 오프닝 시간.
나는 시작 시간 설정에서 오프닝 시간을 설정한 것은 실패한 것이라고 생각한다.
connepass에서 행사 시작 시간을 설정할 수 있지만 기본적으로 회의장에 입장하는 시간은 반드시 존재해야 합니다. 만약에 그 시간을 connepass의 시작 시간으로 설정한다면 회의장에 도착하기 위해 노력하는 사람과행사 내용에 적힌 시간표에 따라 실제 시작 시간에 오는 사람으로 나뉜다.
기본적으로 시간표를 검사하는 시간을 억지로 하는 습관이 있기 때문에 connepass 시작 시간을 오프닝 시간으로 설정하면 지각해도 괜찮다고 생각합니다.
따라서 시작 시간은 정말 시작 시간으로 설정하고 행사 내용의 시간표에 회의장에 들어갈 시간을 적는 것이 좋다.
미팅은 코드를 보면서 진행을 합니다.
다행히 이번 스폰서 산산주식회사는 회의장뿐만 아니라 저녁과 음료도 제공한다.덕분에 회의장에서 소스를 띄우고 식사하면서 의견을 교환하는 미팅도 할 수 있게 됐다.
지난번에 밖에 나가서 술을 너무 많이 먹어서 코드 얘기는 별로 안 했으니까 이번에는 주제를 파헤치면서 미팅을 할 수 있게 됐다.
자기소개를 바로 하지는 않지만, 안 하면 자기소개를 잊어버려요.
시작할 때는 자기소개를 하지 말고 미팅에서 자기소개를 하는 게 좋은데, 미팅 시작할 때는 음식이 한데 놓여 있어서 자기소개를 잊어버렸어요.더 좋은 시기가 있을지 모색 중이다.
기사가 코드를 쓰기 전에 자기소개를 할 수 있다면 심리적으로 안심할 수 있을지도 모른다.
자기소개는 생각하기 힘들어요.
자기소개를 잘하는 사람은 드물지 않을까 생각했어요.내 소개가 무엇인지 도무지 짐작이 가지 않았고, 손으로 더듬어 생각한 일이라 두서가 없었다.그래서 내가 미리 알고 있는 사람이라면 그 사람을 다시 설명하는 게 좋을 것 같아.예를 들어'이 사람은 팟캐스트다'같은 말이 있으면 본인 입에서 계기를 듣고 싶어진다.이처럼 호기심이 샘솟는 자기소개를 위해서는 먼저 생각해보는 것이 좋을 것 같다.
총결산
오토바이 프로그래밍은 발표할 학습회가 아니기 때문에 사전에 자료를 만들지 않아도 원가가 낮은 것이 좋다.도서관 등을 더듬어 사용하다가 주위 사람들이 문서를 읽고 더듬어 건의를 하기 때문에 의외로 방법이 있을 수 있다.더 나아가 그때의 방법은 좋지 않았지만, 작업 중에 더 잘 설계할 수 있다면 전혀 문제없을 것이다.
다음에 더 좋은 주제는요.
Reference
이 문제에 관하여(제2회 실천 iOS 응용 개발 모듈 프로그램 설계회 총결산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yimajo/items/e57e866a4d357962a01a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)