タグ

ブックマーク / qiita.com/ababup1192 (8)

  • TypeScript any型から学ぶ健全な技術選定 - Qiita

    詳しくは割愛しますが、先日 TypeScriptのany型に対するスタンスでTwitter等で論争が起きるという事象が発生していました。TypeScriptJavaScriptの互換性の点で、とても素晴らしい利点を持つ言語です。ただ同時に、JavaScriptの負債をモロに受けてしまうという点で非常に繊細な言語であるとも言えます。技術選定には、健全な理由と不健全な理由がそれぞれ存在し、それらを慎重に加味しなければ、不利益を被ることがあります。そもそもこのような論争が発生しながらも、無理して使い続けてしまうことが今回もっとも不健全だと強く感じました。 any型を持つTypeScriptを選ぶべき健全なケースとして次のようなケースが考えられます。JavaScriptの資産が多く残っており、徐々に移行を進めるというシチュエーションでは、any型を使い十分推論可能な部分から型を明示していくなどa

    TypeScript any型から学ぶ健全な技術選定 - Qiita
  • Elm portsでFirebase Firestoreを触ろう! - Qiita

    ElmとFirebaseの記事が絶望的に少なかったので書いておくことにしました。特に認証が絡んだ記事がなかったので良ければ参考にしてください。 今回やったこと 今回行ったことは単純です。 Google認証をする -> 認証が成功すればinputが出現 -> Firestoreからデータを取得inputのvalueとして埋める -> inputの値が変更されたときFirestoreの値(uidごと)を書き換える JavaScriptとのやりとり: Ports まず前提知識としてFirebaseのようにJavaScriptの基機能ではなくライブラリでElmからその資産を使いたい場合には、Portsという仕組みを使います。Portsの基的な使い方や概念については公式ドキュメントを読むと良いでしょう。 ドキュメントから大事な部分を抜き出しておきます。 ElmJavaScript は、ポー

    Elm portsでFirebase Firestoreを触ろう! - Qiita
    igrep
    igrep 2019/02/18
  • Elmで超高速 型安全スナップショットテストのススメ - Qiita

    スナップショットテストはご存知でしょうか? スナップショットテストはそうなって欲しい結果を何らかの形で保存しておき、それと実際の結果のdiffを取ることでテストをする手法です。何らかの形とは、画像・HTML・JSXだったりします。詳しくは以下のリンクを参考にしてください。 screenshot-tests-for-android Jest snapshot-testing どのようにreduxのreducerのテストを書くか? なぜスナップショットテストをしたいか? なぜスナップショットテストをしたいのでしょうか? それはプログラム変更における影響が起きていないか、リグレッションテストを行うより早い開発段階でデグレーションを発見するためです。例えば、あるロジック対する単体テストを書いておきロジックの妥当性を担保していたとしても、そのロジックを用いて画面の描画を行う場合、その画面がどういう結

    Elmで超高速 型安全スナップショットテストのススメ - Qiita
    igrep
    igrep 2018/12/10
    すばらしい
  • 今勢いのある言語 Elm - Qiita

    フロントエンド特化型 フレームワーク内包言語 Elmが先日(2018/8/23) バージョン0.19 にアップデートされました。 アップデートの内容ですが、特に衝撃的だったのが、アセットサイズの縮小です。言語とフレームワークを内包しているにも関わらず、今主流のフレームワークたちを差し置いて29kbとかなり軽量になりました。 それだけでなく、 227モジュール、49,315行のコードに対して2秒を切る速度でコンパイルできるほどコンパイル速度が改善しています! 今まで実用的とは言えなかったElmの公式ドキュメントがElm Guideとしてアップデートされました。Elm-JPのコミュニティにも今回のアップデートには火が付いて、少数ながらも精鋭部隊で翻訳プロジェクトがとんでもない勢いで動いています!翻訳やElmに関する質問は是非コミュニティへ! Elm Guide (日語訳) 私自身もElmを簡

    今勢いのある言語 Elm - Qiita
    igrep
    igrep 2018/09/12
  • Elmなんか作ろう会はじめました - Qiita

    Webフロントエンドに特化したAltJSであり、フレームワーク(アーキテクチャ)を内蔵したReduxの親である関数型言語Elm 今年熱いです!!! 現時点(12月21日)ではありますが、Advent Calendar 2017のプログラミング言語 いいね ランキング3位で、かなりメジャー言語にいついています(なにげに7位にElm2もいます) そんな今熱い言語Elmですが日語書籍も無く(来年には、基礎からわかる Elm発売予定です!)、日語のWeb情報を充実している最中でございます。それでも一人で学び始めるには、ツライ・・・ そんなあなたの為にElmコミュニティ(たぶんまだ公認ではありませんが・・・)が、不定期ではありますが、それなりの頻度でオンライン・ハンズオン形式で学べる、なんか作ろう会を開催しました! 第一回が12/20で、第二回は12/22を予定しております。 会の内容です

    Elmなんか作ろう会はじめました - Qiita
  • 関数型言語Elmでテスト駆動開発 - Qiita

    Elm アドベントカレンダーの8日目です。 関数型言語Elmでテスト駆動開発シリーズのまとめです。 インデックス 1~4章 ドルの定義, timesの定義まで 5~7章 フランの定義まで 8~11章 Money, 通貨, ファクトリメソッドの定義まで 12~13章 reduceの定義まで 14章 レートを考慮したreduceの定義まで 15~16章 MoneyからExpressionに抽象度を引き上げ、様々なテストの追加まで まとめと反省 今回のシリーズを書ききって改めて、テスト駆動開発の素晴らしい書籍だと確信しています。多くの人に向けてJavaで書かれていますが、関数型言語で書かれているテスト駆動の書籍が出版されても良いとも思っています。しっかりした題材があるお陰で当初の予想以上にElmの勉強ができましたし、テスト駆動開発の手法の勉強にもなりました。反省としましては、自分の能力が低かった

    関数型言語Elmでテスト駆動開発 - Qiita
    igrep
    igrep 2017/12/09
  • Haskellを勉強して感動したこと・難しいと思ってること - Qiita

    Haskell Advent Calendar 4日目の記事です。 Haskellに入門したのは6, 7年前 ゲームが作れる言語(某モナディウス)だよ、と言われホイホイ研究室に入って学んだのが運命の出会いでした。最初は奇妙な言語でやたら頭を使わせるし聞いたことも無いしで、文句を言っていましたが学んでいくうちに次第にプログラムの美しさ合理性に惹かれていきました。残念ながら普段は僕の頭にあまる言語なので使用していませんが、後のプログラミング人生に多くの影響を残して言った感動したこと、そしてなぜ難しいと思っているかをまとめていきたいなと思います。基的には、書籍「すごいHaskellたのしく学ぼう」の内容の抜粋になります。Haskell未経験者の方に是非、学ぶきっかけになればと思っています。(当はHaskellのビジュアルプログラミング環境を作りたかったです・・・。時間が無くて断念) Hask

    Haskellを勉強して感動したこと・難しいと思ってること - Qiita
    igrep
    igrep 2017/12/04
    簡単に使えるライブラリーがあればよいという話なんだろうか。はたまた。
  • Elmでオブジェクト指向プログラマのための関数型入門 - Qiita

    Elm アドベントカレンダーの4日目です。 3日目は @arowM さんのSPAルーティングで特殊クリックをあつかうでした。 この手の記事無限に書いている気もしますが、、、 今回は普段オブジェクト指向の言語を触っていて関数型を学んでみたい、けど腰が重いと思ってる方や関数型を学び始めたが、どう書いていくかがわからない、そんな方に向けた記事になります。オブジェクト指向の言語だと広すぎるのでJavaのプログラムをサンプルとしてあげ純粋関数型言語Elmでは、どのように表現するのか、というのを意識して書いてみました。 Class 関数型言語では関数とデータ構造を組み合わせて行くことでプログラミングをおこなっていきます。Javaではクラスを定義していくことでプログラミングをおこなっていきます。この説明だけを見ると関数型は、C言語と何が違うのだろう? オブジェクト指向と関数型はまったく違う系統の言語では

    Elmでオブジェクト指向プログラマのための関数型入門 - Qiita
    igrep
    igrep 2017/12/04
    "関数型言語への入門にためらいがある人や、オブジェクト指向言語とのギャップに苦しみを感じている人に、やりたいことに差は無いよ" いいね!
  • 1