ブックマーク / laiso.hatenablog.com (42)

  • TypeScript Origins: The Documentaryを観た - laiso

    TypeScript Origins: The DocumentaryはTypeScriptの誕生に関わった関係者たちへのインタビューで構成されたドキュメンタリー動画。 www.youtube.com 製作元はOfferZenというアムステルダムの求人プラットームの会社で、以前にはSvelte OriginsやLaravel Originsも公開している。 作ではReact.js: The Documentaryの次世代フロントエンドフレームワーク開発競争と時期を同じくして起っていたAltJS戦争の中でどうTypeScriptが現在の地位を獲得していったのかに迫る。 laiso.hatenablog.com 私はTypeScriptについては片手間業務プログラマーという感じで全然詳しくないんですけど、TypeScript Originsのゆりかご からRemove TypeScript

    TypeScript Origins: The Documentaryを観た - laiso
  • Remove TypeScript - laiso

    経緯 world.hey.com DHHが「オタクくん見てる〜? 今からうちのレポジトリからTypeScriptを剥しま〜す」と宣言したことにより、Web開発者界隈でTypeScriptの是非自体の話になり騒ぎになった*1*2。 github.com その後、野次馬がたくさん集ってきてrevertプルリクエストを立てる人やTypeScript公式リポジトリから全ソースコードを消すプルリクエストを出す*3ようなキッズムーブをする人も出てきた world.hey.com 実際の変更 8617行のTypeScriptJavaScript化された。(Sloc 便利) ❯ scc src/ ─────────────────────────────────────────────────────────────────────────────── Language Files Lines Blan

    Remove TypeScript - laiso
  • 死後強まるサイト - laiso

    個人開発のコストはDB次第 この記事を見てびっくりした。まずビックリしたのは「DBお金を払えばいいのでは?」という点。 OSSへの寄付の月予算を$10にした にあるようにソフトウェアに費用をかける意思はあるのになぜプライベートの開発にコストをかけたくないのか。 記事の反応を見て気が付いたのだけど、僕は何故かサーバーレスアーキテクチャの採用を前提としていて、ここにヒントがあった。 最初はサーバー管理に関心がないのかもと思っていたのだけどパソコンとしてLinuxを使うのは結構好きだし、VPSもいくつか契約している。 これは何故なんだろうと考えていたのだけどブログのリセット でも触れたように「死後に放置されたサイトになる」ことを考えているんだろうという結論になった。 ノーメンテナンスでなるべく生き続けて欲しい。思い出してみると独自ドメインを避けるとか宣伝しないなどもその動機の為であった。 現実

    死後強まるサイト - laiso
  • Railsオワコン論 - laiso

    人の見方によっていろいろなんですね。一番高いところを知っていて、現状を見た時にそっちのほうが低いので、人気が落ちたというふうに見る人も当然いるわけですよね。人気が落ち続けると消えてしまうので、オワコンと言う人もいます。日でも海外でも、毎年のように「Rubyは死んだ」みたいなことをブログに書く人がいます。 https://logmi.jp/tech/articles/326541 logmi.jp ハイプサイクルの頂点との落差がRubyRailsのオワコン論の印象を呼ぶという話はそのとうりだと思う。 実際に急激なシェアの落ち込みが発生しているのかというと Stack Overflow Insights などを見ても観測できない。 (この話題についてのGoogle Trends同士の比較は「ハイプサイクルは実在する」ぐらいの感想しか得られないことが多い) 「最近は新規プロジェクトのアプリケ

    Railsオワコン論 - laiso
  • Firebaseを使った成長するモバイルアプリのための高速なプロダクト開発 / Rapid Mobile Application Development using #Firebase - laiso

    「Firebaseを使った成長するモバイルアプリのための高速なプロダクト開発」というプレゼンテーションのスライドを公開します。 2018年にバンコクにきて以来取り組んでいたプロジェクトについて技術的な内容をトークにしました*1。以下が概要です モバイルアプリケーションの開発プロジェクトはあらゆる意味で速度との闘いです。 複雑化するシステムアーキテキチャやプラットフォーム、開発ツールのエコシステム。数多くある選択肢の中から私達は2018年にFirebaseを使い、1つのモバイルアプリケーションを開発しました。 トークではその時の経験を元に、プロダクト開発を高速化するために技術者視点でどのような貢献ができるのか? という知見をシステムアーキテクトの立場としてお伝えします。 開発中はFirebaseコミュニティの情報などが非常に助けになりました。この場をお借りして感謝の御礼を申し上げます。 *

    Firebaseを使った成長するモバイルアプリのための高速なプロダクト開発 / Rapid Mobile Application Development using #Firebase - laiso
  • 無法地帯にテストケースを追加する時にいつもやっている戦略 - laiso

    数年開発続いてるけどテスト全くないみたいなよくあるコードベースを想定。 不具合を修正する時についでにリファクタリングしてドメイン層のテストを書く。 手動テストで不具合を再現 ViewからロジックをControllerへ移動し、Viewからは値の参照のみにする 移動したロジックをController内でプライベートメソッドに切り出す。返り値を(2)の値にセットする プライベートメソッドを外に出して関数→モジュール化する (4)のメソッドに対してテストを書き、失敗するのを確認する ポイントとしては 運用的観点ではなるべく早く不具合を修正してデプロイしたいので、リファクタリングだけ別のブランチでゆっくりやる 依存がでか過ぎで解決できなさそうなど問題があれば、その時点ではテストを書くのを諦める。行動したことで学んだIssueを起票する 具体的なリファクタリング方法は レガシーコード改善ガイド (O

    無法地帯にテストケースを追加する時にいつもやっている戦略 - laiso
  • iOSエンジニア向けのイベントでReactの話をした - laiso

    TL;DR iOSDC Japan 2017 というイベントが先日開催され、そこでReact Nativeを題材に何かトークをしようと応募したら、まんまと枠をもらえたので話をしてきました。 事前のリサーチでiOSのエンジニアReactReact Nativeについて名前や概要ぐらいは知っているけど使ったことのある人は多くないということが分ったので、まずは興味を持ってReact Nativeの環境をインストールしてもらうことをゴールに、Reactプログラミングのパラダイムや思想について、iOSエンジニアが普段行なっているネイティブアプリ開発とどのように違うのか? という内容にしました。 いくぶん抽象的な話に終始してしまい力量不足で当はもっとわかりやすい説明をしたかったなと反省しつつも、実践的な内容はこれからも各所で見られることになると思うので是非React Nativeにご注目ください

    iOSエンジニア向けのイベントでReactの話をした - laiso
  • Vue.js Tokyo v-meetup #4 が開催されました - laiso

    vuejs-meetup.connpass.com 会社のサービス*1 で使っていることもあって動向を注目しているVue.jsについて、国内最大のコミュニティの第四回ミートアップが開催されました。 会場はLINE株式会社提供のセミナールーム「オーディトリウム」で100名以上の参加者がおりたいへん盛況なイベントになりました。今回ブログ枠で参加させていただいたのでレポートを書きます。 Weex ではじめる Native App 開発 @KaraMisoRamen LTのトップバッターはKaraMisoRamenさんによるVue.js版React NativeというべきWeex の紹介でした。 weex.incubator.apache.org Weexプロジェクトの成り立ちやアーキテクチャの概要、React Nativeとの比較。などのお話でした。 僕はフレームワークおたくなので中国語ドキュメ

    Vue.js Tokyo v-meetup #4 が開催されました - laiso
  • 近況 - laiso

    4/1に株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 そしてBASEに入社した からしばらく経つので振り返りがてらに近況を書くことにした。 BASE社とPAY事業部 かなーりわかりづらかったので、頭の中にある組織図をツリー形式にしてみた - BASE - プラットフォーム開発: ECサイト構成の心臓部な部分 - PHPエンジニア - アプリ開発: ショッピングモールアプリ開発 - API(PHP)エンジニア - iOSエンジニア - Androidエンジニア - プロダクトマネージャ・BI - SREチーム - デザインチーム・フロントエンド - 営業 - メディア編集 : コンテンツ制作 - カスタマーサクセス・ユーザーサポート - PAY - PAY.JP : オンラインAPIを提供するサービスの方 - Pythonエンジニア - API -

    近況 - laiso
  • iOSエンジニアといいかんじなテストの話 - laiso

    Consumer Service Engineer MeetUp Vol.1 ~iOS編~ - dots. に行った。 最近あんまりザ・iOSアプリ開発らしいことしていなかったので情熱的な各社の話を聞けておもしろかったし、意識の高まりを取り戻せてよかった。 時間なかったので感想書く余裕ないかと思っていたんだけど、http://ainame.hateblo.jp/entry/2014/04/25/014605 の感想なんかを読んでたら触発された。 人力テスト 自動テスト vs 人力テストの構図というよりは、デベロッパーテスト、品質管理とユーザーテストやユーザビリティテストの違いで理解していた。 テストの目的と観点、誰が何をテストするのかという部分に注目するとスッキリすると思う。 講演した各企業の担当の人はユーザビリティテストに積極的だが、デベロッパーテストはうまくいってないという話を確かにし

    iOSエンジニアといいかんじなテストの話 - laiso
  • 就活日記 (12) 退職 - laiso

    目次: 就活日記 (0) エントリー - laiso そろそろ就職するにあたって、退職しないと就職することができないので就職する前にまず退職をしました。 思えば私のプログラマーとしてのキャリアも6年ばかりとなりました。 ところで私は当時勉強が出来ない奴はプログラマになれ! - IT戦記 を読んでプログラマになったクチで、この記事にはたいへん励まされました。 しかし当然順風満帆なプログラマー人生ともいえず。マイナスからのスタートでした。これはとくに精神面や比喩的な意味というわけではなく、低賃金の肉体労働をしばらく生業にしていたため単に総資産がマイナスでした。 そもそも私が一番最初にプログラマーをこころざしたのは、うだつが上がらない十代を地方ですごしていた時分です。 社会的脱落者として場当たり的に日銭を稼ぎ、賃料が不要な家で暮していた為稼いたぶんをそのままビデオゲーム筐体に投入する、などという

    就活日記 (12) 退職 - laiso
  • iOSテストについて書かれているおすすめ電子書籍情報(洋書) - laiso

    詳解Objective-C2.0にはテストの話がなかったけど、この辺は何で学ぶのがよいのだろうかなあ 2014-01-12 10:49:26 via web @nagayama テストのこと書いてある和書たぶんぜんぜん無い気がします。洋書ならありそう。Xcode標準のXCTestとOCMockとOHHTTPStubsとTKRGuardを使ったら最低限の単体テストが書けるつもり。あとexpectaとspecta使ってもよさそう。 2014-01-12 12:37:56 via Twitter for iPhone to @nagayama から 公式ドキュメント翻訳 Xcodeの概要(PDF) 「アプリケーションのユニットテスト」の項目があります、が内容は薄い。 Instrumentsユーザガイド(PDF) 「UIのテストの自動化」の章がありUI Automationについてふれられています

    iOSテストについて書かれているおすすめ電子書籍情報(洋書) - laiso
  • スタートアップの人材獲得戦略とは何か - laiso

    スライド 以下は下書き http://www.zusaar.com/event/4557003 これで話す内容について書いた。 どんどん長くなってきて、2・3回草稿を破棄してしまったんだけどだんだん書ききることを飽きらめムードになってきたので先に文章で投稿することにした。 はじめに 最近いろんな会社の採用に携わっている人の話を聞いたり、を読んだりして感じていた「大企業に対するスタートアップはこんな感じで人を採用していってるんだなー」という話をします。 特定の会社の話ではなく、とくに新しい手法でもなくてリーン・スタートアップのエリック・リース的な最近こういうのが流行っているらしいねという自分の意見で構成し直したものです。 コンテキスト ソフトウェアエンジニアの話です 東京のウェブ界隈の話です 経験者採用についてです ここでいうスタートアップは新興のビジネスを行うベンチャー企業ぐらいの意味で

    スタートアップの人材獲得戦略とは何か - laiso
  • スレッド・並行プログラミング/ マルチコア・並列プログラミングを学びはじめるためのN冊 - laiso

    読みたいのリストを作ってる(いくつかは購入済み)。 なんかおすすめあったら教えてください。 でもこういうのってリスト作って仕事した気になって満足してしまう。 並列と並行 学びはじめる前なんだから当然よくわかってはいないんでけど、並列と並行処理の違いは以下で認識してる parallel と concurrent、並列と並行の違い - 当は怖い情報科学 parallel と concurrent 、並列と並行の覚え方 - まめめも (追記) 孫引きなんだけど「コーディングを支える技術 171P」に「プログラミング言語の概念と構造」から引用した記述があった ここでは並行→プログラミング上の概念、並列→ハードウェアレイヤーの話となっていますね。 並列処理・並行処理がプログラミングに必要な理由 マルチコアを生かしたパフォーマンスの向上 大規模なデータの処理 GUIアプリケーションのユーザビリティ

    スレッド・並行プログラミング/ マルチコア・並列プログラミングを学びはじめるためのN冊 - laiso
  • プログラマが体験するべき○つのこと - laiso

    プログラミングはそれ自体が目的であっていい - mizchi log 大事なのは、いくつ地雷を踏んだか、だ。地雷を踏んだ数だけ強く慣れる。真に必要なのは、独力での問題解決能力。Python2系でsjisのHTMLをlxmlでスクレーピングすると、地雷を7つぐらい同時に踏めるからおすすめだ。 僕もまあそれなりに手を出しているのだけど、他の人も抑えるべきだと思った概念は、次のものだ。 Haskellにおける入出力IOと副作用の概念 HaskellのMaybe, またはScalaのOption型 Scalaのtrait Node.jsの非同期Promiseパターン C#のgetter/setter/readonly/async等の型アノテーション 題にはあんまり興味がなかったんだけどこの部分がおもしろかったのでイッチョカミしたい。 成功体験の共有とまではいかないけど、こういう「これはやってよか

    プログラマが体験するべき○つのこと - laiso
  • 最近のウェブ系スタートアップが採用しているプログラミング言語やフレームワークまとめ - laiso

    http://www.quora.com/Node-js-Ruby-Python-who-wins-in-5-years を読んでて「勝利条件としてより多くの”スタートアップ”に選択されること」という話がでてたけど、そもそも今は何が採用されているのか状況がよくわかたっていなかったので調べた。 スタートアップ? 一般(自分の周辺)に「ウェブサービス」みたいな呼称されているもの。消費者向けというかなんというか、企業向けシステムとか、ソーシャルゲーム単品とかは含めないことにした なんでスタートアップ?(小規模な企業) 企業が大きくなってくると、いろんな領域で必要なことがあってこの企業は→このプログラミング言語みたいなひもづけができなくなるので 項目は =企業ではなく=サービスでわけた 順番、国内外は適当。できるだけ知名度のありそうなサイトを選んだ いわゆるサーバーサイドのアーキテクチャの話(それ

    最近のウェブ系スタートアップが採用しているプログラミング言語やフレームワークまとめ - laiso
  • Tauri on mobile 現状確認会 - laiso

    tauri.app Tauri とは Electron代替として作られたRust製のGUIアプリケーション開発ツールキット。 ユーザーは各プラットフォームのWebViewで動くHTML+JavaScriptUI開発をして、裏側はRustで書いたネイティブバイナリにコンパイルされるプログラムを呼び出す。 実際の実装のイメージが以下で、Electronに使い方は似せられている。 tauri.app Electronは特製ChromiumとNode.jsをユーザーのアプリケーションに同梱することでポータビリティを担保させているのに対して(find /Applications -name "Electron Framework.framework" コマンドを実行してみると大抵どんな環境にもElectronが10匹ぐらい居る) TauriはOSが用意しているWebViewにリンクして、スクリプト

    Tauri on mobile 現状確認会 - laiso
  • フレームワーク乗り換える必要なし系の意見がもう少し欲しい - laiso

    ushironoko.me Vue.jsビギナーズガイド などを著書に持つushironokoさんの記事。 とくに共感したのは以下の文章 Vue は長らく「持たざる者のための宣言的UI」でした。ReactJavacript さえ書ければ使えると評されるように、裏を返せば JavaScript を書けないデザイナーや非フロントエンドエンジニアにとって扱いが難しく、jQueryが支配的な環境において Vue の存在はとてもありがたかったのです。 https://ushironoko.me/articles/2022/vue-ore-taido 僕がVueを知ったのは「Angularほど難しくない軽量データバインディング」としてのVueだったのでニーズが重なっていた。逆にこのニーズは今後Vueではなく別のライブラリが補うことになるのかもしれない。 TypeScript対応もComposit

    フレームワーク乗り換える必要なし系の意見がもう少し欲しい - laiso
  • Edge Functionsはブラウザ - laiso

    Cloudflare Workers Cloudflare Workersのようなサーバーレスなコンピューティングプラットフォームとしてここ数年活発な「エッジサーバーでプログラムを実行する環境」(呼び方が定まらないので一旦Edge Functionsとする)でアプリケーションを作る*1とブラウザが通信する先にもう1つブラウザが存在するような妙な感じを覚えていた。 例えばNext.jsAPI Routesなら書いたコードはNode.jsで動くので頭をサーバーサイドモードにすればいいが、Cloudflare Workersで動くエンドポイントを書く時はそうでない…… おまえ、ブラウザなのか? みたいな でもよく考えたらこれらのプラットフォームはSpiderMonkeyやらV8やらのブラウザと同じJavaScriptエンジンを組み込んだ実行環境を持っていて、APIも環境の制限(TCP接続とかフ

    Edge Functionsはブラウザ - laiso
  • Airbnb’s Server-Driven UI System(Ghost Platform) の感想 - laiso

    Airbnb’s Server-Driven UI System(Ghost Platform) とは何か Airbnbが社内で取り組んでいる最新UI開発システム Ghost Platformとそのコンセプトの名前 元Airbnb AndroidエンジニアRyan Brooksによるポストを参照 A Deep Dive into Airbnb’s Server-Driven UI System | by Ryan Brooks | The Airbnb Tech Blog | Medium A Deep Dive into Airbnb’s Server-Driven UI System どういうものか サーバー(API)からデータと画面構造(UI)を配信して各プラットフォームで再生する仕組み UI言語部分を抽象化したもの Web、iOS、Androidに対応する なぜ画面構造を配信するの

    Airbnb’s Server-Driven UI System(Ghost Platform) の感想 - laiso