FirebaseはGoogleが運営しているBaaSです。 多機能で開発の助けになる事間違いなしです。 どんな機能があるかはこちらをご覧ください。 Firebaseを使って2文字しばりのメッセージアプリを作ってようと思います 画面の構成図です。 主な機能です。 ・ユーザー登録 ・ログイン ・メッセージ 今回はサンプルなので友達の追加などはなく全ユーザーでメッセージを交換するような形です。(それはそれでおもしろそう) Firebase導入 こちらにアクセスします。 このような画面が表示されると思うのでコンソールへ移動をクリックします。 プロジェクトを追加を選択します。 プロジェクト名を入力して国を選択します。 入力と選択が完了したらプロジェクトを作成をクリックします。 僕は今回 「Nimoji」という名前にしました 🙂 プロジェクトの作成が完了すると↑のような画面が表示されます。こちらがプ
[Slackbot大全]63種類の事例・ツールをまとめて紹介! botを活用してSlackを便利に【2017夏】 Slackは、ChatOpsとの相性の良さから、エンジニアにも愛されるビジネスチャットツールです。本稿では、Slackを活用している28社1団体にアンケートを実施し、計63種類のbot事例・ツールをまとめて紹介します。 Slackは、エンジニアにも愛されるビジネスチャットツールです。ChatOps(チャットツールを活用してオペレーションの最適化・省力化を図ること)との相性の良さから、もはやSlackなしの業務は考えられない! という方も少なくないでしょう。 Slackには、リマインドなどを実行するslackbotアカウントが最初からいるだけでなく、利用者自身がそれぞれの環境・業務内容に即したbotを自作でき、発言に自動応答してくれるものから業務の自動化まで、さまざまなbotをチ
iPhone X が発表されて間もなく、ディスプレイの「切り欠き」については至るところでちょっとしたイジリ合戦が始まっています。中には実際に信じてしまっている人もいるほど秀逸なものがありまして、それがこちら。 思わずクスッときてしまいますが(笑)、まあ当然こんなことにはなりません。 iPhone X にはディスプレイの上下左右に iOS の占有領域が存在し、それ以外(アプリのタッチイベントを認める領域)を Safe Area と呼ぶようです。Safe Area の外にある上部領域にはステータスバーとして時計やアンテナのインジケータなど iOS のシステムアイコン等が並び、下部の領域には iPhone X で導入された「ホームバー」が存在することになります。 では iPhone X の Safari で Web サイトを表示した場合に一体どのようになるのか?それを Web 上の情報を元にまと
iPhone Xが発表されたわけですが、なにこのデザイナー泣かせの変態端末。 iPhoneのUI設計者グレッグ・クリスティが追い出されて、ジョナサン・アイヴがソフトウェア統括となったのが2014年。 iOS7のフラット化あたりから、どんどんとUI設計が置いてけぼりになった感がありましたが・・・ここにきてまたデザイナー泣かせの豪速球が。 ざっくりデザインガイドラインを読んでの、気になったところメモ。 画面サイズ サイズは従来のベースであった4.7インチの375pt x 667ptから、375 x 812ptに。縦方向に145pt追加された。 想定されるインパクト 表示可能な情報量が増える 縦スクロール系コンテンツのコンバージョンが増加 スクロールで隠れるナビゲーションの必要性が低下 画面上部のボタンのコンバージョンが低下 ゲームなどの全画面イラストに、黒枠が出たり、見切れたりする グラフィッ
Qiitaで公開されている「iOSの開発でお気に入りのライブラリN選」、Swift使いなら要チェックの記事です。ここでたくさんのライブラリが取り上げられているのですが、この中で使ってみたいものを選んでみました。 1. paper switchスイッチON/OFFで色付きのアニメーション。 2. SCLAlertViewこのアラートはかっこいいですね。 3. MMPopLabelアプリの初回説明にこれは使える。 4. PageMenuメニューをスライドできる。よくみるUIですね。 5. MotionBlur種類を絞りこませるときとか、これも使えそう。 6. SWTableViewCellこちらも組み込みやすい。 7. DZNEmptyDataSetテーブルになにもデータがない時に表示させる。 8. PhotoTweaks写真の切り抜きができる。 この他にもたくさんのライブラリが紹介されている
はじめに こちらはiOS その2 Advent Calendar 2016の12月24日の記事です。 iOSアプリエンジニアが採用面接時に聞かれることってなんだろうと思い、ひねり出した100個の質問です。 ゼロベースで考えるのはさすがに困難だったので、以下に挙げられている記事をだいぶ参考にしました。 https://github.com/MaximAbramchuck/awesome-interview-questions#ios https://github.com/MaximAbramchuck/awesome-interview-questions#objective-c https://github.com/MaximAbramchuck/awesome-interview-questions#swift これらで紹介されているものは、実際にコードを見て応えるものもありますのでぜひ
昨日Macで使えるGitフロントエンドの紹介を書いたところ、友人のPishenさんからForkというツールもあることを教えていただきました。 How about https://t.co/fDZq7jzQoo ?— Pishen Tsai (@pishen) 2017年8月30日 Webサイトはこちら。現時点ではMac版(動作にはMacOS X 10.11以降が必要)のみですが、Windows版も提供予定のようです。 git-fork.com リリースノートを見ると昨年から開発されていたようですが、完全にノーマークだったので早速試してみました。 1ウィンドウで複数リポジトリをタブ切り替えで操作できる ブランチの状況も把握しやすい履歴ビュー(見た目的にはSourceTreeに近い) コミット時点のファイルツリーを確認できる 動作は軽快(ただし安定度についてはまだ不明) ターミナルから起動する
はじめに 2017年8月24日にRails Developers Meetup #4という勉強会で「プロを目指すRailsエンジニアのための公開コードレビュー」という発表をしてきました。 このエントリではこの勉強会の発表内容を紹介します。 発表のテーマを決めるまでの経緯 以前、「WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた」というエントリを書いて結構な反響があったのですが、この記事を読まれた主催者の平野さん(@yoshi_hirano)から「良いコードとは何か、というテーマで体系的に語ってもらいたい」と声をかけてもらったのが登壇のきっかけでした。 ただ、「良いコードを体系的に語る」となると、僕の中ではおそらく「CODE COMPLETEやリーダブルコードを読め。以上!」になってしまうので、それよりも具体的なコード例を見ながら「ここはこう」「このコード
これが自分が使っている設定です。メインブラウザのSafariは1, エディタ系は2, ターミナルは3, 開発ツールは4, Chromeは5, 6~8は自由に使うスペース、9はSlack, iTunesは10, FinderやSkitchなど他のアプリと合わせて使うものはAll。2つのアプリケーションを並べて使いたい時は空いているスペースにアプリケーションを持って行くようにしています。これは割り当ててる対応表覚えるというよりは、1つのデスクトップに複数のアプリケーションがたくさんある状態を防ぐのと、どんなときでもctrl+1を押せばSafariが開くという安心感を得るだけでも効果があります。 まとめ 再掲: ショートカットキーでアプリをバシバシ変えれます 以上の設定を行うことでディスプレイ1枚でもアプリケーションの切り替えコストが低くなって作業しやすくなります。普段⌘+tabで遷移もよくやっ
ピクシブ株式会社で開発基盤チームとして働いている @catatsuy です。主にpixivの技術的な改善をしていますが、広告チームも兼任しているので広告周りの開発もしています。 今回pixivの常時HTTPS化を担当したのでやったことを紹介します。 pixivをHTTPS化した理由 現在のインターネット全体の流れとして常時HTTPS化が進んでいます。エドワード・スノーデン - Wikipediaが暴露したNSAの事件発覚や 公衆無線LANの利用拡大により、通信経路上でユーザーの個人情報を保護することがインターネット全体として非常に重要になってきました。Googleが行っている調査によると、HTTPSページの閲覧時間はウェブ全体の利用時間の3分の2にも及びます。 それだけではありません。ブラウザに新しく追加されるAPIや機能(HTTP2/WebRTC/ServiceWorkerなど)はHTT
ひとつ注意点ですが、Swiftは書き方の自由度が比較的高いので、チーム開発をする場合は、あらかじめコーディング規約を共有しておいた方が良いでしょう。 Swiftでの命名や慣例のほか、さまざまな指針がSwift.orgにある「API Design Guidelines」にまとめられています。興味のある方は目を通してみてください。 Swift.org - API Design Guidelines インタラクティブ環境でSwiftを触ってみよう 早速ですが、Swiftを触って動作させてみましょう。Swiftはコンパイラ言語でありながら、インタラクティブ(対話的)に実行しながら動作を確認することができます。Swiftに慣れるには、このインタラクティブ環境でいろいろと動作させてみるのが手っ取り早いです。 インタラクティブにSwiftを実行するには、ターミナル(コマンドライン)のREPL(レプル)を
TDDでRSpecを書くにあたって、どれだけ効率的に効果的なテストが書けるかは、品質を高めていく上ですごく大切なことだと思います。 今回、RSpec3用のドキュメントやWebサイトをいろいろ読みなおして、最近までに特に良かった記事などを中心にまとめ直しました。 RSpec3に入門しようとしている初心者さんや、普段使っているけどもう一度RSpec3の知識を整理したい人にオススメのマトメです! 🗽 TDD/BDDとは?TDD/BDDにおける「振る舞い」の意味するところとは何なのか RSpecに限定された記事ではないですが、BDDの根本的な概念の「振る舞い」についてまとめられた記事です。 これを知っておくことで、ここから先の話がかなりスムーズに理解できるようになると思います。 🎂 まずテスト書いてからコード書くシンプルなチュートリアルはじめてのRSpec - まずテスト書いてからコード書くシ
※ 20140307 一部追記修正しました new/create時に関連テーブルも更新する記述について、忘れていたのでまとめてみました。 (意外と参考書とかにも載っておらず・・・) 今回利用しているバージョンは下記。 Ruby -> 2.1.0 rails -> 4.0.2 やりたいこと こんなイメージです。postを1件更新するときに関連テーブル(authors)と中間テーブル(author_posts)を複数件数一気に更新する感じです。 Model いつものhas_many through posts <-> author_posts <-> authors authorsは “name” カラムを持つ formでネストさせるので、accepts_nested_attributes_for も設定します # app/models/post.rb class Post < ActiveR
Railsのモデル間のリレーションのメソッドには、多くのオプションがある。 今日は、それらを使ってできることをまとめていきたい。 リレーションのオプションでできること一覧 1. ポリモーフィック関連の定義 2. ポリモーフィック関連が定義されたモデルと他のモデルの関連の定義 3. 親モデルに子モデルが依存するようにする 4. 親モデルのプライマリーキーを設定する 5. 外部キーのカラム名を設定する 6. 紐づくモデルのインスタンスを取得するメソッドの名前を設定する 7. 紐づくモデルのobjectに対してvalidationを実行しない 8. 2階層以上離れているモデルのインスタンスを取得する 9. 親モデルのオブジェクトがsaveされたとしても、loadされている子モデルのオブジェクトの変更はsaveされないようにする 10. ひとつのモデル(A)から他のモデルを通して、もう一度モデル(
はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基本的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基本的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:
以前 ゴールを決め目標を決める・解決案ではなく質問する - コーチングの学習で学んだこと - $shibayu36->blog; で、「ゴールを決め、現在位置とのギャップを考え、目標を決める」と良いということをまとめた。イメージとしては以下の図の通り。 しかし、前回の記事だと具体的にどのようにエンジニアの目標設定を行うかイメージが湧かない。そこで、もう少し具体的に最近どのようにやっていたかを書いてみたいと思う。 僕がメンティーと目標設定を行うときは、以下のフローを辿っている。 なんでも良いのでゴールのイメージを明確にする 現在の自分とゴールのイメージのギャップを考える ギャップを埋める目標を考え、アクションを定める ちなみに今回は、チームの成果達成のために個人の目標を決めるのではなく、エンジニアのスキル向上の目標を立てるという前提で書いていく。 なんでも良いのでゴールのイメージを明確にする
lestrratさんがやってくれました。 ずいぶん前から、ソースコードを検索して読みやすいコマンドはないかなーと思っていました。個人的にはackで検索して見つかったファイルをlessで開いて再びキーワードを入れて当該行までジャンプしていたのですが、毎回毎回めんどくさい感じでした。コマンド一発でインクリメンタル検索してキーワード周辺のソースコードを読めるツールが欲しいなぁって思ってたんです。 とあるslackでお昼時に、mattnさんと「ほしいですよねー」という話から始まって、vimにあるgrepとかも物色しながら「いいのないねー」とか言ってたらkanさんが「@lestrrat 案件だ」って言い出して牧さんが召喚されてついさっきpecoに必要な機能が追加されてました。速いw ためしにpicotlsの開発ディレクトリでpecoの一行ラッパーperoを起動し、「EVP_Digest」を検索してみ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く