タグ

2017年12月10日のブックマーク (19件)

  • [Elm] 予期しない CSS transition の発火をしないように Virtual DOM にお願いする方法 - Qiita

    概要 記事では、Elm プログラムにおいて CSStransition プロパティで定義された遷移アニメーションが予期しないタイミングで引き起こされる例を挙げ、その解決法を示します。 また、ただのデモアプリのくせに無駄にCSSをまじめに書いたものを見せつけることで、「CSSちゃんと書けるとこんなにびよんびよんできるんだぜ〜」と自慢することが目的です。 記事のコードは Elm 0.18 を対象にしていますが、Elm 0.19 でも対処法は同じです。 また、記事で紹介しているコードはgithubで公開しています。 まずはこれを見てください わりと現実的にありえそうなデモをさくっと作っておきました。 タブが2つあって、切り替えると内容が変わります。 Tab Bには "Edit" と書かれたリンクがあり、これをクリックするとポップアップが立ち上がって日付を変更できるイメージです。 (実

    [Elm] 予期しない CSS transition の発火をしないように Virtual DOM にお願いする方法 - Qiita
    igrep
    igrep 2017/12/10
  • Mapping things

    This is an article explaining the concept of functor to programmers who are interested in Haskell but not sure how to get started on those abstract ideas. Many articles introduce functional programming with examples of maping, filtering and reduceing arrays, but it feels like it is not very useful except from array manipulation. This post focus on the map concept and try to explain how is it usefu

  • GitHub - little-dude/rmp-rpc: a msgpack-rpc rust library based on tokio

  • Tokioで1チャンネル双方向通信可能なMessagePack-RPCのライブラリを作った - Qiita

    少し前に作った双方向の MessagePack-RPC 実装に関する知見をまとめておきます. 成果物は以下の通り. https://github.com/ubnt-intrepid/msgpack-rpc-rs はじめに MessagePack-RPC について MessagePack-RPC は MessagePack を使用した RPC であり,JSON や XML ベースのものと比較し非常にコンパクトなフォーマットで通信を行うことが出来る.各メッセージは MessagePack の配列として表現され,それぞれ次のような要素を持つ. Request = [0, msgid, method, params] msgid: integer method: string params: array Response = [1, msgid, error, result] msgid : in

    Tokioで1チャンネル双方向通信可能なMessagePack-RPCのライブラリを作った - Qiita
  • 技術書典3で同人誌を頒布しました

    この記事は KLab Advent Calendar 2017 10日目の記事です。 こんにちは。このブログでは4度めまして、kakkun61 です。 この記事では、10月22日に開催された同人誌即売会技術書典3に KLab の有志で作った同人誌を頒布しましたので、その報告をします。 頒布した同人誌は電子版が無料で、この記事の下部にダウンロード用のリンクを張っています。 技術書典とは 技術書典は、プログラミングについての同人誌を作成しているサークル TechBooster と達人出版会が主催する技術・科学系同人誌即売会で、今回含めナンバリングイベントが3回、超会議での超技術書典が1回開催されています。 今回は秋葉原のアキバ・スクエアで開催され、ユニークの来場者数では2750名とかなり大規模なイベントとなっています。 ただいま17時をもちまして、#技術書典3 閉会いたしました! 台風直撃の最

    技術書典3で同人誌を頒布しました
  • GitHub - todays-mitsui/Mogul: An interpreter that evaluates λ-calculations step by step.

  • 型無しラムダ計算学習用ステップ評価器 Mogul を作っている話 - Qiita

    どうも、趣味で関数型言語をやっている者です。 これは 言語実装 Advent Calendar の2日目の記事です。 導入 みなさま ラムダ計算 をご存知でしょうか。 ラムダ計算はある種の関数型プログラミング言語の体系で、変数と関数、そして関数適用というミニマルな構成要素だけでチューリング完全な表現力を持っています。 今回はラムダ計算の中でも特に単純な 型無しラムダ計算 に着想を得て、型無しラムダ計算のステップ評価器を作った(作っている)話について書きます。 既存のモデルへの不満 型無しラムダ計算を具体的な実装に落としたものとしては、有名なところで Unlambda や Lazy_K などがあります。 どちらも SKI コンビネーター理論 に基づいており、 s, k, i という たった3つの組み込み関数でプログラムを記述することが可能 1 です。 かく言う私も Unlambda から型無

    型無しラムダ計算学習用ステップ評価器 Mogul を作っている話 - Qiita
  • 本気で Haskell したい人向けの Stack チュートリアル - Qiita

    この記事は定期的にメンテナンス(加筆・修正)されています。 記事のコードは waddlaw/Qiita-stack に置いてあります。 Haskell の開発方法については以下のサイトに色々とまとめていますので、こちらもご参照ください。 Haskell Development TODO: profiling, default-extension, ghc-option, package.yaml と stack.yaml の関係, について追記する。 記事では Pearls of Functional Algorithm Design (訳: 関数プログラミング 珠玉のアルゴリズムデザイン) の第1章を題材として stack を使った Haskell プロジェクトの基を解説しています。 プログラムの内容を理解できなくても、記事を最後まで読むことで Haskell プロジェクトの作り

    本気で Haskell したい人向けの Stack チュートリアル - Qiita
    igrep
    igrep 2017/12/10
    素晴らしい!!
  • Makuake|あなたの部屋が美術館。3万点以上の名画が鑑賞できる電子キャンバス【ミューラル】|Makuake(マクアケ)

    配信は過去ご購入いただいた全てのサポーター様へ配信させていただいております。重複受信されているサポーター様にはご迷惑をお掛けしますがご了承願います... Wi-Fi接続で、3万点以上のアート作品を自動で次々にキャンパス内に写し出すことが可能な電子キャンバス「Meural(ミューラル)」が、遂に日に上陸します。 モーションセンサーを搭載したこのミューラルは、単に絵画を表示させるだけなく、額縁の前に手をかざしてスワイプ操作することで自分が好きな画像に切り替えできる、ジェスチャーコントロールも可能にした最先端の電子キャンパスです。 専用サイト(my.meural.com)を利用すれば、自分だけのオリジナル絵画プレイリストが作れたり、一時間毎に好きなプレイリストを自由に再生(スケジューリング)することができるなど、様々な使い方で絵画を楽しむことができます。 さらに専用サイトからは、ご自分のア

    Makuake|あなたの部屋が美術館。3万点以上の名画が鑑賞できる電子キャンバス【ミューラル】|Makuake(マクアケ)
    igrep
    igrep 2017/12/10
    面白そうだなぁ。ちょっと高いけど。。。
  • JavaScript のスレッド並列実行環境

    これは Chromium Browser アドベントカレンダーの十日目の記事です。記事では Chromium における JavaScript のスレッド並列実行環境について仕様・実装・API の面から包括的に紹介します。ブラウザの内部実装に興味がある人を対象に、各機能の使い方ではなく実行モデルに焦点を当てて説明しているため、難易度は高いです。使い方を知りたい人は MDN などの記事を読んでください。この記事をきっかけに実装解読に挑戦してみる人が一人でも増えると幸いです。 記事を書くにあたり、yuki3 さんに多くのコメントをいただき、議論に付き合っていただきました。ありがとうございました。なお、文責はすべて私 (nhiroki) にあります。誤りや補足、質問などは気軽に GitHub Issue もしくは Twitter へお寄せください。 更新履歴 2018/01/15 Layout

    JavaScript のスレッド並列実行環境
  • 【電子版】「別の開発費に使用」PEZY・斉藤容疑者 助成金不正受給認める(更新)

    スーパーコンピューター開発会社「ペジーコンピューティング」による詐欺事件で、東京地検特捜部に逮捕された社長の斉藤元章容疑者(49)が調べに対し、「外注費を装って事業費用を水増しし、助成金を受け取った」と不正を認める供述をしていることが7日、関係者への取材で分かった。 助成金について「新エネルギー・産業技術総合開発機構(NEDO)に採択された別の助成事業の開発資金に充てた」と話し、私的流用を否定していることも判明。一部は斉藤容疑者が関係する複数企業の増資に充てられた疑いもあり、特捜部が資金の流れを調べている。 斉藤容疑者と元事業開発部長の鈴木大介容疑者(47)は2014年、NEDOが実施した助成事業で、研究開発に掛かった事業費用を水増しした報告書を提出。助成金約4億3100万円をだまし取った疑いが持たれている。 関係者によると、鈴木容疑者は調べに対し、助成金の不正受給は「社長の指示だった」と

    【電子版】「別の開発費に使用」PEZY・斉藤容疑者 助成金不正受給認める(更新)
    igrep
    igrep 2017/12/10
    残念。
  • Elmに入門してみて思ったこと - Qiita

    igrep
    igrep 2017/12/10
  • Vim を使い DarkPowerを得る - Qiita

    #力がほしい Vimを愛用し初めて1年半、そろそろ力が欲しいと思っていたところ。 Dein.vim Dein.vim is a dark powered Vim/Neovim plugin manager. 良いものを発見。 まさにdark powerを得るチャンス。 ※イメージ → haya14busa さんのスライドより https://docs.google.com/presentation/d/14pViuMI_X_PiNwQD8nuGRG72GUqSeKDqoJqjAZWS39U/edit#slide=id.g28fa7f227c_0_221 NeoBundleからDeinに乗り換える。 ついでに、Plugin整理やら追加やらをし、細かく解説していきます。 Deinを使う上での構成やら基的なことはここを参照。 #構成(~/以下) .vimrc .vim rc * dein.to

    Vim を使い DarkPowerを得る - Qiita
    igrep
    igrep 2017/12/10
  • kotlinとLintとEditorConfig - Qiita

    チーム内で個人のkotlin技術成熟度は小鳥から大鳥1までプロジェクトで様々だと思います。自由度に合わせたコーディングルールが必要となるkotlinでの開発において、Lintがないのはやはり辛いですね。Lintを開発していただいてる世界中のエンジニアに感謝しつつ楽しみにしています。みなさんのプロジェクトではどんなルールがあり、それらをどう共通しているのでしょうか。 Android Lintkotlin 残念ながら僕は参加してないのですが、先日のkotlinConfでLintに関するセッションがありました。 動画 スライド 今後はコードをkotlinに置き換えつつ、より強力なサポートを追加してAndroid Lint2.0としていくそうです。しかし、現状ではAndroidLintkotlinファイルの静的解析をIDEの機能からでしか行えません。 これはissueとしてあげられています。

    kotlinとLintとEditorConfig - Qiita
  • Kotlinでもジェネリクスの下限境界ワイルドカードをつかいたい!! - Qiita

    はじめに ScalaというKotlinと同じJVM言語にEitherという言語機能があるのをご存知ですか? Eitherとはジェネリクスの型A、Bのうちどちらかを持つと言うものです。kotlinで擬似コードを書くとEther<A,B>の様になります。EitherにはRightとLeftの2つのサブクラスがあります。 Right:英語のRight(正しい)にかけて成功を表す Left:失敗を表す ある日このEitherという言語機能をKotlinに移植しようと試みたのですが、ちょっとKotlinにジェネリクスの下限境界ワイルドカードがなく、試行錯誤することになったのでメモしておきます。 ハマったこと sealed class Either<A, B> { abstract val isLeft: Boolean abstract val isRight: Boolean } class Le

    Kotlinでもジェネリクスの下限境界ワイルドカードをつかいたい!! - Qiita
    igrep
    igrep 2017/12/10
    えっ、ないんだっけ。そっか。。。
  • ブルゾンちえみ判別器をブラウザ上に実装する - Qiita

    皆さん、Yahoo!検索大賞 2017はご覧になりましか? このアワードで大賞に輝くと、「今年の顔」の名誉を手に入れることができるんです。 そんな栄えある今年の大賞は、ブルゾンちえみとのこと。 他にも、俳優部門は高橋一生、女優部門は吉岡里帆、といった具合に各分野毎に受賞者がいます。 ところで、僕はあまりテレビを観ないので、誰が誰やらわかりません。 このままだと安心して2018年を迎えることができないので、画像を読み込んでそれが誰なのか判定するアプリが必要です。 一目見れば区別つきそうなものですが、僕の濁った目で直接見るよりも、機械に判定させた方がよいに決まっていますので、作ってみました。 実際の動きはこちらから確認できます。 今回はブルゾンちえみも含め、Yahoo!検索大賞の受賞者から以下の5人をピックアップし、判別できるようにしています。 ブルゾンちえみ(お笑い部門) 高橋一生(俳優部門

    ブルゾンちえみ判別器をブラウザ上に実装する - Qiita
  • Rustでパックマン風のゲームを作ってみた - Qiita

    tl;dr Rustの練習のためゲームを作った Boxを用いればtraitでもstructのフィールドの型にできる(トレイトオブジェクト) RustはDSTという仕組みを用いて継承の様な仕組みを取り入れている はじめに 8月末からRustを始めました。勉強のために何か作ろうと思いRust-SDL2を使ったパックマン風(※1)のゲームrust_pack_man」を作成しました。以下みたいなやつです。ゲームのフィールド作成に苦戦したので、そこの実装について書きます。 フィールドの作成 フィールドの情報を定義したtextファイルを読み込むことでrust_pack_manはゲームのフィールドを作成します。上のgifの様なステージであれば以下の様なtextファイルになります。1セルごとに情報が設定できる様になっていて、このセルはアイテムだ。このセルは敵キャラだという形になっているシンプルなやつです

    Rustでパックマン風のゲームを作ってみた - Qiita
    igrep
    igrep 2017/12/10
  • Google Homeでやったことまとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事は スマートスピーカー Advent Calendar 2017 10日目の記事です。 Google Homeを購入してからこの2ヶ月でやってきたことをまとめたいと思います。 が、ほとんどQiitaへ投稿した記事の紹介になってしまいました。 大体見たことあるという方はこちら以降をどうぞ。 なお記事の後半でコスト計算していますが、記事で紹介した内容は最低6,000円あれば大体実現できます。 ※各所で日までのGoogle Home半額セール前提。まだ購入されてない方はお急ぎを ※ツクモは25日までセール実施のようです

    Google Homeでやったことまとめ - Qiita
  • スーパーモナドについて - Qiita

    この記事は Haskell Advent Calendar 2017 (その1) の 10 日目の記事です。 スーパーモナド (supermonad) という気になる概念を見かけたので、ちょっと調べてみました。 スーパーモナドとは 世の中には、私たちがよく知っている普通のモナド1 以外にも、モナド的概念がいろいろと存在します。たとえば、こんなのがあります。2 指標付きモナド (indexed monad) https://hackage.haskell.org/package/indexed https://hackage.haskell.org/package/monad-param https://hackage.haskell.org/package/index-core 作用モナド (effect monad) https://hackage.haskell.org/package

    スーパーモナドについて - Qiita