タグ

ブックマーク / qiita.com/yimajo (27)

  • あなたが勉強会を開く際に覚えておきたい10のTips - Qiita

    「発表方式のIT系勉強会」や「もくもく会」を開催する際にどうやったら上手く行くんだろう、という疑問を持つあなたのために、勉強会を開催する際のTipsをまとめてみましたよ。 発表方式のIT系勉強会を開催する際のTips 「雨で遅れている方がいらっしゃるようなので開始時間を遅らせましょう」は 良くない 気持ちはわかりますよ。人が来ないと意味がないですもんね。 しかし、早く出発してちゃんと到着している人たちの気分はどうでしょう?「こんなことならゆっくり来ればよかった」「雨の中走ったあれは何だったんだろう」「どれくらい時間を遅らせるんだろう。帰る時間が遅くなるんじゃないか」「まだこれから待たないといけないのかよ」とかそういうこと思ったりしないでしょうかね。 急に雨が降ってきたならまた状況が違うかもしれませんが、しかし、 雨が降っていて時間通りに目的地に行くためには、早く出発しないといけない という

    あなたが勉強会を開く際に覚えておきたい10のTips - Qiita
  • macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita

    macOSをHigh Sierraにアップデートしたら、cURLのバージョンが7.54.0になっており、さらにHTTP/2の利用ができるようになっていました。 iOS10からはAPNs Provider APIを利用したPUSH通知が受け取れていたため、pemファイルさえあればローカルのmacOSからiPhone実機へ向けたPUSH通知を送れます。 念のため、curlコマンドからnghttp2込みでビルドされているのを確認するのは-Vです。 $ curl -V curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps p

    macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita
  • iOSのBackground Transferがよくわからない人用に整理した - Qiita

    はじめに アプリで大きなサイズの動画や画像をアップロードしようとする時、ユーザを待たせないためにアプリが動作していないときでもアップロードできるようにしたいという要望が必ず上がる。そういうとき、NSURLSessionによるBackground Transferを使ってアプリが動作していないときでもコンテンツをアップロードする方法について行き着くと思うが、何から調べたら良いのかということや、iOS4からあるバックグラウンド要求について、Background fetchなどと紛らわしいという事があったのでそれを整理しておく。結局、実装は出来て動くもののリファレンスを読んだり実行してもよくわからないとこもあるので知ってる人はコメントに書き込んでもらえると助かります。 言いたいことを3行にすると バックグラウンドの定義を明らかにしておく AFNetworking, Alamofireなどの通信ラ

    iOSのBackground Transferがよくわからない人用に整理した - Qiita
  • なめらかに動作するアプリのColor Blended Layersを確認する - Qiita

    各社のアプリの状況 facebook instagram pinterest tumblr wantedly 念のため 各社UILabelの背景色は透過にしていない 最初からなめらかに動作していたわけではなく、改善していったモノが多い 手順 Xcodeツールバーの[Profile]から[CoreAnimation]を選びInstrumentsを起動、Debug Optionsから Color Blended Layersのチェックをオンにすると確認できる。

    なめらかに動作するアプリのColor Blended Layersを確認する - Qiita
  • nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita

    プログラミング言語でnullは基的には値がないことや変数が初期化されていないということを表す。 Objective-Cではnilはポインタが何も実体を指していないことを表現し、変数がnilのときオブジェクトを持っていない状態となる。 ただ、NSDictionaryやNSArrayはnilを格納することが出来ず、 空を格納していることを表現するためにNSNullを使う。 nilとNSNullの大きな違いとして、値がnilである変数に対してメッセージを送った場合はnilを返す。nilは(id)0として定義されている。これに対し、オブジェクトがNSNullの場合、NSNullオブジェクトに存在しないメッセージを送るとNSInvalidArgument Exceptionの例外を投げ、これをキャッチしなかった場合はクラッシュしてしまう。 nilへのメッセージの戻り値は次のコードで実験できる。 v

    nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita
  • iOS8からUITouchにタッチ半径を測定するプロパティがある - Qiita

    UITouchクラスのヘッダーを見てたらiOS8からmajorRadiusというプロパティが増えていた。 // majorRadius and majorRadiusTolerance are in points // The majorRadius will be accurate +/- the majorRadiusTolerance @property(nonatomic,readonly) CGFloat majorRadius NS_AVAILABLE_IOS(8_0); @property(nonatomic,readonly) CGFloat majorRadiusTolerance NS_AVAILABLE_IOS(8_0); 雑に説明すると、タッチしたときの指の半径を返してくれる。 実際にiPad mini Ratina 2013で試した感じでは下記のような測定値になる

    iOS8からUITouchにタッチ半径を測定するプロパティがある - Qiita
  • 2015年に向けての行儀の良いObjective-Cの書き方 - Qiita

    2014年終盤、もしかしたら皆さんはObjective-Cなんて使わずにSwiftでアプリ開発をしているかもしれませんが、自分が利用しているコーディング時のガイドになるスタイルガイドを公開したいと思います。 新しくプロジェクトが始まった際など何かしらの議論のベースとなれば幸いです。 前提 あくまでスタイルガイドであってルールじゃない もしガイド通りでなくてもレビュー時に指摘するほどではない 複数ある方法を選ぶ際の参考にすればいい MUSTな項目はなくレビュー時に気づいたら気づいた誰かが直せばいい 項目それぞれに理由があるが、その理由が当てはまらなければ当然他の方法が適している 開発メンバーによってそれぞれ合う合わないがあるのは当然 プロジェクトによってガイドの内容は調整されてもいい スタイルガイドは言語仕様や開発環境の気付きになる場合が多く、それも目的としている Blocksを引数にとるメ

    2015年に向けての行儀の良いObjective-Cの書き方 - Qiita
  • Auto LayoutとSize Classesで謎の-16ptの記事を読んでもわからない人向けの説明 - Qiita

    前振り Auto LayoutとSize Classesを有効にしたStoryboardにて、画面いっぱいのUIImageViewを作ろうとした際、UIViewControllerのviewにaddしているUIImageViewの制約を設定しようとすると左右-16ptがデフォルトで設定されてしまいました。 この-16ptを素直に設定しても見た目がおかしくなるわけではないし、0ptにする方法もあるんだけどなぜデフォルトで-16ptが必要なのかを調べたメモです。 謎の16ptについて説明されている記事 この文章で説明することは、下記のページで説明されているのでそれらを読んで分かるなら問題ないと思います。 SizeClassesとXcode6でのAutoLayoutの謎マージン http://qiita.com/uskiita/items/c643f5868f60b496911e What is

    Auto LayoutとSize Classesで謎の-16ptの記事を読んでもわからない人向けの説明 - Qiita
  • Auto LayoutでViewを等間隔に並べる記事読んでもわからない人向けの説明 - Qiita

    前置き 最近Auto Layoutの記事をよく目にする事が多いのですが、Viewを等間隔に並べる記事はすんなりと理解できなかったため、自分がサンプルコードを動かしたりして理解していった内容を書いてみます。 きっかけになった記事:「実践 Auto Layout」 http://blog.jarinosuke.com/entry/auto-layout-best-practice サンプルが超絶参考になった:「Cocoaの日々 - Autolayoutでビューを等間隔に並べる」 http://cocoadays.blogspot.jp/2014/01/autolayout_7.html 公式リファレンスにもある(英語) https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Autolayo

    Auto LayoutでViewを等間隔に並べる記事読んでもわからない人向けの説明 - Qiita
  • iOSアプリ開発の現場で訊いてみた!ユビレジ編 - Qiita

    自分が他社のiOSアプリ開発者と話す時にいつも同じことを聞いていたのでそれをQiitaにまとめていましたが、実際に他社の開発の現場でインタビューをしてくるというシリーズになりました。 記念すべき1社目はユビレジ社! ユビレジとはなにか 私の分かる範囲でユビレジというものについてすごく平たく説明すると、iPadを利用したお店のレジとそれを管理するウェブ上のシステムみたいな感じだと思います。そもそもお店のレジスターっていうものは単純な売上の計算のためだけのものと、商品や顧客情報をひもづけるPOSレジ(POSはPoint of sale)と呼ばれるものがあって、このPOSレジをiPadとウェブで実現するぜ!ということでしょう。 訊いてきたこと ユビレジ社ではiOSアプリ開発をしている人で知らない人はいないという@kishikawakatsumiさんと、インターネットで有名な@laisoさんを中心

    iOSアプリ開発の現場で訊いてみた!ユビレジ編 - Qiita
  • UIViewControllerからUICollectionViewのDataSourceを分離し肥大化を防ぐ具体例 - Qiita

    ごめんなさい。この記事のように分離しても、CollectionViewを扱う複雑さは解消できないと思うようになり、最近はこのような分離する方法はとらなくなりました。分離しても最初だけスリムで結局肥大化してしまうので何も解消してはないというのが最近の気持ちです。 最近の気持ちは下記のスライドにまとめました。 記事: UICollectionViewDataSourceはViewControllerと別にして実装しないほうが良いと最近思う https://speakerdeck.com/yimajo/uicollectionviewdatasourcehaviewcontrollertobie-nisiteshi-zhuang-sinaihougaliang-itozui-jin-si-u とりあえず ↓の記事はそのままにしています なぜUIViewControllerからDataSource

    UIViewControllerからUICollectionViewのDataSourceを分離し肥大化を防ぐ具体例 - Qiita
  • NSNotificationの通知を受け取れるパターンと受け取れないパターンについて - Qiita

    NSNotificationでaddObserverする際に、通知の送り手を指定できるのに指定しても動作しなかったのでメモ。 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method:) name:@"notif" object:nil]; //誰が送ってこようが気にしない [[NSNotificationCenter defaultCenter] postNotificationName:@"notif" object:nil]; //誰が送ってるかを指定しない [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method:) name:@"notif" object:self]; //

    NSNotificationの通知を受け取れるパターンと受け取れないパターンについて - Qiita
  • WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方の解説 - Qiita

    このドキュメントはSwift1.0以前のベータ版時に書かれたものです。現状のSwift仕様とは大きく乖離している可能性があります はじめに 久しぶりに訪れた梅雨晴れの朝に油断をして、傘を持たずに外に出てしまった人は多かったのではないでしょうか。梅雨明けはまだまだずっと先で、夏が待ち遠しい。というかずっと春であって欲しいyimajoです(ちなみに上の写真は私ではありません)。 今週もWantedly社で開催された第2回Swift 勉強会 - LT会に参加し、「WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方の解説」というタイトルでLTしてきたのでその内容を公開しておきます。 発表資料は「WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方」はSlideShareにア

    WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方の解説 - Qiita
  • iOS/Androidアプリ開発をしたことがある人がUnity 2Dでスマホゲームアプリを作り始める際に知っておくべきこと - Qiita

    iOS/Androidアプリ開発をしたことがある人がUnity 2Dでスマホゲームアプリを作り始める際に知っておくべきことiOSUnity 概要 この文章はiOS/Androidアプリ開発をしたことがある人がUnityを使って2Dゲームアプリを作り始める時に知っておくべきことを書いておきます。 Unityのバージョンは4.3.4です。 学習する順序 学習する順序は段階的に次のような順序が効率的だと思います 2Dゲームチュートリアル ボタンなどゲームGUIの作り方 iOS/Androidでの実機確認 広告やGoogleAnalyticsなどの導入 GameCenterの利用方法 リリース方法 Unityのダウンロードとユーザー登録 ダウンロード Unityのダウンロードページ http://japan.unity3d.com/unity/download/ Mac OSX ならUnity-

    iOS/Androidアプリ開発をしたことがある人がUnity 2Dでスマホゲームアプリを作り始める際に知っておくべきこと - Qiita
  • iOSアプリ開発のためにSwiftでクロージャを実用的に使う方法 - Qiita

    iOSアプリを作る場合、blocksを使い非同期処理後にViewControllerなどでその処理の実行内容から任意の処理を実行する場合があった。Swiftではクロージャ(closures)を使い同じような処理を行うための実用的な方法を書いておく。 シンプルなクロージャの記述 まずクロージャの記述 override func viewDidLoad() { //クロージャ let example = { println("exampleじゃけん"); } request(example) request({ println("そのまま渡すこともできるけえの") }) } //クロージャを引数として渡したいメソッド func request(completion: () -> ()) { //渡されたクロージャを実行する completion() //しかしこれはクロージャcompletio

    iOSアプリ開発のためにSwiftでクロージャを実用的に使う方法 - Qiita
  • Swiftで名前空間を利用する - Qiita

    <この記事は自社のブログにも転載しました> 2014.6.5に第1回 Swift 勉強会 - ファーストインプレッションを語る会がWantedly社が開催されたので参加し、「Swiftは名前空間あるって言ったのに公開されてるドキュメントに書かれてないのどういうことなの」的な相談をしてきました。たしか結論は出なかったのですが、さっき寝てたら思いついたのでそのメモを残しておきます。 (もしご意見などがある場合、白昼夢のなかでビルドしたみたいな体でコメントを書いていただけるとAppleとのNDA的にセーフっぽい香りがするのではないかと思います) 名前空間の定義 ちなみにここでの名前空間の定義はWikipedia - 名前空間から ソースコード上で冗長な命名規則を用いなくても名前の衝突が起こらないようにし、しかもそれを容易に記述できるようにするためだけの概念 とします。 名前空間の利用法 まず公開

    Swiftで名前空間を利用する - Qiita
  • OHHTTPStubsを使ったiOSアプリ開発の進め方 - Qiita

    概要 スタートアップiOS勉強会 #3 http://www.zusaar.com/event/4557003 自分もこれで話す内容についてずっと考えていて、laisoさんのスタートアップの人材戦略とは何かを読むと先にLTの内容を公開していたのでこちらも公開することにした。 10分以下のLTだと細かいことは多分話せないので、先におおまかに公開し実際のLTでは自分の特に話したいことを集中して話すようになるのではないかと思う(もしくはジョブズが成仏した話みたいに当日思いつきでぜんぜん違うことを言うかもしれないし、もしくは近所にガールズバーができたから行ってみたらビール一杯3080円だった話になるかもしれない)。 スタートアップに関する話について 経験上、iOSアプリ開発ではWebアプリ開発のようにいきなり大人数で開発を進めることがないので、iOSアプリ開発での技術的ノウハウやあるあるネタはスタ

    OHHTTPStubsを使ったiOSアプリ開発の進め方 - Qiita
  • cocoapodsを導入したプロジェクトでアーキテクチャ周りのビルドエラーになる時 - Qiita

    Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'armv7s' didn't contain all required architectures 'armv7 armv7s arm64' cocoapodsを使う場合Xcodeはワークスペースを使うが、実際のプロジェクトは'armv7 armv7s arm64'でビルドされるべきなのに、cocoapodsのプロジェクトは'armv7s'しかビルドしていなかったために発生していた様子。 Stackoverflowで同じような症状と解決策を探してみると、podsのプロジェクトの"Build Active Architecture Only"をYESからNOにすべしとあった CocoaPods arm64 issue h

    cocoapodsを導入したプロジェクトでアーキテクチャ周りのビルドエラーになる時 - Qiita
  • 広告表示がないアプリでGoogle Analytics for iOSを組み込んでいるとリジェクトされる問題 - Qiita

    今年2月に入ってからAdSupport.frameworkのASIdentifierManagerクラスにあるadvertisingIdentifierメソッドを使ったアプリがリジェクトされているという投稿が目立っていました。 参考: ASIdentifierManager の advertisingIdentifier を使っているとリジェクトされる問題 http://qiita.com/monry/items/b473e3db7e48f05be96b (上記では主にUnityが吐き出すコードを変更して対応) 解決法 Google Analyticsのライブラリを最新のv3.03aに置き換えることでAdSupport.frameworkをリンクしなくてもビルドできるようになります。 Downloads - iOS SDK https://developers.google.com/ana

    広告表示がないアプリでGoogle Analytics for iOSを組み込んでいるとリジェクトされる問題 - Qiita
  • やはりお前らのiOS7対応は間違っている(解説編) - Qiita

    クックパッドさんが月イチで行っている第3回potatotips(ポテトチップス)というTips共有会がYahoo!Japanさんで開かれたので参加させてもらい、『やはりお前らのiOS7対応は間違っている』という刺激的&挑戦的なタイトルで発表させてもらいました。 発表時には時間もなかったせいかツッコミがなかったのですが、おそらく公開したらツッコミがあると思うのでいくつかの補足を付けて公開します(発表時の資料はSlideShareに上げてますが、Qiitaのほうが編集リクエストもあるし直しやすいかと思います)。 何を間違っているか 最近、iOS7でUINavigationBarにself.viewが潜り込むという話をよく目にすると思います。この対応方法として「edgesForExtededLayoutプロパティをUIRectEdgeNoneとする(StoryboardではUnder Top B

    やはりお前らのiOS7対応は間違っている(解説編) - Qiita