サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
cutmail.hatenablog.com
技術顧問と聞くと何をしているのかわからなかったり、ブラックボックス化していることがあるので、 参考までに自分がどんなことをしているのか紹介してみようと思う。 前提として技術顧問は人によって領域や内容が全然違うこともあるので、事前にどんなことを依頼したいか、できるのか握っておくことが大事だと思う。 あと下記は複数の会社をまとめたもの。 iOSアプリのコードレビュー iOSアプリのCI, CD環境の構築 Ruby on Railsプロジェクトのコードレビュー Ruby on RailsプロジェクトのCI, CD環境の構築 Ruby on Railsプロジェクトの開発環境のDocker化 エンジニア1 on 1 月一で第三者目線での1on1 エンジニア目標レビュー 第三者から客観的に見た目標に対するアドバイス エンジニア採用サポート 技術的な観点での面談に出たり 会社イベントでの登壇 テックブロ
比較的大きめな規模のiOSアプリのコードレビュー をする機会がよくあるため、 どういった点に注意を向けてレビューしているかまとめておこうと思う。 以下は主にGitHubのPull Requestベースでレビューをする場合を想定している。 非コード編 1. 該当のissueがリンクされているか Pull Requestを出した背景となるissueがあればそのリンクがDescription欄に貼られているか 2. 変更点が簡潔に書かれているか コードを見ればいいのだけど、変更した内容を簡潔に書かれているとコードレビュー する前にある程度把握することができるので書きましょう 3. スクリーンショットが添付されているか UIの変更を伴う修正の場合はスクリーンショットを付けた方が良い。 スクリーンショットに関してはいくつか見る箇所があって、 レイアウトが崩れていないか 該当のissueの要件になって
Notionというサービスがある。 日本でも使い始めている人がちらほらいて、前から気になっていたのだけどついにちゃんと使い始めてみることにした。 以前はInkdropというアプリを使っていたが、Chromebookで動くアプリがない(Androidアプリがなぜかインストールできなかった)ので、他のツールを探していた。 Notionは、一言でいってしまえばノートアプリなんだけど、データベースやギャラリーなど、多くのテンプレートが用意されていて、 単なるメモアプリにとどまっていない。 テンプレートがたくさん。 自分で作ることもできる。 また、Workspaceみたいな概念があり、メンバーも招待できるので、 要はesaやKibelaみたいに社内ドキュメント共有みたいなことも全然できる。 Slack連携の機能もあるので、ドキュメントが投稿されたら通知をするみたいなこともできるみたい。 Notion
誰をバスに乗せるか このままだとバスのガソリンも少なくなり、みんな死んでしまう。 誰をバスに乗せるかというのは、簡単そうであって非常に重要な問題だ。 間違った乗客を乗せてしまうと、バスの中で仲間割れが起きたり、それぞれが向かいたい行き先が違ったりすることもある。 そのためには、バスに乗せる前にいかに乗客を選別するかが大切だ。 その乗客の向かいたい場所がバスの進行方向と違っていないか バスの中に既にいる乗客とうまくやれそうか バスという狭い、資源も少ない環境で一定期間過ごすことができそうか(現実では期間は一定ではないかも) いつバスを降りるか 運よくバスに乗れたとして、実はバスが向かっている方向が違っているなんてこともあるかもしれない。 それに気付いたらなるべく早くバスを降りよう。 もたもたしていると資源も尽きて、バスを降りる体力も無くなってしまうかもしれない。 バスに乗っている乗客は問題な
DroidKaigi 2018 - Androidアプリ開発における技術顧問としての役割 / cutmail [JA]
エンジニアとして多くの人と接している中で、筋の良い人、悪い人という分類ができることに気づいた。 ここでいう筋の良さとは、課題を解決する際に最短ルートを最初から見つけることができたり、他の人がパッと見たときにすんなり理解できるような解法を導き出せることである。 反対に筋の悪い人は遠回りと思えるような方法であったり、どうしてその解法に至ったのか理解し難いものを出してくるケースが多い。 筋の良さは経験値によるところが大きいと思うので、鍛えることができそうだ。 また筋の良さとはエンジニアリングだけでなく、専門職全般に当てはめることができるだろう。 自分がどちらに当てはまるかは常に気にしておきたい。
施策などを考えたりする際に工数は大事な要素ではあるが、最初から工数を出して並べて検討してしまったりすると、工数に引っ張られて本当に達成したい目的から外れた施策などを選んでしまいがちだったりすることがある。 そういうときは最初から工数を出さずに、目的を達成するためにできる、ありとあらゆるアイデアを一度全部出しきり(風呂敷を広げてみて)、一番目的を達成できそうなものを選ぶ。そのあとで初めて選んだ施策の工数を出してみよう。 もし工数的な部分が折り合わないようであれば、機能を削ったり、代わりの方法を検討してみると良いだろう。 ここで重要なのは、工数を考えてしまうことで、視野が狭くなり、中途半端な施策の結果、失敗の確率が上がってしまうということだ。 エンジニアが施策を考えたりする際にやってしまいがちな罠でした。
Fablic Advent Calendar 2015 - Qiitaの12/1のエントリーです。 序章 みなさんはAndroidアプリにOSSライブラリなどを導入した際には、 そのライブラリのライセンスなどは正しく表示していますか? 弊社でもいくつかのOSSライブラリを導入しており、設定画面の中にライセンス情報を表示するようにしています。 AboutLibrariesとは github.com 「AboutLibraries」はアプリに導入しているライブラリのライセンス一覧を簡単に作成でき、カスタマイズなどもできるライブラリです。 サポートされているライブラリであれば、プロジェクト内を検索して自動で一覧表示をしてくれます。 使い方 AboutLibrariesを使ってライセンス一覧画面を表示する方法はいくつかあり、 その一つがFragmentを取得するやり方です。 Fragmentを生成
3/19にクックパッドさんで行われたtestotips.ioという勉強会に参加してきました。 testotips.ioはテスト/テスト・ツール周りのtipsを持ち寄って情報共有したいというところから始まったとのことです。 testtips.ioのs.ioは塩→塩味 第一回目のテーマはAppiumでした。 以下メモ。 Appiumの中身とその周辺Tips(仮) @Kazu_cocoaさん 20150319 testotipsio from Kazuaki MATSUO Appium http://www.infoq.com/jp/news/2013/05/appium-android capabilities.js iOS: UIAutomation Android: uiautomator Appiumはサーバー 並列実行が可能 DroidDriver https://github.com
既に先週のことですが、弊社でpotatotips#9を開催いたしました。 バタバタしてしまいましたが、たくさんの方に来て頂き、そこそこ盛り上がってのではないかと思います。 他の方の発表まとめなどはこちら。 AndroidとiOSのtipsを共有するpotatotips #9に参加してきたので発表内容まとめてみた! 自分はLog周りの話と、Timberの紹介をしました。
DigitalOcean上にVMを立てていろいろやるのを、Vagrantから実行したかった。 vagrant-digitaloceanプラグインをインストール。 $ vagrant plugin install vagrant-digitaloceal ところが、 $ vagrant plugin install vagrant-digitaloceal Installing the 'google' plugin. This can take a few minutes... Building nokogiri using packaged libraries. Building libxml2-2.8.0 for nokogiri with the following patches applied: - 0001-Fix-parser-local-buffers-size-probl
CakePHPでリクエストに対して、任意のステータスコードを指定したいとき。 <?php class HogeController extends AppController { function index() { $this->response->statusCode(200); } } ?> こんな感じでいけます。
株式会社マインドパレット代表取締役 小林 佑次様(@yuji_nano) * 創業メンバーの考え方 * 補完関係がある人と組む * 自分でできることは自分で * 会社の長所を伸ばし、弱点を埋めていくという発想 * 友達とは組まない * ビジネスパートナーとして尊敬・信頼出来る人と組む * 交渉事ができるエンジニアが居るチーム * 「良いものが作れる」だけでは通用しない * エンジニア2人でのスタートが基本 * Snapeeeが生まれるまで * 3年先のマーケットを狙う! * スマートフォン * 写真共有サービス * グローバル * 女性向けアプリ * 事業立案のポイント * アメリカのコンセプトを日本に持ち込まない * やるなら現地へ行くしかない * 自分が理解や想像できる範囲を超える * 男性にだって女性向けアプリは作れる * スマートフォンを持ったことがなくても、スマートフォン向けアプ
[StartupDating vol.11] 8月29日「あの有名サービスは何を考えて作られているのか」パネル開催 | Startup Dating [スタートアップ・デイティング] こんな素敵なイベントがあったため、参加してきました。 そのまんま書いたメモを共有します。 Start Dating 3) サービスや機能が生まれた背景 cookpad つくレポ →ユーザーがやってた livlis →奥さんのために作った →mixiのモノをあげたりするコミュニティのユーザー数が2万以上 14) マネタイズについて Q.マネタイズは? nanapi:企業の製品の使い方をのせる(広告)。Howtoを小説風にして有料で提供することを考えている。 リブリス:いずれはユーザー間で売買できるようになり、そちらで手数料を取ることを考えてはいるが、未定。 cookpad オーダバイ課金 作るときにお金を払って
激化するスマートフォンアプリ市場 スパイア スマートフォン事業本部 新上幸二様 市場規模 公式サイト市場:6465億円 CP数:約3000社 スマートフォンアプリ市場:約1,7000億 (2010 GLOBAL) 国内:約200億 開発者数:約95,000(in US) 公式サイトビジネスは規制産業。 一部の優良法人間の争い。 スマートフォンアプリは、国境を超える(グローバル) 個人も法人も関係ない。 スパイア iPhoneアプリ:16本 Androidアプリ:3本 TAP10 無料総合1位 約48DL インド式魔法の暗算術 総合有料7位教育有料1位 約16,000DL 100万くらいの売上 Papri スマートフォンアプリプラットフォーム adPapri スマートフォンアドネットワーク 株式会社ゼペット 代表取締役 宮川義之様 LightBike2 Unity製 iYamato coco
モテる系でいろんなパターンが出現してきたのでまとめてみた。 元ネタ モテる 女子力 を磨くための4つの心得 プログラマー モテるプログラマー女子力を磨くための4つの心得 「モテるプログラミング女子力を磨くための4つの心得」 情報系 モテる情報系女子力を磨くための4つの心得 Opera モテるOpera女子力を磨くための4つの心得「Operaをインストールできない女をアピールせよ」等 vim Big Sky :: モテるvim女子力を磨くための4つの心得 Emacs モテるEmacs女子力を磨くための4つの心得 Twitterクライアント モテるクライアント力を磨くための 4 つの心得 「REST API にアクセスできない女をアピールせよ」等 « takeshik.log Android モテるAndroid女子力を磨くための4つの心得 Javascript モテるJS系女子力を磨くための
Rictyの導入 Rictyは研究・開発のツールとして開発されたプログラミング用のフォント。 Ricty 早速導入してみた。 % wget http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty/Ricty-2.0.2.tar.gz % tar zxvf Ricty-2.0.2.tar.gz % cp Ricty-2.0.2/*.ttf /Library/Fonts/ターミナルのフォントをRictyにしてみたら、かなりいい感じ。 前よりも見やすくなった印象。 追記 Rictyのフォントファイルの配布が終了してしまったようで、自分でmakeしていれる必要があります。 こちらから。 http://hazisarashi.com/2011-05/1306/
まずはじめに3/11に起きた「東北地方太平洋沖地震」地震、津波、火災等で 被災された皆様に心からお見舞い申し上げます。 私はアプリ開発者としてなにができるかと考えたときに、 こうした状況であってもアプリを通して被災された方々に少しでも力になればという思いから アプリを作り続けていました。 そんな中で2つのアプリを公開でき、多くの皆様にダウンロード頂いています。 1.「地震・災害情報」 id:motomakaさんが素晴らしいリンクを公開されていたので、これをアプリにしたら 携帯からアクセスしやすいんじゃないかと思い、アプリにしてみました。 地震・災害情報 無料 ダウンロード こんな感じで、災害用伝言板などにアクセスがしやすくなっています。 2. 「Instaqlock Pray for Japan」 今回の災害をうけ、TwitterやInstagramで#prayforjapan、#play
久しぶりにAndroidのプロジェクトを開いたらタイトルのようなエラーが出力された。 プロジェクトをcleanしたりいろいろやったりしても解決しなかったが、公式のガイドラインを見ていたら 対処法が載っていたので試してみた。 解決方法は二つ。 マシンのロケールを変えてコンパイル debug.keystoreをつくり直す ロケールを変えるのはめんどくさかったので、二つ目の方法を試した。 まずは、既存のdebug.keystoreを削除する。 場所は、Macの場合は ~/.android/debug.keystoreこれを削除する。 % rm debug.keystore次に、新しい、debug.keystoreを作る。 コマンドは以下。 % keytool -genkey -alias androiddebugkey -keystore debug.keystore -storepass an
に参加してきました。以下メモ。 スマートフォンアプリ広告AD Networkのテクノロジーととマネタイジング 株式会社ノボット 小林様 リワード広告 リッチアド JAD http://journal.mycom.co.jp/news/2010/09/01/032/index.html Tapjoy マージン 無料 →0.25$ 有料 →販売価格の50% eCPM $2.45 平均 81万/月 成功のポイント 多くのユーザー数 高い広告サービス アドの回転15s→30s クリック率2倍 広告収入20%up 国内の成功事例 MEGU 毎日起動 長イ間利用 メインのページに広告を配置していない ページごとに広告収入を比較 複数のadネットワークを組み合わせている まとめ 多くのスマートフォン広告の成功事例、ノウハウがweb上で公開されている MEGUなどの良い事例をダウンロードして実際に使ってみ
いつものように簡単なメモを。 <文字コードに起因する脆弱性とその対策> 超入門 * ShiftJIS * 1バイト文字と後続バイトの領域が重なる * 5C問題が発生する * EUC-JP * 1バイト文字と後続バイトの領域が重ならない * 5C問題は発生しない * UTF-8 * 1バイト文字、先行バイト、後続バイトの領域はまったく重ならない * 5C問題や「蛍問題」は発生しない デモ * 半端な先行バイトによるXSS * UTF-8非最短形式によるパストラバーサル * 5C問題によるSQLインジェクション * UTF-7によるXSS * EUCJP→EUC-JP * U+00A5によるSQLインジェクション * U+00A5によるXSS * ASP.NET + MS SQL Server + JSON 対策 * htmlspecialcharsの第3引数は必ず指定 * PC・モバイル対応
解凍先のディレクトリを指定する場合は、下記のようにします。 % unzip hoge.zip -d fooこの場合、hoge.zipファイルをfooディレクトリに解凍します。
Flash CS4の体験版を落としてきて、いろいろいじっていたのですが、 _root.play(); と書いてプレビューしてみると、コンパイルエラーとか出るじゃないですが。 そうですか、そうですか。 _root という書き方はActionScript3.0では廃止されたらしいです。 というわけで、 次のように書いたらコンパイルできました。 方法1 rootプロパティの値をいったんMovieClipタイプのオブジェクトに変換してやる。 var rootObj:MovieClip = root as MovieClip; rootObj.play(); 方法2 rootプロパティをダイナミッククラスであるMovieClipクラスなどに明示的にキャストしてやる。 MovieClip(root).play(); まぁ、rootをMovieClipかObjectにしないといけないらしいです。。
vimでプログラムなどを書いている時に、コメントに日付を挿入したりしますよね。 こんなときに便利なのが、シェルコマンドの結果をvimで編集中のファイルに挿入する方法。 :r !cmdとかくと、コマンドの実行結果を挿入できる。 日付を挿入する場合は、 :r !dateと書くと挿入できる。
いつもは一括置換していたけど、一つ一つ確認しながら置換したいときはこちら。 :%s/置換前文字列/置換後文字列/gc
MacbookProにPHP5をインスコし、いざdate()関数を使ったら下記のようなエラーが。。。 Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'J
よくLinuxのシェルで、Ctl+L, Ctl+Uなどで画面をクリアすると思いますが、 Windowsのコマンドプロンプトでも画面をクリアしたなーと思ったのですが、そのまま同じコマンドは使えなく、 代わりに以下のコマンドが用意されていました。 画面をクリアしたいときは、以下のコマンドを! cls
AndroidプロジェクトのAssetディレクトリの中に、index.htmlというファイルがあったとして、 これをWebViewで表示するには下記のようにします。 private WebView webView; /*----- 省略 -----*/ webView = (WebView) findViewById(R.id.web_view); webView.loadUrl("file:///android_asset/index.html"); これでWebViewにindex.htmlのファイルの内容が表示されます。
次のページ
このページを最初にブックマークしてみませんか?
『cutmail's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く