サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
qiita.com/itosho
本記事は CakePHP Advent Calendar 2019 の19日目のエントリーになります。 はじめに 先日、待ちに待ったCakePHP4.0.0が 正式リリース されましたね そして、気が早いのですが4.0系がリリースされたということは、次の大きなアップデートは4.1系のリリースということになります。(本当に気が早くてごめんなさい) そんなこともあり早速 4.1のロードマップ をチラ見してみたのですが Application の欄に以下のような記述があり、何やら面白そうな変化が起きそうだなと感じました。 Experimental support for PSR11 compliant dependency injection container. Potential libraries that we could use are: phpleague/container - h
はじめに 本記事はコネヒト Advent Calendar 2017の21日目のエントリーになります。 こんにちは!本日は @itosho のターンです。2回目の登場でございます。本当はアイドルか野球の話をしたいのですが、今日はAPIドキュメントの話をさせていただきます。 TL;DR コネヒトではAPIドキュメントをGithubで管理してる! でも場合によってはAPIDOCが便利そう! 試してみた!よさげ! https://github.com/itosho/fake-idol-api 目的に応じてツールを選んでいこう! コネヒトでのAPIドキュメントの運用方法 現在、コネヒトではAPIドキュメントをGithubで管理しています。 具体的にはAPI Docs用のリポジトリを作成し… MarkdownでAPIの仕様を定義 それをPull Request形式で仕様レビュー 一定数のLGTMをも
計測方法: 3 という結果になり、PHPがRubyに比べて1.27倍長くなっていました。 というわけで、こちらのルールは5行ではなく6行を閾値にしてみたいと思います。 ルール3. メソッドの引数は4つ以下 このルールはルール2.が徹底出来ていれば、ある程度自然に守ることが出来るかもしれませんが、引数が多いメソッドは用途がはっきりしないことが多いです。 また、引数がたくさんあるのに、実は呼び出し時に指定不要な引数があることも多く、そういうメソッドを使うと、往々にして密結合になるので、このルールを守るメリットはPHPでも当然享受出来ます。 併せて、ハッシュ(連想配列)によるオプションも引数としてカウントするとルールには明記されているので、大量のオプションを設定出来る配列の引数も撲滅することが出来そうです。 尚、4という閾値については『インタフェースデザインの心理学――ウェブやアプリに新たな視点
What's this? Wantedlyさんの Jupyterで触れながら学ぶ機械学習速習会@Wantedly という勉強会に参加するにあたりJupyterの環境をつくってみました。 ちなみにMacはOS X El Capitan(10.11.6)です。 STEP1: Pythonインストール brewなりで適当にPythonの2系をインストールしておいてください。 STEP2: scikit-learnインストール 機械学習ライブラリ?であるscikit-learnをインストールします。 事前にいくつかパッケージをインストール。
What's this? 個人で運営している PRESENT4229 というサイトのSSL証明書の期限が切れたので、無料でHTTPS対応出来る Let's Encrypt の証明書に変えてみました。 この記事はその作業の備忘録です。 結論から言うと、めっちゃ簡単に出来ました。置き換えだけなら数分で終わると思います。 前提 経緯 PRESENT4229というサイトはうるう日(2月29日)限定のサイトなので、正直サービス稼働していないうるう日以外はHTTPS対応しなくてもまぁいいんだけど、このご時世常時SSL化したほうがいいかなと思いつつ、稼働していないのにコストかけるのもなと思い、そう言えば、Let's Encryptが去年から正式に使えるようになっていたことを思い出し、光の速さでやってみたのであります。 なお、Let's Encryptの説明については割愛させていただきます。 環境 環境は
はじめに 本記事はSupership株式会社 Advent Calendar 2016の19日目のエントリーになります。 おはようございます。こんにちは。こんばんは。Supership株式会社の @itosho と申します。 平日は主にサーバーサイドエンジニアとして、自社サービスである「nanapi」や「Poptalk」の開発を頑張っています。ちなみに、休日は主にオタクとして、アイドルの応援を頑張っています。 go2slackとは? いきなりですが、皆さんはSlack純正のGithub連携が使い辛いと思ったことはありませんか?僕はあります。 具体的に何が辛いかと言うと… メンションやハイライトが効かない そもそもGithubとSlackでIDが違う場合はメンション出来ない あたりです。 そして、それを解決するのが本日ご紹介する go2slack (僕が社内で勝手に呼んでいる)です。 ※この
はじめに PHPerの皆様、おはようございます。こんにちは。こんばんは。 本記事はPHP Advent Calendar 2016の12日目のエントリです。 個人的にはQiitaでは特定の問題の解決策を書くのが好きなのですが、たまには少し広いトピックで今日は「PHP7で新規サービスつくってみた」的なテーマで書いてみたいと思います。 なので、技術的な深さがないかもしれませんが、一人でも多くPHPerの方がPHP7の導入に重い腰?を上げてもらったり、プライベートでサービスをつくるのって愉しそう!と思ったりしていただければ幸いです。 そして、アレコレ書いてたら凄く長くなってしまった。ごめんなさい。 何をつくったのか 今年の10月にプライベートで「Kocoromo」というAndroidアプリをリリースしました。 KocoromoではバックエンドをPHP7で実装したのでその時やったこと、やらなかった
とりあえず動くPHPが大好きな皆さんこんにちは。 そんなゆるふわなPHPをタイプセーフ(型安全)に書けたらもっと好きになるのになーと思ったことはありませんか?僕はあります。 そんな熱い要望に応えた(と勝手に思っている)PHP7が正式にリリースされて、はや半年以上。 既に試されている方も多いと思いますが、PHPをもっと好きになるためにPHP7の三大新機能を使って、このたび僕もタイプセーフなPHPを書いてみましたので、その結果をまとめさせていただきます。 ちなみに、PHP7の三大新機能とは… スカラー型宣言 int, string, bool がタイプヒンティングに使えるようになった。 戻り値の型宣言 引数と同様に関数の戻り値でも型宣言出来るようになった。 Null合体演算子 三項演算子と isset() 地獄から解放される。 ?? と書く。 のことです。(僕が勝手に呼んでいる) 実験 いろい
ナニコレ 僕が個人で配信しているiOSアプリの広告はiAdを利用しているのですが、iAd App Networkが今月末(2016年6月)に終了することもあり、今後の行方が不透明なので、Google先生のAdMobに置き換えました。 このタイミングで置き換えを検討している方もいるかもしれませんので、手順を残しておきます。 AdMob登録編 何はともあれAdMobに登録しましょう。事前にGoogleアカウントを用意しておいてください。 AdMobアカウント開設 以下のURLからアカウント登録を行ってください。 https://www.google.co.jp/admob/ AdSenseやAdwordsのアカウント登録も一緒に行います。 ここはサクッと出来ると思います。 広告作成 アカウント作成が完了したら、広告を作成します。 AdMobにログインして、以下のURLにアクセスしてください(登
はじめに Advent Calendar童貞を捨てに来ました。 前提 以前"Elixir+PhoenixでGCMのAPIを叩いてPush通知を送る簡単なAPIをつくってみた"という記事で、ElixirでAndroidアプリにPush通知するWebAPIをつくったので、その続きとしてiOSアプリにPush通知するWebAPIをつくってみます。 ですので、環境構築などは前回の記事をご覧いただければと思います。 Apns4exインストール 最初張り切って自前で実装しようとした(無謀)のですが、Apns4exというよさげなライブラリがあったので、そちらを利用させていただきました。 ~mix.exsのdepsとapplicationの箇所にApns4exの設定を追加します。 defp deps do [{:phoenix, "~> 1.0.3"}, {:phoenix_ecto, "~> 1.1"}
はじめに タイトルのままですが、Elixir+PhoenixでGCMサーバーのAPIを叩いてPush通知を送る簡単なWebAPIをつくってみました。 経緯 僕自身は普段CakePHPで開発することが多いのですが、最近はスマホアプリ全盛(あとSPA。今後はIoT?)でMVCなWebアプリを開発する機会が減ってきていて、サーバー側はRestなWebAPIを開発することが多くなってきています。 そうするとCakePHPはフルスタック過ぎるし、もっと高性能なAPIサーバーつくりたいなと思いながらもGolangは乗り遅れちゃったし、Node.jsはたまに使うけど個人的に肌なじみがあまりよくなく、何かイケてる言語ないかなぁと悶々としていたところ、@naoya@githubさんが紹介していたスライドをみて興味を持ちました。 言語的な特徴には触れない(他の方が語っていること以外は語れない)ので、他の方の投
APNs証明書更新手順まとめ APNsの証明書は1年で期限が切れるので、毎年更新作業が発生するのですが、毎回「あれ、どうやるんだっけ?」となるので、まとめておく。 1.期限確認(on your server) まずは証明書の期限を確認。期限チェックは自動化しておくのがよい。 コマンドは以下。 notAfterをみる。はい、切れてますね\(^o^)/オワタ 期限チェックは自動化しておくのがよい(2回目)。 2.cerファイル作成(at Apple Developer) 2-1.Member Centerへログイン 2-2.iOS Apps->Certificatesをクリック ここまでは楽勝だ。 2-3.Certificates->Allから証明書新規作成 右上の+ボタンをクリックする。 2-4.Apple Push Notification service SSL(Produciton)を
RailsというよりRubyビギナーです。 ローカル環境ではWEBrickでもいいかなと思ったのですが、最終的にはそうもいかなくなると思うので、商用でもイケるWebサーバーを使ってみることにしました。 最初はとっつきやすそうなApache+Passengerな環境をつくろうと思ったのですが、全然上手く動かず挫折した(未だに困ってるので助けてください←)ので、勉強がてらGithubでも採用しているらしいNginx+Unicornな環境をMac(Mavericks)につくってみました。いまっぽい。 ですが、こちらもなかなか手こずったので手順をまとめておきます。 unicorn編 まずはgemでインストール。 (本当はbundleでインストールしたほうがいいのかな?)
iOSはよく手順やUIが変わるため、下記の情報は正確でない場合があるので、注意してください! 事前準備 iTunes Connectへアカウント登録しておく。 ①アプリ情報を登録する iTunes Connectから以下の情報を順番に入力していく。 App Information App Name:アプリ名 Default Language:Japanese SKU Number:Bundle IDと同じがベター Bundle ID:Dev Centerで登録したものを選択 Availability Date:リリースしたい日付(後から公開出来るように遅めにしておくのがベター) Price Tier:Freeを選択 Discount for Educational Institutions:チェックなし Custom B2B App:チェックなし Version Information V
APNSとGCMでPush通知を行う際に1回のリクエストで送信出来る端末(リクエストサイズ)数には上限があるのですが、どれぐらいだったかすぐ忘れてしまうので備忘も兼ねて。 (2015年01月18日追記) iOS8以降の情報をキャッチアップ出来ておらず、ペイロードデータの上限が誤っていましたので、修正しましたm(__)m (2016年10月28日追記) iOS9以降の上限について記載しました。 iOS8未満の場合、ペイロードデータの上限は256バイトまで。 iOS8の場合、ペイロードデータの上限は2Kバイトまで。 iOS9以降の場合、ペイロードデータの上限は4Kバイトまで。 1回の通信で全パケットが5000〜7000バイトを超えるとAPNSから切断される?(非公式) パケットの制限はかなり緩いが、速くリクエストしすぎるとエラーになるので、1リクエストあたり10ミリ〜50ミリ秒程度のインターバ
phpDocumentorの書き方ってこれ!っていうベストプラクティスがなくて(ドキュメントとはそういうものなのかもしれないけど…)、毎回試行錯誤して、フォーマットを考えるだけでも時間を取られるので、一度自分なりのフォーマットをまとめたいと思います。 今回は、クラスとメソッドについてまとめています。 プロパティについても書いたほうがドキュメントとしてはよいと思うのですが、プロパティまで書き出すとなかなか継続出来ない(ダメ人間です)ので、追々。。 ちなみに、CakePHPをやんわり想定しています。 では、まずクラスについて。 クラス:フォーマット /** * [区分]クラスの概要 * * クラスの詳細 * 出来るだけ細かく書いたほうがよいが、詳細な説明は各メソッドに任せる。 * 全体での共通ルールとか仕様を書く。 * * @access アクセスレベル * @author 名前 <メールアド
存在を知っているだけで、使ったことのないWebP画像をクックパッドさんが本格導入しているっぽいので、ちょっと遊んでみました。 インストール方法(Mac) brewでインストール出来ました。
Gitのコミットメッセージの書き方 自分なりにまとめてみました。Git歴浅いので、意見募集中です。 (2014年12月17日追記) 想像以上にたくさんの方にストックなりはてブなりいただいたので、はてブでなるほど!と思ったコメントをもとに少し修正・加筆してみました。 (2022年1月4日追記) 最新の書き方をこちらに書きました。 https://zenn.dev/itosho/articles/git-commit-message-2023 原則 以下のフォーマットとします。 1行目:変更内容の要約(タイトル、概要) 2行目 :空行 3行目以降:変更した理由(内容、詳細) 日本語でも英語でもOKですが、リポジトリで統一してください。 1行目 コミット種別と要約を書きます。フォーマットは以下とします。 [コミット種別]要約 コミット種別 以下の中から適切な種別を選びます。 (多すぎても悩むので
iOSほどではないがAndroidも定期的に手順やUIが変わるため、下記の情報は正確でない場合があるので、注意してください! 事前準備 apkファイルを用意しておく。 ①アプリ情報を登録する Google Play Developer Consoleから以下の情報を順番に入力していく。 新しいアプリを追加 デフォルトの言語:日本語 タイトル:アプリ名 言語の追加と切り替え 日本語を選んだ場合は不要 アイテムの詳細 タイトル:アプリ名(30文字以内) 説明:アプリの説明文(4000文字) プロモーションテキスト:短めのアプリ説明文(任意) 最近の変更点:初回リリース時は不要 画像アセット 形式はJPEGかPNGファイル スクリーンショット:1辺320px以上の画像を2つ以上設定する(端末毎に設定可能) 高解像度アイコン:512*512px 宣伝用画像:1024*1024px(任意) プロモー
このページを最初にブックマークしてみませんか?
『itosho - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く