What is Selda? Selda is an EDSL — an embedded domain-specific language — for defining, querying and modifying relational databases from Haskell. The same type-safe Selda query can be executed unmodified on either PostgreSQL or SQLite, making Selda ideal for prototyping as well as for taking the step from prototype to real application. Through its monadic interface, Selda supports writing queries i
与えられたConnectionを通じて、指定したKeyに対応するByteStringを取り出すような、シンプルなKey-ValueストアのAPIを考えてみよう。 type Key = ByteString fetchOne :: Connection -> Key -> IO ByteString ネットワーク越しにたくさんのデータを取得したいとき、何度もこれを呼び出していては効率が悪い。一度にまとめて取り出せるように拡張するなら、このように書ける。 fetchMany :: Connection -> [Key] -> IO [ByteString] 悪くはないが、この型はたとえば「["foo", "bar"]を要求したのに返ってきたのは[]」のような振る舞いを許してしまうため、使い手に不必要なパターンマッチを強いる。だが、リスト[]にちょっとした一般化を施すだけでそれを防ぐことが可能だ
古代ローマ史には「人類の経験のすべてがつまっている」と言われる。 ではブルマの歴史には何がつまっているだろうか? ブルマを覗くと慣習との戦い方が見えてくる。 束縛するファッション ここしばらく「#KuToo」の記事をよく見た。 スーツも革靴も嫌いな俺としては、この風潮を歓迎する。ハイヒールやパンプスのような非合理的なファッションは、労働の現場から消え去ったほうがいい。そもそも会社の指定した靴により足腰を痛めたならば、それは労災である。労災のリスクが高い服装を強制するのはどう考えてもおかしい。 しかしながら、この時代にまだハイヒールやパンプスを強制してくる会社の意識を変えるのは難しい。合理的な思考をする会社ならば、すでに靴を自由化しているか、逆にかかとの高い靴を禁止しているはずだからだ*1。今も頑なにハイヒールを求めるということは、そこにある種の信仰を見出しているのだろう。 どうしたら非合理
この記事は以前の rhysd.hatenablog.com の続編で,WebAssembly (Wasm) にポーティングした Vim の話です. github.com TLDR Wasm にコンパイルした Vim のコードを Web Worker(ワーカスレッド)の中で動かすことで,メインスレッドで行われるユーザのインタラクションをエディタがブロックしなくなりました. また,イベントループのポーリングを Atomics.wait() でやってキー入力を共有メモリバッファで受け取ることで Emterpreter を捨て,実行速度・安定性・バイナリサイズ・ビルド時間・メンテ性が向上しました. 実装: Run Vim in Web Worker and say goodbye to Emterpreter by rhysd · Pull Request #30 · rhysd/vim.wasm
従来のJavaScriptではWorker間でのデータ共有はできませんでしたが、SharedArrayBufferとAtomics APIを用いればそれが実現できるようになりました。 WorkerはJavaScirptでマルチスレッドを実現するための仕組みです。詳しくは「Web Workersを用いてJavaScriptをマルチスレッド化する」をご覧ください。 Workerは元来メッセージのやりとりのみでデータを共有し、同じメモリの値を共有することはできませんでした。しかし近年になって導入されたSharedArrayBufferで、Worker間のメモリ共有が可能になりました。 SharedArrayBufferは固定長のTypedArrayです。使用するには、単にバイト長を指定してnewするだけです。 // SharedArrayBufferを作成する。 // SharedArrayBu
お知らせ 【重要なお知らせ】iOSアプリの運用および提供を2024年6月3日(月)を以て終了いたします。詳細は お知らせをご覧ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用申請及び審査がございます。詳細はヘルプページをご確認ください。
","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 -->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">\n <div class=\"
人事データベース HRMOS Coreチームの doyaaaaaken です。 最近は Kotlin でサーバサイドをメインに開発しています。 なお、本日が最終出社日です!(新手の退職エントリですw) 今回、日本語・英語どちらの資料も少ない、珍しい規格を用いた開発を行ったので、それについて簡単に紹介します。 何をやったか 弊社では、現在 HRMOS Core と呼ばれる人事データベースを開発しています。 そこで、Slack や Salesforce などメジャーなクラウドサービスも採用している SCIM(System for Cross-domain Identity Managementの略) と呼ばれる規格に準拠した、汎用的なユーザ情報連携のための API 群を開発しました。 開発した背景 HRMOS Core は人事データベースであるという特性上、社員情報を一元管理し、入社、退社、人
前書き これはDMM.com #2 Advent Calendar 2017 - Qiita 17日目の記事です 昨日は @shinderuman さんの 開発環境の構築をモブプログラミングを用いてやってみた話でした カレンダーのURLはこちら DMM.com #1 Advent Calendar 2017 DMM.com #2 Advent Calendar 2017 本記事は、SCIM初心者による、SCIM初心者に向けた記事になります tl;dr SCIMとはプロビジョニングやデプロビジョニング用のID情報を RESTfulなAPIでCRUDで操作する時の標準プロトコル 対象の読者 SCIMについて興味があり、SCIM初心者の方 ID情報のプロビジョニング・デプロビジョニングに興味がある方 10分ほど時間が空り、丁度よい時間つぶしの方法が無い方 背景 多くの組織では、ユーザーを認証して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く