タグ

ブックマーク / ninjinkun.hatenablog.com (33)

  • Launchableはエンジニアを募集しています - ninjinkun's diary

    最近自分で作った名刺 自分が働いているLaunchable Inc.で現在エンジニアを募集しています。基的にはWebのバックエンドエンジニアを想定していますが、フロントエンドメインでバックエンド経験もある方などもぜひ。フルリモートの仕事ですが、日かUSに住んでいる方を募集しています(タイムゾーンと法人の有無の兼ね合い)。 自分がLaunchableに入社してもうすぐ3年が経ちます。今まで顧客は欧米とインドの企業が中心だったのですが、ついに日でもお客さんがつき始めたのが嬉しい変化です。会社はまだシリーズAで社員十数名と小さいチームですが、USスタートアップのアーリーステージに興味がある方はぜひご応募いただきたいです。 応募する前にもう少し詳細を聞いたみたいという方は、自分のTwitter DM @ninjinkunやメール ninjinkun@launchableinc.com などに

    Launchableはエンジニアを募集しています - ninjinkun's diary
    ninjinkun
    ninjinkun 2023/05/08
    エンジニア募集中です!
  • iPhoneの英語入力キーボードを開発したプログラマーの話『Creative Selection』を読んだ - ninjinkun's diary

    Appleファンとして、プログラマーとして、とても面白く読んだ。 KHTMLをベースにWebKitを作り始める話、iPhoneプロジェクトに入って英語入力キーボード開発のDRI*1になる話など、今自分がMaciPhoneで使っているソフトウェアの話が多く、具体的なイメージを持ちながら楽しむことができた。 Apple社内の雰囲気や体制が垣間見えるエピソードが多く、なるほどこういう環境でWebKitiPhoneは開発されていたのかと産業遺産を見るような気持ちで読んでいた。 とにかくデモを作って見せる文化 上司にデモを見せる、気に入られると段々見せる階層が上がっていって、最後はジョブズにデモを見せるようになる 動くものがなかなか出てこないと不信感を持たれる (特に明言はされていないが)Appleにはコアロジックからアニメーションまで実装できるプログラマーが多数在籍していそうな雰囲気 著者はブ

    iPhoneの英語入力キーボードを開発したプログラマーの話『Creative Selection』を読んだ - ninjinkun's diary
    ninjinkun
    ninjinkun 2019/07/31
  • Real World HTTPミニ版はいいぞ - ninjinkun's diary

    www.oreilly.co.jp mozaic bootcampに参加する前に予習としてReal World HTTPミニ版を読んでいったのだが、これが非常に良いで役に立った。 HTTPの歴史を俯瞰しながらプロトコルの詳細を解説してくれる流れになっているので、自分のようにWebアプリケーションを作るために個別のトピックはなんとなく知っているけれど、策定の経緯や相互の繋がりを知らない人間には、知識を補完してくれる内容でありがたかった。 目次は以下の通りだが、既に仕事をしている人は4章までが対象かと思う。5章は新人のWebエンジニア向けの内容になっている。 第1章 HTTP/1.0の世界:基となる4つの要素 第2章 HTTP/1.0のセマンティクス:ブラウザの基機能の裏側 第3章 HTTP/1.1の世界:高速化と安全性を求めた拡張 第4章 HTTP/2とHTTP/3の世界:プロトコルの

    Real World HTTPミニ版はいいぞ - ninjinkun's diary
    ninjinkun
    ninjinkun 2019/07/04
  • create-react-app 3.0にしたのでついでにTSLintからESLintに移行した - ninjinkun's diary

    経緯 BlogFeedbackで使っているcreate-react-appを3.0に上げたらTypeScriptにもLintが効くようになっていたが、そのせいでいきなりビルドが止まるようになってしまった 元々TSLintを入れてエディタとCIでTSLintを実行していた create-react-app 3.0からyarn startやyarn buildでESLintが実行される TypeScriptには@typescript-eslintで対応してるみたい 新しく入ったESLintは無設定状態だとデフォルトのルール (eslint-config-react-app)で実行されるので、TSLintで設定していなかったいくつかのルールで引っかかるようになって、CIでyarn buildが止まっていた eslint-config-react-appにはjsx-a11y react-hooks

    create-react-app 3.0にしたのでついでにTSLintからESLintに移行した - ninjinkun's diary
    ninjinkun
    ninjinkun 2019/04/29
  • ブログのSNSシェア数を毎朝メールでお知らせする機能をリリースしました - ninjinkun's diary

    BlogFeedbackにシェア数の増加をメールでお知らせしてくれる機能を追加しました。 シェア数が昨日より増加していると、以下のようなメールが配信されます。 設定 設定はブログの追加時 または以下の設定画面から行うことができます。 配信する時間はとりあえず朝の9時にしてありますが、予告なく変更する場合があります。自分で時間や配信メールアドレスを選ぶ機能は今のところありません。 実装 クロールからメール送信まで全てFirebase Cloud Functionsで実装 Firebaseにはcronがなかったので、GCPにappengineをデプロイする方法で実装(これが一般的な方法らしい) 動きは以下の通り GCP cron→AppEngine→Cloud Pub/Sub→Cloud Functionsの対象者抽出Function→Cloud Pub/Subで対象ブログごとにFunctio

    ブログのSNSシェア数を毎朝メールでお知らせする機能をリリースしました - ninjinkun's diary
    ninjinkun
    ninjinkun 2019/01/20
  • iOSアプリ開発者がWebアプリ(PWA)をリリースするまでの流れ - ninjinkun's diary

    先日リリースした個人アプリBlogFeedbackを開発した動機と、開発の時系列、開発してみての感想(ネイティブ開発者から見たPWAとか)を書いていきます。リリースエントリにも書きましたが、このアプリはiOSネイティブアプリからWebアプリへの移植です。 TL;DR BlogFeedbackのケースではWebでもネイティブアプリとほぼ同等の体験を作ることができた ネイティブ歴が長くHTML/CSSに明るくなかったので、まずReact Native for WebでUIを組んでいって、自力でHTML/CSSが書けるようになってから脱React Native for Webした React / TypeScript / create-react-app / styled-components / storybook おすすめ ブログを書いている人はBlogFeedbackを使ってみて欲しい!

    iOSアプリ開発者がWebアプリ(PWA)をリリースするまでの流れ - ninjinkun's diary
  • Cloud FirestoreのSecurity RulesをCircleCIで自動テストする - ninjinkun's diary

    この記事はFirebase Adventcalendar #2の13日目の記事です(もう12/17ですが、丁度書けそうなネタがあったので、空いてる日を見つけて埋めることにしました)。 Firabase Cloud Firestoreを使う場合、Security Rulesがアクセス制御全てのかなめと言えます。ここをミスるとデータが漏れて終わる、しかしその割に簡単に変更できてしまう。というわけで自動テストできると安心でしょう。 今回は先日公開した拙作のBlogFeedback(repo https://github.com/ninjinkun/blog-feedback-app/ )で用いているCircleCIによる自動テスト事例を紹介します。 なお、Security Rulesをテストするというアイデアは以下のエントリから頂きました。 エミュレーターの準備 Cloud Firestore

    Cloud FirestoreのSecurity RulesをCircleCIで自動テストする - ninjinkun's diary
  • BlogFeedback(PWA版)をリリースしました - ninjinkun's diary

    これは何? ブログについたFacebookいいねやはてなブックマーク数などのシェア数を集計して表示してくれるWebアプリです。ブログを書いた後にシェア数が気になってしまう人におすすめです。 詳しくは以下のデモ動画をご覧ください。 デモ動画 前に同じようなのなかった? 数年前にiOSアプリとして同じ機能を持ったネイティブアプリをリリースしていました。今回はこれをWebブラウザ上で動作するPWA (Progressive Web Application) として再実装したサービスになります。 かつてのiOS版 無料? 以前のiOSアプリは100円の有料アプリでしたが、今回のWeb版は無料です。 OSS? GitHubでコードを公開しています。MITライセンスなので、コードを何かに利用していただいても構いません。 Issue、PullRequest歓迎です。不具合や要望などあればお寄せください。

    BlogFeedback(PWA版)をリリースしました - ninjinkun's diary
    ninjinkun
    ninjinkun 2018/12/16
    アドベントカレンダー等でブログを書いている人は使ってみてくれ〜
  • 『チームが機能するとはどういうことか』を読んだ - ninjinkun's diary

    Incrementsの知人が社内で輪講していると言っていて、気になっていたので読んでみた。創造的なチームを作るために気をつけることと、そのために必要になるリーダーシップについて書かれているとのこと。 現代のチームが固定されたメンバー制から専門集団の一時的な集まりになっている(例えば病院、災害救助、スタートアップなど)ことから、チーム構造からチームワーク自体へ注目するという意味で動詞のチーミングが提唱される。 心理的安全 自立的かつ創造的なチームのキーになるのが心理的安全である。 心理的に安全な環境では、何かミスをしても、そのためにほかの人から罰せられたり評価を下げられたりすることはないと思える。手助けや情報を求めても、不快に思われたり恥をかかされたりすることはない、とも思える。そうした信念は、人々が互いに信頼し、尊敬し合っているときに生まれ、それによって、このチームでははっきり意見を言っ

    『チームが機能するとはどういうことか』を読んだ - ninjinkun's diary
    ninjinkun
    ninjinkun 2016/04/02
  • 正しい製品を作る / 製品を正しく作る - ninjinkun's diary

    Inspired: 顧客の心を捉える製品の創り方を読み返していて、「第7章: プロダクトマネージャーを管理する」の一節 エンジニアリング部門というのは、基的に、正しい製品を作ることではなく、製品を正しく作ることに専念することになっているからだ。 というところが引っかかったので、思うところを書いてみる。ちなみに「第5章: プロダクトマネジメントとエンジニアリング(実装)」にも「正しい製品を作るのか、それとも、製品を正しく作るのか」というタイトルの章がある。 エンジニアは製品を正しく作る エンジニアは製品をリリースする責任があるので、不確定要素を減らして正しいスケジュールでリリースすることにモチベーションがある。このために、開発が進むほどにエンジニアは保守的になっていく。企画段階では和気藹々とブレストしてアイデアを出していても、最後のリリース前にはしぶい顔で実装を拒んだりする。 エンジニア

    正しい製品を作る / 製品を正しく作る - ninjinkun's diary
    ninjinkun
    ninjinkun 2015/10/05
    実装者がプロダクトマネージャを兼ねる場合はどうしたらよいのだろう、という疑問を書いてみました
  • Inspired: 顧客の心を捉える製品の創り方を読んだ - ninjinkun's diary

    プロダクトマネージャーの職能+ユーザー体験設計のです(と解釈しています)。 最近Rebuild: 98: Superhumans Wanted (Naoya Ito)やエンジニアからみた良いプロダクトマネージャとは? - サンフランシスコではたらくソフトウェアエンジニア - Higepon’s blogで話題のプロダクトマネージャーに興味があって、関連しそうなを読みたいと言っていたら、知人がこのを紹介してくれました。 Netscapeなどでプログラマーをしていたバックグラウンドを持ち、eBayなど複数の会社でプロダクトマネージャをしていた経験を持つ著者がプロダクトマネージャーの職能について語るで、以下のような内用が含まれています。 プロダクトマネージャーとは何か どうやって他の職種と連携して働くか どうやって製品を見つけ出すか どうやってユーザー体験を作っていくか 自分にとっては、

    Inspired: 顧客の心を捉える製品の創り方を読んだ - ninjinkun's diary
    ninjinkun
    ninjinkun 2015/08/02
    最近プロダクトマネージャについて調べていて、なかなか良い本があったので感想を書きました
  • スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary

    このところ、複数の人からリアクティブプログラミング(RP)ってつまり何なんですかと聞かれることがあった。そのたびに非同期データストリームが…みたいな説明をしていたのだが、たいてい双方納得した感じにはならなくて、まあ難しいっすね…という感じで終わってしまっていた。 iOSとAndroidでの用途 自分は理論より実践からしか考えられないタイプなので、もっと現場寄りの説明ができないか常々考えていた。そこで自分がiOSとAndroidアプリを実装する際に使っているReactiveCocoaとRxJavaの用途を考えてみたところ Promise(の高機能版) 複数のAPIコールを連鎖させたい場合にコールバックヘルを避けたい データバインディング(の高機能版) Modelの変更とViewの変更を同期したい の2つがメインだった。 この2つはRPライブラリを入れなくても実装できる。JavaScript

    スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary
    ninjinkun
    ninjinkun 2015/03/25
    自分はこんな感じで使ってます
  • 【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary

    Original: Advocating Against Android Fragments by @Piwai Translated by @ninjinkun Reviewed by @hotchemi 最近私はDroidcon Parisでテックトーク(フランス語)を行い、SquareがAndroidのFragmentを利用して直面した問題と、Fragmentを避ける方法について説明した。 2011年に我々は以下の理由でFragmentを使う決断をした。 この時点で我々はタブレットをサポートしていなかった。しかしいつかは対応することがわかっていた。FragmentトはレスポンシブなUIを作るのを助けてくれる。 Fragmentはビューコントローラーだ。ビジネスロジックを単位ごとに分離してテスト可能にしてくれる。 FragmentのAPIはバックスタックのマネジメントを提供してくれる(

    【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary
    ninjinkun
    ninjinkun 2014/10/17
    Fragmentの問題点が言語化されていて良いなと思って翻訳しました
  • ReactiveCocoa勉強会関西を開催しました #rac_kansai - ninjinkun's diary

    先週の土曜日にReactiveCocoa (以下RAC)というOSX / iOSで使うリアクティブプログラミング(RP)フレームワークの勉強会を開催しました。 当日の資料 当日の資料のうち、見つけられたものは以下にまとめました。 はじめてのReacitveCocoa @tinpayさん はじめてのReactiveCocoa from Shohei Fukui https://github.com/tinpay/RACWarikan ReactiveCocoa勉強会に参加してきました #rac_kansai . ゆるやかなReactiveCocoaの導入 @ninjinkun 実践!Twitter API+ReactiveCocoa @atsusy さん var RAC3 = ReactiveCocoa + Swift @ikesyo さん var RAC3 = ReactiveCocoa

    ReactiveCocoa勉強会関西を開催しました #rac_kansai - ninjinkun's diary
    ninjinkun
    ninjinkun 2014/08/03
    意外にRACユーザーが多くて驚きました
  • チームで読みたいプロトタイピング本『プロトタイピング実践ガイド』 - ninjinkun's diary

    プロトタイピング実践ガイド スマホアプリの効率的なデザイン手法 作者: 深津貴之,荻野博章出版社/メーカー: インプレス発売日: 2014/08/08メディア: Kindle版この商品を含むブログを見る スマートフォンのプロトタイピングを丁寧に解説した書籍、 プロトタイピング実践ガイド スマホアプリの効率的なデザイン手法 を読みました。fladdictさんとフェンリルの荻野さんの共著ということで、期待が高まります。 自分は昔fladdictさんがペーパープロトタイピングを実践されてると聞いてから、書籍 ペーパープロトタイピング 最適なユーザインタフェースを効率よくデザインする *1を読んだり、fladdictさんの資料を参考にしたりしながら、プロトタイピングを仕事に取り入れてきた経緯があります。その辺りの見様見真似でやってきた手法が、書では整理されて解説されています。まさに自分が欲しかっ

    チームで読みたいプロトタイピング本『プロトタイピング実践ガイド』 - ninjinkun's diary
    ninjinkun
    ninjinkun 2014/07/19
    最近読んだ中でも一押しです
  • YAPCでgfxさんとモバイルアプリ開発について合同セッションします - ninjinkun's diary

    id:gfx さんとYAPC::Asia 2014でモバイルアプリ開発について合同セッションをやります。 YAPCはWebエンジニアに興味を持ったときから憧れていたのですが、その後スマートフォンエンジニアになってしまったこともあり、自分には縁がないものかなと半ば諦めていました。一昨年くらいからPerl以外の言語やモバイルアプリ開発の話も少しずつ出てきたので、もしかしたら自分が喋れるチャンスもあるのかも…と思って密かに機会をうかがっていました。 今年自分の勤めるFablicがスポンサーということもあり、とりあえずダメ元で応募してみようと思い、その後の流れは以下の通りです。ネイティブアプリのセッションではありますが、Perlを書いている方にも楽しんで頂けるような内容にできるようにがんばります。内容はこれから… ninjinkunとgfxのトーク内容大体一緒だから合体してnginxの話すれば良さ

    YAPCでgfxさんとモバイルアプリ開発について合同セッションします - ninjinkun's diary
    ninjinkun
    ninjinkun 2014/07/17
    採択して頂いたので合同セッションやります
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

    日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
    ninjinkun
    ninjinkun 2014/04/24
    id:stet そう見られるとは考えていなかったです。タイトル変更しました。
  • 国際化したStoryboardを一つにまとめる - ninjinkun's diary

    これまでiOSプロジェクトを国際化する際にはStoryboardファイルは対応言語分複数作る必要がありましたが、iOS6からは一つにまとめて、他の言語は.stringファイルで管理することが可能になります。これにより、Storyboardを変更した際もGUIによるレイアウトの変更は一回で良くなります。 ただしこれをやるとiOS5で動かなくなるので注意が必要です。 やり方 Use Base Internationalizationにチェックを入れる BaseにするStoryboardを選ぶ 僕のアプリは日語主体で設計していたので、日語を選択しています。英語の方が主体なら英語を選択した方が良いと思われます。 Localizeされたファイルができる この状態だとstoryboardが2つある従来の状態と一緒です。 .stringファイルを生成する Localizable Stringを選択す

    国際化したStoryboardを一つにまとめる - ninjinkun's diary
    ninjinkun
    ninjinkun 2013/01/14
    久しぶりのiOSネタです
  • Kindleは長編小説に最適かも。カラマーゾフの兄弟を読みました - ninjinkun's diary

    カラマーゾフの兄弟1 (光文社古典新訳文庫) 作者: ドストエフスキー出版社/メーカー: 光文社発売日: 2012/02/10メディア: Kindle版この商品を含むブログ (1件) を見る Kindle Paperwhiteを手に入れたので、光文社古典新訳文庫のカラマーゾフの兄弟を読みました。紙のも持っているのですが、Kindleが長編小説に向くのか試してみたかったので、もう一度購入してみました。一ヶ月近く使ってみて、長編小説を読むのにはかなり良いデバイスであることがわかってきました。以下順に説明していきます。 デバイスの魅力 デバイスフリー ハイライトがまとめて見られる 続きがいつでも購入可能 デバイスの魅力 E-Inkは液晶ディスプレイより目が疲れにくく、長時間読み続けるのに向いています。日中の太陽光の下でも見やすいので、散歩に持って行くのも楽しい。寝る前に薄暗い枕元で読む際にも、

    Kindleは長編小説に最適かも。カラマーゾフの兄弟を読みました - ninjinkun's diary
    ninjinkun
    ninjinkun 2012/12/21
    iPhoneアプリとPCを行き来しながら書きました
  • ゾンビの夢 - ninjinkun's diary

    定期的にゾンビの夢を見ます。自分は怖いものが苦手な方で、ゾンビが特に無理です。バイオハザードも犬が飛び出してくるあたりでギブアップしました。 そんな自分ですが、半年に二回くらいはゾンビの夢を見ます。寝起きは最悪です。 たいていは周囲の人がゾンビ化した中で自分だけ生き残ってしまって、必死で脱出を図るという流れが多いです。誰も助けてくれない、親しい人がゾンビとして襲ってくるという恐怖はかなりのものです。 今朝もゾンビの夢を見たので、書き留めてみます。ちなみにゾンビはたいてい典型的な緑色もしくは紫色をしています。 今朝見たゾンビの夢 ゾンビが発生しているというニュースが流れる。自分が住んでいる町ではないところなので安堵するが、住民が逃げ惑う姿や、皆が逃げようとして渋滞が起こる映像を見て心を痛める。人が押し合いながら逃げて行き、つっかえて後ろの人が片っ端からゾンビ化する。絶望感が伝わってくる。 数

    ゾンビの夢 - ninjinkun's diary
    ninjinkun
    ninjinkun 2012/12/09
    久しぶりにゾンビの夢を見たので、あらすじを書きました