enpedasiのブックマーク (145)

  • Mutation 後のキャッシュ更新処理についての設計指針(GraphQL, Apollo) - tomoima525's blog

    前回は、Apollo GraphQL における Mutation(トランザクション処理)の前提知識としてキャッシュ機構について説明しました。(記事はこちら) 今回は React Apollo(v2) における Mutation 後のキャッシュ更新処理について整理しつつ、どのパターンをどのユースケースで採用すべきかについてまとめてみました。 Mutation 後のキャッシュ更新処理 Mutation の返り値を使う(Optimistic UI/update) Refetch Subscription どう使いわけるか Mutation 後のキャッシュ更新処理 Mutation後のキャッシュ更新処理は大きく分けて3種類あります。それぞれ順番に紹介していきます。 Mutation の返り値を使う(Optimistic UI/update) まず、一番ベーシックな方法として、Mutation の返

    Mutation 後のキャッシュ更新処理についての設計指針(GraphQL, Apollo) - tomoima525's blog
    enpedasi
    enpedasi 2021/10/23
    Apollo Cache
  • PRMLで使われるデータセットの(現在有効な)入手先 - naoya_t@hatenablog

    PRML 12章の実装試してみたいけど、Oil Flowデータの配布ページが無くなってるんだよなあ、とあきらめてた。でもがんばって探したらwebarchiveから拾えた。tar.gzファイルまでアーカイブしてあるなんて……。すごすぎ。欲しい人いる? 再配布したらまずい? 2010-05-24 @shuyo Nakatani Shuyo Oil Flowデータの配布ページがずっとリンク切れのままなのですよね… それ以外のデータはBishop先生のリンクからひと通り手に入るけど紹介を兼ねて。 Handwritten Digits - 手書き数字(MNISTデータ集合) The MNIST digits data are available from Yann LeCun’s MNIST page, which also contains a detailed description of th

    enpedasi
    enpedasi 2019/10/13
  • GPy(Pythonのガウス過程用ライブラリ)の使い方 - StatModeling Memorandum

    概要 GPyを用いて、サンプルパスの生成、ガウス過程回帰、クラス分類、ポアソン回帰、Bayesian GPLVMを実行しました。自分用のメモです。 参考資料 [1] 公式ページ [2] 公式のチュートリアル [3] Gaussian Process Summer Schoolsの資料 理論的背景は上記の[3]を参考にしてください。日語でもガウス過程の解説がMLPシリーズから豪華著者陣で出るようです。超期待しています。 以下のサンプルプログラムは基的に[2]を元にしています。しかし、古くてそのままでは動かないプログラムや分かりにくいプログラムを少し加工修正しています。なお、環境は以下の通りです。 Windows 7 64bit Python 3.5.2 :: Anaconda 4.2.0 (64-bit) GPy 1.5.5 サンプルパスの生成 RBFカーネルで適当に定めたパラメータの値

    GPy(Pythonのガウス過程用ライブラリ)の使い方 - StatModeling Memorandum
    enpedasi
    enpedasi 2019/06/10
  • Haskell の Monad とは言語内DSLのフレームワークである - あどけない話

    この記事は、Haskellを勉強してある程度分かったけど、Monadで挫折した人のための記事です。10分間で、Monadに対する納得感を得ることを目的としています。他の言語でいう「モナド」にも通用する内容ですが、Haskell の文法や用語を用いますので、他の言語の利用者に分かるかは不明です。 Haskellを勉強したのですから、 代数データ型 型クラス は分かっていることにします。Monad は、単なる型クラスの一つで、それ以上でもそれ以下でもありませんから、この二つが分かってないと話になりません。 また、言語内DSL(以下、DSLと略記)という考え方を知っていることも仮定します。Monad とは、DSLのフレームワークという直感を与えるのが、この記事の主眼ですからね。 さらに、構造化定理をいう単語を聞いてもビビらない人を想定しています。逐次、反復、分岐があれば、計算しうる計算はすべて記

    Haskell の Monad とは言語内DSLのフレームワークである - あどけない話
    enpedasi
    enpedasi 2017/06/26
  • モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog

    (Haskellな日々になってるな…。) モナドというものがあり、Haskellで有名ですが、実際には、Java8のOptional、ScalaのOptionやfor内包表記などでは使用されています。ScalazというScalaのライブラリや、monadlogieというGroovyのライブラリでも使われています。 とはいえ、一般に、Haskellでのように積極的には使われていないというのが公平な見かたでしょう*1。Haskellでは当にいろんなものがモナド化されています。入出力(IO)、状態、失敗するかもしれない計算(Maybe、Either)、非決定計算、継続、パーサ(モナディックパーサ)、リーダ、ライタ、etc.etc……。 なぜこのような差が生じるのでしょうか? その前に、まず押さえておくべきことは、モナドは非常に汎用的な機能だということです。数学的定義はともかく、機能的に言うと、

    モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog
    enpedasi
    enpedasi 2017/06/26
  • 今日から始めるNode.jsコードリーディング - libuv / V8 JavaScriptエンジン / Node.jsによるスクリプトの実行 | Tokyo Otaku Mode Blog

    ソフトウェアを正しく理解する唯一の方法はコードを読むことです。 ドキュメントを読めばそのソフトウェアが何を実装しているか分かりますが、どのように実装されているかまでは分かりません。 開発中に何らかのトラブルに悩まされたときや、効率的なコーディングをしたいと思ったとき、下位レイヤのソフトウェアを理解しておけば素早く対処できるシーンが多くあります。 ただ、コードを読むことは簡単なタスクではありません。 現代的なソフトウェアはそれなりの規模のコードを含んでいることがほとんどです。アーキテクチャ間の差異を吸収するためのコードなど、質的な機能を理解する上ではあまり重要ではないコードも含まれています。 何らかの問題が発生してからコードを読もうと思っても、準備なしでは関連する箇所を探すだけでかなりの労力が必要な作業となります。 従って、普段からコードを読んでおくことが重要です。 また、コードを読むにあ

    今日から始めるNode.jsコードリーディング - libuv / V8 JavaScriptエンジン / Node.jsによるスクリプトの実行 | Tokyo Otaku Mode Blog
    enpedasi
    enpedasi 2017/06/26
  • 挑戦! Elixirによる並行・分散アプリケーションの作り方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!

    挑戦! Elixirによる並行・分散アプリケーションの作り方【第二言語としてのElixir】 「第二言語としてのElixir」、いよいよ後編では、処理を並行に扱う方法を紹介します。Elixirでは、なぜ並行処理が書きやすく、分散アプリケーションをシンプルに記述できるのでしょうか。 プログラミング言語Elixirの大きな特徴は、並行処理が書きやすく、分散アプリケーションをシンプルに記述できることです。 その背景となる「ErlangのVMにおけるプロセスをベースにした考え方」と「Erlang/OTP」については、前回の記事で説明しました。さらに、Elixirのプロジェクト管理ツールであるmixについても解説しました。 いよいよ今回は、こういったElixirの基礎知識をふまえて、Elixirで処理を並行に扱う方法を紹介します。 Elixirで並行処理を書きやすいわけ Elixirの並行処理に挑戦

    挑戦! Elixirによる並行・分散アプリケーションの作り方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!
    enpedasi
    enpedasi 2017/06/20
  • JSON.stringify で関数(funciton) も文字列化、JSON.parseでdeserialize する。 - それマグで!

    JavaScript のJSONはprimitiveな変数だけしか扱えなかった。 JSONというのは、当にお前さんらはね。サムライになれないんだよ。 JSON var obj = {"a": "takuya", "say":function(){ console.log(`My name is ${this.a}.`) } } obj.say() //=>My name is takuya. このオブジェクトをJSONでString化すると stringify すると関数消える。 JSONがサムライになれない理由がコレ。 JSON.stringify(obj) "{"a":"takuya"}" // function 消される。 これは仕方ないんだよ。 function が定義されるタイミングで、変数のスコープもあるし。でも初回ロードとか別にスコープを気にしない時になんとかならないか調べ

    JSON.stringify で関数(funciton) も文字列化、JSON.parseでdeserialize する。 - それマグで!
    enpedasi
    enpedasi 2017/05/12
  • 10000行超のElmを書いて見つけたベストプラクティス - ジンジャー研究室

    この記事はElm Advent Calendar 2016 の4日目です。 会社で書かせてもらってるElm製アプリが10000行を超えたので、現時点で個人的にこれはと思うベストプラクティスを実際のソース付きで書いてみる。 github.com (アプリについての情報は機会があれば) 1.必ずスタイルガイドに従う 行数が増える傾向にあるが、かなり読みやすくなるので絶対に従った方が良い。 Style Guide 関連コミット (let...in中に空行を挿入している) 2.データ構造にタプルを使わない 例えばマウスの位置などをタプルで(Int, Int)のように書きたくなる。しかし後悔するのでやめた方が良い。 -- 微妙 calculateX : Model -> Int calculateX model = let (x, y) = model.position in max 0 x --

    10000行超のElmを書いて見つけたベストプラクティス - ジンジャー研究室
    enpedasi
    enpedasi 2016/12/05
  • BLOGOS サービス終了のお知らせ

    平素は株式会社ライブドアのサービスを ご利用いただきありがとうございます。 提言型ニュースサイト「BLOGOS」は、 2022年5月31日をもちまして、 サービスの提供を終了いたしました。 一部のオリジナル記事につきましては、 livedoorニュース内の 「BLOGOSの記事一覧」からご覧いただけます。 長らくご利用いただき、ありがとうございました。 サービス終了に関するお問い合わせは、 下記までお願いいたします。 お問い合わせ

    BLOGOS サービス終了のお知らせ
    enpedasi
    enpedasi 2016/12/02
  • BLOGOS サービス終了のお知らせ

    平素は株式会社ライブドアのサービスを ご利用いただきありがとうございます。 提言型ニュースサイト「BLOGOS」は、 2022年5月31日をもちまして、 サービスの提供を終了いたしました。 一部のオリジナル記事につきましては、 livedoorニュース内の 「BLOGOSの記事一覧」からご覧いただけます。 長らくご利用いただき、ありがとうございました。 サービス終了に関するお問い合わせは、 下記までお願いいたします。 お問い合わせ

    BLOGOS サービス終了のお知らせ
    enpedasi
    enpedasi 2016/11/25
  • BLOGOS サービス終了のお知らせ

    平素は株式会社ライブドアのサービスを ご利用いただきありがとうございます。 提言型ニュースサイト「BLOGOS」は、 2022年5月31日をもちまして、 サービスの提供を終了いたしました。 一部のオリジナル記事につきましては、 livedoorニュース内の 「BLOGOSの記事一覧」からご覧いただけます。 長らくご利用いただき、ありがとうございました。 サービス終了に関するお問い合わせは、 下記までお願いいたします。 お問い合わせ

    BLOGOS サービス終了のお知らせ
    enpedasi
    enpedasi 2016/10/24
  • Elixir 入門 ~ MIX AND OTP ~ その3 - GenServer - もやもやエンジニア

    Bucketのプロセスを監視するプロセスをGenServerを使って作成する GenServerはElixirとOTPでサーバー機能を実装するための抽象化された仕組みである。 Our first GenServer GenServerは Client API と Server Callback の2つの部品が実装される。 ClientとServerはそれぞれ別のプロセスで動いていて、Clientを通過したメッセージはServerのCallback関数に渡される lib/kv/registry.ex を作成してGenServerを実装してみる。各関数の意味はコード内にコメントで書いておく。 defmodule KV.Registry do use GenServer ## Client API @doc """ Starts the registry. """ def start_link(

    Elixir 入門 ~ MIX AND OTP ~ その3 - GenServer - もやもやエンジニア
    enpedasi
    enpedasi 2015/12/17
  • Web開発時のGitでのゆるいワークフロー - ログ日記

    Gitで何か低レベルの高度な操作が必要だっていうときは、大抵の場合は作業は一つのブランチでしかしない症候群にかかっている。 Gitはブランチやマージが軽いので、作業中のブランチを次々作っても上手い具合にマージしてくれる。 masterが番、developがテストサーバー。 この辺はreleaseでもstagingでも何でも良い。 一人開発でも効果ある。 masterからissue-1ブランチを切る issue-1でcommit => developにマージ => テストサーバーで確認 => ちょっとここ直して〜 issue-1でcommit => developにマージ => テストサーバーで確認 => ちょっとここ直して〜 issue-1でcommit => developにマージ => テストサーバーで確認 => 確認中...時間がかかりそう 暇なのでmasterからissue-2ブ

    Web開発時のGitでのゆるいワークフロー - ログ日記
    enpedasi
    enpedasi 2015/12/16
  • Visual Studio 2015でNode.jsを開発するまでの道 - みんなのちからになりたい

    VSが2013あたりからNodeも開発できていいらしいとネットで目にしたので、ちょうど今回、新規でWindows上に開発環境を作らなければならなかったのでひと通り動かすところまでやってみた。 ちなみにVSにNodeが乗るという情報しかしらないので、いろいろ調べながらやっている。 もろもろインストール Visual Studio Community 2015 RC 普通に落としてきて普通にインストールする。 Visual Studio - Microsoft Developer Tools Node.js Tools for Visual Studio VSですぐNodeのプロジェクト作れるのかと思ったらまったくそうではなかった。 話が違うと思いいろいろ調べてみるとNode.js Tools for Visual Studioというのを入れる必要があるらしい。 普通に入れようとすると htt

    Visual Studio 2015でNode.jsを開発するまでの道 - みんなのちからになりたい
    enpedasi
    enpedasi 2015/12/11
  • CentOSに新しいバージョンのGCC/G++(4.8/4.9)をインストールする - TASK NOTES

    CentOS に Software Collections を使用して新しいバージョンの GCC/G++ コンパイラをインストールする方法です。 標準インストールされるGCC/G++のバージョン yumの標準リポジトリでインストールされるgcc/gcc-c++はバージョンが古いです。 # yum install gcc gcc-c++ # gcc -v gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) # g++ -v gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) このままでは C++11/14 に対応してないため、一部のプログラムがコンパイルできないという状況にもなりえます。そのため、Software Collections の Developer Toolset を使用して新

    CentOSに新しいバージョンのGCC/G++(4.8/4.9)をインストールする - TASK NOTES
    enpedasi
    enpedasi 2015/11/20
    node v5にアップデートするのにタイムリー
  • 転職紹介のアスパイア株式会社 - ASPIRE CORPORATION|業界情報

    enpedasi
    enpedasi 2011/02/15
    新興時価総額ランキングなど[株式]
  • [不思議の国アメリカ] “オンライン決済不在”の驚くべき実態

    上田 尊江 TransAction Holdings, LLC. CEO  Founding Partner 「ほんとに信じられない!」「なんでそんなことするの?」「なぜ日みたいにしないの?」 2006年、アメリカに引っ越してから、アメリカ人の夫にこんな質問を頻繁にぶつけるようになってしまった。毎日びっくりすることの連続だったからだ。個人的な理由でアメリカに永住することになり、輸入事業を手がける会社を設立した。一人の消費者として日常生活を送り、またスモールビジネスのオーナーとして経営をする中で、日アメリカの様々な違いを目の当たりにし心底驚いた。 アメリカ系企業で働いたこともあるし、アメリカと日の橋渡しをする仕事もしたから、アメリカのことはそれなりに分かっているつもりだった。でも紙の資料やメディアを通して知るアメリカと、実際のアメリカはすごく乖離していた。日では当たり前だった仕組み

    [不思議の国アメリカ] “オンライン決済不在”の驚くべき実態
  • 【物理学喫茶室】

    SINCE 2005/06/12 powered by Google search サイトをリニューアルいたしました 5秒後に新サイトに移動します Copyright (C) Cimarosa 2005-2020 All Rights Reserved. 投稿はこちらへ このページへのリンクは確認不要です。

  • 家庭内有線LANケーブル配線工事情報サイト-LAN工事ドットコム

    節約の時代、LAN配線工事にお金をかけるのはもったいない。自力でやれば配線工事費無料(タダ)。 やればできます、自分で家庭内LAN配線工事。 このサイトでは、ご自宅の各部屋に家庭内LANを構築しようとお考えのあなたへ、LANケーブルを美しく配線するためのノウハウを公開しています。 無線LANでは遅いし接続が不安定、だからと言って部屋や廊下の隅にケーブルを露出配線するのはイヤだ!というあなたへ、誰にでもきっとできる「キレイにケーブル配線」などの有線LAN埋め込み配線構築情報をお届けします。 このサイトについてもっと詳しく 最近の新着・更新記事 資材のノウハウ「LANコンセント(Cat6A)」をUP2022.05.19 最近のどうでもいい話「シャワーフック交換」をUP2022.05.01 コラム「Cat5eケーブルで2.5Gbps?!」をUP2022.01.24 出張LAN工事事例「hgさま邸