インターン先でSwiftの言語仕様について学ぶ機会があり、その中でリテラルについて学んだので少し理解を深掘りたいと思っています。 リテラルについて まず、この記事を書くにあたり、リテラルについて調べてみる事にしました。 リテラルは、シンタックスシ…
XcodeGen Xcodeでチーム開発をすると、*.xcodeprojでコンフリクトが度々起こりコンフリクトを修正する機会が多くあります。 iOS開発者なら、誰しもが歩ん道だと思います。 *.xcodeprojは、ソースファイルの管理を行なっておりファイルの追加や削除をするとこ…
Functorとは 構造内の値に関数を適用できるものである。 しかし、これだけを聞いてもわかりづらい。 この記事では、HaskellのFunctorを参考にSwiftのOptionalを用いてFunctorを理解していきたい。 HaskellのFunctor class Functor f where fmap:: (a-> b) ->…
中国のデザインの複雑さについて 1. 漢字 中国のサービスは、情報が高密度に置かれている。これは、漢字自体がアルファベットのように、小文字、大文字、そして、他のFontとの切り替えに向かない文字である特性がある。どれだけ、UIをシンプルにおいても漢字…
アリババ 中国に最近とても関心があります。 そこで、アリババと言う本を目にしこれを読んでみる事にしました。 第1章 陰と陽のビジネスモデル 「天猫」と「タオバオ」は、アリババが手掛けるeコマース事業 天猫は大手ブランド向け、タオバオは小規模なブラ…
これまで、Swiftをメインに書いてきましたが、最近golangを触る機会がありました。 Swiftでは考える機会がなかった ポインタ とメモリ についてまとめていきます。 初心者の方にわかりやすく伝わればいいなと思っています。 ポインタって? まず、ポインタと…
UIViewRepresentable SwiftUIの中で、UIKitのViewを使用したい時に継承します。 makeUIView(context:) updateUIView(_:context:) この2つの関数を呼ぶことで、Viewの実装を完結することができます。 makeUIView(context:)は、viewの初期化 updateUIView(_:co…
ここ最近忙しく、更新をしていませんでしたが約1年間インターンをしていた、Popshootを2月18日にやめました。 4月からは、大学生活を送っています。 最近いろいろな人にプログラミングの勉強方法を聞かれることが多いです。 僕の経験は、エンジニアを始めた…
Peoplyticsの奥西さんを迎えて、Volare と Tech Train でプロダクトマネジメントについての勉強会を開かせていただきました。 そこで、勉強会の内容をシェアしていきたいと思います。 将来、PMになりたいけどPMってどんな仕事? エンジニアのキャリアってど…
最近、サーバーサイドを実装してみたいという気持ちからHerokuにデプロイして個人でサーバーを書こうと思いました。 しかし、ginというライブラリがネックで ' git push heroku master ' エラーが出ていました。 ' router/router.go:4:2: cannot find packag…
masterから生やしたいのに間違ったブランチから草を生やしてしまった。 git rebase --onto maser 派生元branch名 現在のbranch名
これまで、FirebaseのDeepLinkを使っていましたが新たに、AppsFlyerのDeepLinkを利用することになりました。 私は、今回が初めてのDeepLinkの実装であったためそこで詰まった点についてまとめておきたいと思います。 これから、FireabaseやAppsFlyerでDeepLi…
SignalとDriverについて RxSwiftのSignalを調べてみると、 Signal は、replayを行わない。 Driver は、 replay を行う。 という解説を見かけました。 でも、replayってなんやろ?って思ったので、そこを踏まえて Signalと Driver の違いについて解説をしてい…
Kingfisherとは? URLから画像を取得する方法として、KingfisherというLibraryがあります。 画像を丸くする func roundImage() -> UIImage { let minLength: CGFloat = min(self.size.width, self.size.height) let rectangleSize: CGSize = CGSize(width: m…
現在、firebaseのstorageを使ってProfile画像を作っています。 主な使い方は、Firebaseのドキュメントを使って知ることができます。 Cloud Storage | Firebase はじめに CocoaPodsでFirebase/Storageをインストールします。 use_frameworks! pod "Firebase" …
iOSを初めて、半年がたち自分の力を試してみたいと思い、インターンをしていたPopshootという会社からサイバーエージェントでインターンをしました。 インターンでは、Carteというアプリの新機能の実装を行いました。 Carteは、順天堂大学の教授と開発を行な…
今回、carthage bootstrapをしているとエラーが起こっていたのでそれについて解説します。 API rate limit exceeded for 202.214.112.129というエラーです。 XCodeのvaersionが上がり、Carthage周りでエラーが出てたのでBootstrapをすることにしました。 し…
//packageは、SwiftでいうClassに近いものかと理解しています。他のfileで関数を呼ぶときは、このpacage名を使う必要があります。 package main //importは、libraryに近いです。今回のliberaryはGoが用意しているlibraryらしいです。 import ( //fmtは、pli…
エラーが出た経緯 iOSのversionが12.0になったので、updateすると自分の実機でdebugできなくなったのでxcodeのversionもあげました。 そしたら、Carthageあたりでめっちゃエラー出ました。 エラー Module compiled with Swift 5.1.3 cannot be imported by t…
どこに、流動性があるのかを見つける->Lipsでは、SNSとして使われているのではなくECサイトとして作られている サービス開始時 一気にユーザーを増やすと、ノイズになって検証がしにくい 熱狂的なファンがとごに刺さってるかを見つける 有名人がいると、投稿…
今回、Appの登録のためにアーカイブを行い、Appstoreに登録を行おうと思いました。 しかし、ITMS-90037 The Info.plist file is missing or could not be parsed while app store submittionというエラーがおこりました。今回は、この解決策を書いていきたい…
この記事では、Swiftにおける依存性の注入についてをまとめていきます。 Dependency Injection Dependency Injectionを直訳されたのが依存性の注入です。 正直、依存性の注入と言われてもさっぱり意味がわかりません。 そこで、調べて見ることにしました。 D…
今回、QRCoderという名前でQRコードを読み取るかつ生成するという簡単なクラスを作ってみました。 主に、使ったLibraryはRxSwiftと SwinJectです。 Protocolの作成 まずは、コードから protocol QRCoderDelegate { func qrCoder(_ qrCoder: QRCoder, didDete…
KVO 今回は、 KVOについて興味を持ったので調べてみることにした。 KVOは、RxSwiftを有効活用できる処理の一つです。 KVOとは、Key-value-Observingの略で、プロパティの値の変化を通知してくれる仕組みのこと。 Swiftで、KVOを行なった場合 private var obs…
多くの企業が広告に結構依存している 広告の歴史 知識がないと知識のある人が世界を作ってしまう。ー>一般市民にも知恵を与える フランス革命の時に、新聞に広告掲載されるようになった。 広告費は、ユーザーが支払うのではなく企業がお金を支払うようにな…
Rxswiftまとめ Rxswiftには、swiftを勉強していてもなかなか出てこないメソッドが多くあります。 そこで、自分が読んだ記事を参考にまとめることにします。 Observable ObserVableは、イベントの監視を可能とするメソッド。observableを表している。 これら…
理解が少しあやふやだった、.map、クロージャ、optinalについて詳しく書いた記事があったため少しまとめてみた。 https://qiita.com/koher/items/c6f446bad54442a28bf4 optional(1) Optionalやobservableは、一つの箱として考える。intやstringも一つの箱…
デリゲートは、他のクラスに処理を委譲したる、通知する仕組み ①処理を依頼するクラス textFieldShouldReturnは、UITextFieldDelegateプロコトルに定義されている。 だから、UIViewControllerで宣言する必要がある。 プロコトル:言語の橋渡し的な役割を持つ…