SaaS型Webサービス「カオナビ」のチーム開発でPackage by Featureを取り入れた話/Implementing Package by Feature in kaonavi
Scala.js 1.17.0 で実験的な Wasm backend がサポートされました! リリースノートに書いてあるとおり、以下のような設定をすることでScala.jsがJSの代わりにWasmモジュール(とモジュールに渡すJS object)を生成することができます。 @JSExport によるモジュールのexportがサポートされていませんが、それ以外のsemanticsはサポートされており、既存のScala.jsアプリケーションを変更なしにWasmにビルドすることが可能なはずです。(もし何か問題があれば教えて下さい!) // Emit ES modules with the Wasm backend scalaJSLinkerConfig := { scalaJSLinkerConfig.value .withExperimentalUseWebAssembly(true) //
はじめに jax/flaxはTensorFlow, PyTorchに次ぐ第3の選択肢として新しくGoogleによって開発された深層学習用フレームワークです。 jaxを使うと簡単に高速化ができますが、設計思想がオブジェクト指向の考え方からかなり違うものになっていて、慣れないとプログラムがうまく書けません。 特に、疑似乱数やTrainStateなど内部状態については真逆とも言える考え方をしていて、オブジェクト指向で作ったプロジェクトの移行には設計の見直しが必要になります。 そこで、筆者なりにjax/flaxの設計思想とオブジェクト指向の違いを解説してみました。 jax/flaxの紹介や使い方、チュートリアルは他の記事に譲ることとして、この記事では なぜ疑似乱数を使うときに不便そうに見える書き方をするのか TrainStateとは何者なのか、継承して変更を加えるときの指針 を中心に解説します。
この記事ははJLCPCBの提供でお送りします。 JLCPCBとは jlcpcb.com (↑こちらは日本語版のログインページで、お得なクーポンも配布されています。) JLCPCBとは、プリント基板製造などで有名な香港の企業です。 日本からでもWebページでポチポチするだけでKiCADなどで作成した基板データの製造を依頼できます。 値段もかなりお手頃で、ホビー電子工作ユーザーの間では広く利用されています。 この記事の作例もJLCPCBに基板を発注して実現しました。 どういうもの? Arduino NanoはArduino UNOと同じATMega328を搭載した、小型の開発ボードです。 小型ゆえそのまま製品に組み込みやすく、例えば私の作っている電子楽器のRakuChordでも、このボードをそのまま組み込んでいます。 Arduino Nanoの電源はUSBコネクタを経由して供給するのが普通です
Property based testingとは 歴史的な背景として2000年にJohn HughesとKoen Clasessenによって 開発されたQuickCheckがProperty based testingとしてHaskellエコシステムに実装されました。 QuickCheckはプロパティ(特定の入力が与えられると出力として期待される特性) を与えることで、 テストデータをランダムに生成して、失敗するケースを見つけるHaskellで実装されたフレームワークです。 それによってテスト対象のシステムがプロパティに従っているかどうかをチェックします。 QuickCheckは単体テストだけではなく、統合テストやサンプルベースのテスト等幅広く使われています。 このテスト方法はProperty based testingとして知られるようになりました。 2020年現在は、HaskellのQ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 近年、インフラストラクチャ管理の分野で注目を集めているのが「IaL(Infrastructure as Language)」という概念です。IaLは、自然言語での要件定義とAIによるコード生成を組み合わせることで、インフラ構築のプロセスを大幅に簡素化し、効率化することを目指しています。 本記事では、IaLの概念を活用し、AWS FargateでStreamlitアプリケーションをデプロイする過程を詳しく解説します。Terraformを使用したインフラストラクチャのコード化(IaC)と、Dockerを用いたアプリケーションのコン
だいたいやりたいところまでやったので感想を。 めっちゃ良い本なので、自作プログラミング言語興味ある人にお勧めです。 gihyo.jp どんな本 Rustを使ってスタックマシーン、パーサー、ASTインタープリター、バイトコードコンパイラ、実行環境を作っていきます。型チェックのシステムやコルーチン等のトピックもあり、実際に動く所までやります。 Rustの説明は少なめで結構いろんなテクは使われているので、別途Rustの本は必要です。途中からはパーサー(+トーカナイザー)として、ライブラリのnomを使います。yaccのように別途設定ファイルがなく、ソースコードにrustの文法で直接ルールを書いていくスタイルです。 ソースコードは段階毎にgithubに公開されていて、写経するならそこを見ながらやれば大丈夫です。 github.com 対象読者 本の対象読者はこう書かれています。 いずれかの言語で中級
なにを書くか 岩波DS vol.3(因果推論)のp.91で傾向スコアを用いて「スマホアプリ利用時間」に対する「CM接触効果」を調べるようなデータについて。本文中では、傾向スコア(Propensity Score)を用いて平均CM接触効果(ATE)を測っているが、これはCM施策前後の比較としてDID(Difference In Difference)でもできるのでは?と考えて調べました。 岩波データサイエンス Vol.3 発売日: 2016/06/10メディア: 単行本(ソフトカバー) github.com では、そもそも どういうときに傾向スコアを用いて、どういうときにDIDを使うのか? という疑問がわいたので、主に使い分けについて記載します。 なお、各手法の概要は以前書いた以下を参照。 knknkn.hatenablog.com knknkn.hatenablog.com 結論 それぞれ
ghc-9.6.1です。 GHCはChar kindが9.2で入ったので型レベルパーサーが書ける様になってるんですよね。ということで書いてみました。 BNFは以下です: expr ::= term *('+' term) term ::= factor *('*' factor) factor ::= '(' expr ')' | nat nat ::= 0 | 1 | 2 | ... | 9 {-# Language TypeData #-} {-# Language DataKinds #-} {-# Language TypeFamilies #-} {-# Language UndecidableInstances #-} {-# Language TypeApplications #-} {-# Language MagicHash #-} {-# LANGUAGE NoStar
さいきん「スーパーマリオ3Dワールド」にハマっている。 美しいグラフィック、様々なギミック、ステージごとに新たな発見が存在するという底の見えないアイデアの山とその組み合わせ方、少ないボタンから生み出される多彩なアクション、そしてキャラクターの可愛らしさ。 どれをとっても素晴らしい出来である。 そしてある日、遊びながら「この作品はパワーアップ状態を維持し続ける事がゲーム性になっているのでは?」と感じるようになった。また、この「保ち続ける面白さ」は今まで遊んだ「楽しい」と感じた作品で特にゲーム性として機能してるケースが多いのではないかという事に気付き始めた。 今回はこの「状態を保つ」ゲーム性について自分なりに考えを纏めて記事にしてみた。 目次 目次 「状態を保つ」ゲーム性とは 「保つ」ゲームの例 ヌルゲーが楽しくない原因、或いはクッキークリッカーに飽きてしまう理由 失うものが何もない、という「
コペンハーゲンに来られた某先生と話をしていた際に飛び出た話題なのですが、昨今、デザイン思考って世間で過剰評価されているのではないかと思います。世の中を見渡して見渡してみると、猫も杓子もデザイン思考だという感じで、イノベーションに必要なのはデザイン思考だ!デザイン思考さえあればイノベーション創出し放題だ!なんて論調さえ聞こえてくるのですが、デザイン思考はそこまで万能ではありません。 デザイン思考を実際に使うためには、色々と制約もあるはずですが、そのあたりがうまく認識されていない可能性があるのではないかと思います。そこで、デザイン思考の導入を検討する前に、この辺りを認識しておく必要があるよねという点について、私が思いつくあたりでいくつか書いておこうかと思います。 なお、本稿では私が思いついた点を3つ程挙げますが他にも色々と注意点があると思います。こういう点も注意が必要だなど他にありましたら是非
520kBしかメモリが無いESP32環境上の組込みRustで、100kB弱のJSONを扱うために、JSONストリームパーサーを作ったお話です。
とある Google グループに書いたものだけど、ツッコミが来ることを期待してこっちでも公開してみる Fortran まず、世界で最初に本格的に実用化されたプログラミング言語である Fortran が、1955年前後に生まれます。Fortran では、(それまでの "ADD [addr], 1" のような記法に比べれば)"A + 1" のように数式ライクな(名前からして、"For" は formula から来ています)表現ができるようになりました。もっとも、プログラミング言語が数学らしくないと言われるポイントの大きなひとつであるところの "A = A + 1" も同時に広まることになります。 Lisp 次に Lisp が、1960年前後に生まれます。特殊形式の LAMBDA により、値としての関数を表現する、という技法を数学からとり入れ、世界最初の関数型言語と言われます。 誕生の時点では、
AWS Verified Access が GA となったので IAM Identity Center を信頼プロバイダーとしてグループポリシーを設定して使ってみた いわさです。 re:Invent 2022 で AWS Verified Access がパブリックプレビューで登場していました。 VPC 内のプライベートなアプリケーションに信頼された IdP を使って、構成されたポリシーをクリアしている場合など一定条件を満たしているとパブリックなエンドポイントを経由したプライベートネットワーク上の Web アプリケーションへ接続させることが出来るサービスです。 そんな AWS Verified Access が本日 GA となりました。 プレビュー時点からいくつか機能が追加されているのですが、そもそも DevelopersIO に実際に使った記事がないことに気が付きました。 そこで、本日は
本日のデモ: 本日のソースコード: おっと、待たせたねぇ!今日は「DuckDB-Wasm」と「DuckDB-Spatial」についてご案内いたしやすよ! この記事を読めば、ブラウザだけで地理空間情報の分析をサクッとこなせすための環境構築や、便利な関数を使った地理空間情報分析の基本がバッチリわかるって寸法よ!これを知っときゃ、サーバーいらずで本格的な地理空間情報分析ができちまうし、つまずきやすいポイントもスッキリ解消!あんたもいますぐ地理空間情報分析の達人になれるこたぁ間違いなしだ!さぁ、江戸っ子の心意気で、いますぐその手で試してみな! Vite.js + React でやんでぇ!まず、Vite.js + React + TypeScriptを開発環境の基板とするってのは、問答無用で決まりだ!ほかにゃ選択肢はねぇってわけよ。Viteの速さ、Reactの使いやすさと豊富なライブラリのエコシステ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く