並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 564件

新着順 人気順

*Programの検索結果81 - 120 件 / 564件

  • Hono[炎]っていうイケてる名前のフレームワークを作っている

    Cloudflare Workersは「CDNのエッジで動く」という特徴だけでなく「サーバーレス」の環境としても非常に優秀です。プロジェクトの作成からデプロイまで「4ステップ」で出来ます。 自動的に {project-name}.{user-name}.workers.dev といったURLを発行してくれて、すぐさま公開されます。この手軽さとスピード感はヤバい。スクリプトのサイズが1MB以内、使えるAPIが極端に限られているなど制約がありますが、それはそれで単一機能のシンプルなアプリケーションを作る気にさせてくれます。 さて、このCloudflare WokersでWebアプリを作っていたのですが、だんだんとCloudflare Workersに特化した「Webアプリを作るためのフレームワーク」を作りたくなってきました。手段の目的化です。ということで作り始めました。「Hono[炎]」という

      Hono[炎]っていうイケてる名前のフレームワークを作っている
    • 型なし言語のための型

      富山Ruby会議01

        型なし言語のための型
      • Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する

        今回の話はWasmというよりもService Workerの話がメインになりますが、WasmとService Workerを組み合わせることで、ブラウザー上でサーバー処理をリアルに再現することができるので、このタイトルにしています。 まずは動画をご覧ください。 見ていただくと分かるように、ブラウザー上でPHPのコードを書くとその実行結果が右側に表示されています。 特に面白い点が、お問い合わせフォームのPOST後の処理までもブラウザー上だけで実行できているという点です。 これはWasmとService Workerを組み合わせて実現しています。 大体以下のようなプロセスで実現しています。 Wasmはブラウザー側でも実行可能ですが、あえてService Worker上で実行しているのは、URLへのリクエストに対してそのリクエストにインターセプト(介入)することで、POST後の処理などもブラウザ

          Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する
        • Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog

          こんにちは、Unityエンジニアの菅谷です。今回はUnity as a Libraryの活用事例と開発テクニックとして、以前のLTで紹介した内容をまとめました。Mirrativでの活用事例を通してUnity as a Libraryの強みや課題を共有し、他のプロダクトでの導入の参考になれば幸いです。2021/6〜2021/7にMirrativ×Unity as a Libraryのテーマで行った3本のLTをまとめた内容となっています。 mirrativ.connpass.com meetup.unity3d.jp mirrativ.connpass.com MirrativにおけるUnity Mirrativにはエモモという配信をサポートする3Dアバターが存在します。ユーザーは衣装やアクセサリーなどのアイテムを組み合わせてエモモを着飾ることができます。MirrativはiOSはSwift、

            Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog
          • 枯れた技術ってほんとに枯れてますか?保守できますか?|erukiti

            「枯れた技術」と言われたとき、それが安定していて、保守しやすいものであるという認識が多いように観測されます(観測範囲問題かもしれない)。 この記事でいう技術は「ソフトウェア技術」に特化した内容です。ソフトウェア技術はまだこの世に生まれでてから100年も経過してないような若すぎる産業であり、脆弱性など、ソフトウェア技術に固有の事情があります。 でもそれってほんとですか?事実ですか?正しくそのことを検証しましたか? あなたが枯れてないと認識している技術よりも保守しやすいと思っているのは、ただの思いこみではないですか? 昨日軽い気持ちで書いた僕のフロントエンド技術に対するスタンスという記事のようにフロントエンド系のバズる記事を書くとだいたい「保守とか考えてるの?」みたいなコメントがつくことがありますが、では、バックエンド、組み込み、機械学習、インフラを見て、枯れた技術ってほんとに枯れてるの?保守

              枯れた技術ってほんとに枯れてますか?保守できますか?|erukiti
            • Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita

              Concurrent Modeは、現在(2020年3月)実験的機能として公開されているReactの新しいバージョンです。Reactの次のメジャーバージョン(17.x)で正式リリースされるのではないかと思っていますが、確証はありません。なお、React公式からもすでに結構詳細なドキュメントが出ています。 並列モードの導入(実験的機能) Concurrent Modeに適応したアプリケーションを作るためには、従来とは異なる新しい設計が必要となります。筆者はConcurrent Modeを使ったアプリケーションをひとつ試作してみました。この記事から始まる「Concurrent Mode時代のReact設計論」シリーズでは、ここから得た知見を共有しつつ、Concurrent Mode時代に適応したReactアプリケーションの設計を提案します。 なお、Concurrent Modeはまだ正式リリース

                Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita
              • 主成分分析(PCA)の数学的な理論とPythonによる実装

                $$ \newcommand{\bm}[1]{\mathbf #1} $$ 主成分分析(PCA)の数学的な理論とPythonによる実装¶ Author: Yuki Takei (noppoMan) Github: https://github.com/noppoMan Twitter: https://twitter.com/noppoMan722 Blog: https://note.com/noppoman これは、noteの主成分分析の背景にある数学理論の話(最適化問題)の本文です。 主成分分析の数学的な理論の理解に必要な知識¶ 主成分分析は、アルゴリズム的な観点で見るとデータの分散を最大化させる最適化問題であり、その理論は数学(とくに微分学、線形代数)により与えられている。以下は、主成分分析で使われる数学の分野をざっくりとリストしたものである。 データ分析 分散、共分散 解析学 多

                  主成分分析(PCA)の数学的な理論とPythonによる実装
                • Pythonで知ってるとドヤ顔ができるかもしれない文法をいくつか紹介します - Qiita

                  新しめの機能を中心に知っているとドヤ顔できるかもしれないpythonの文法を紹介します。 1. 代入式 python3.8より追加された新しい構文です。新しいものを知っているって良いですよね。 代入式は :=という構文で書き、条件式と代入文を同時に使用可能です。 例えば以下のような良くある条件式は text = 'Hello New Expression!!' text_length = len(text) if text_length > 10: print(f"String is too long!!({text_length} length, expected <= 10)") :=を使用して以下のよう短縮して書くことが可能です。 if (text_length := len(text)) > 10:の部分で代入と条件式の両方の役割を果たしていることが分かります。 text = 'H

                    Pythonで知ってるとドヤ顔ができるかもしれない文法をいくつか紹介します - Qiita
                  • preactの仕組みを理解する軽量版教育用preactを作ってる話

                    preact を読みやすいように色々削りました

                      preactの仕組みを理解する軽量版教育用preactを作ってる話
                    • PythonのウェブフレームワークDashで京都の新型コロナアプリを作成した - Qiita

                      PythonのウェブフレームワークDashを使って、京都の新型コロナアプリを作成しました。DashはFlask、React、Plotlyを使って作られたフレームワークで、ダッシュボードのようなアプリケーションを短時間で作成できます。またコールバックを使ってアプリケーションをインタラクティブに動作させられます。私のようにデータをこねるのは好きだけど、ReactもVueもいまいちよくわからないという人には、容易にダッシュボードを作れるフレームワークです。 作成したアプリケーションは以下のURLにあります。 PC向け スマホ向け コードはgithubを参照ください。 開発環境は以下の通りです。 Windows10 Pro Python3.7.5 dash 1.9.1 pandas 1.0.0 アプリの機能 アプリは京都府のサイトから取得したデータ(取得方法などは後述)をCSVファイルとして読み込

                        PythonのウェブフレームワークDashで京都の新型コロナアプリを作成した - Qiita
                      • Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ

                        はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時はスピードを優先してプロジェクトメンバーの手に馴染んでいて分担もしやすいフレームワークとしてFlaskを採用しました。 一方で、JX通信社としてはFlaskよりもFastAPIを使うプロジェクトが増えてきており、今後もその傾向は続く見込みです。 そこで、特設ページ作成やAPI提供など初動としての開発が一段落したのを機に、JAWS DAYSで発表した仕組みを今後のために発展させる検証をしたので紹介します。 TL; DR; JAWSでは Serverless Framework+awsgi+Flaskな構成でスピーディに

                          Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ
                        • 軽量な Go 製カラムナフォーマット変換ツール columnify を作った話 - Repro Tech Blog

                          こんにちは。業務委託として SRE チームのお手伝いをしている @syucream です。 本記事では Repro にて開発した、 Go 製のカラムナフォーマットへのデータ変換ツール columnify について、開発背景や技術的な取り組みを紹介します。 なぜカラムナフォーマットか? ことのおこり 事業がスケールすると共に扱うログの量が増えることは、喜ばしい反面さまざまな悩みをもたらします。その中でも顕著なものの一つとしてコストの問題が挙げられます。 膨大なログデータはログに対するストレージ料金を増大させると共に、分析や可視化に際してクエリで求められるコンピュートのコストも無視できなくなっていきます。 近頃 Repro でもコンテナのログの管理においてこの問題が顕著になってきました。Repro のバックエンドシステムは ECS 上のコンテナで実現され、ログの閲覧・管理のため外部のログ収集サ

                            軽量な Go 製カラムナフォーマット変換ツール columnify を作った話 - Repro Tech Blog
                          • 僕がRSpecでsubjectを使わない理由 - give IT a try

                            はじめに 僕は折に触れて「RSpecではなるべくsubjectを使わない方がいい」という発言をしています。 Qiitaとか見てるとRSpecのsubjectを愛用している人が多そうな印象なんだけど、僕はほとんど使っていません。「subjectは原則使わない。明らかにメリットがあるときにだけ例外的に使用する」が僕のポリシーです。ほら、RSpecの(元)メンテナさんもそう言ってるし。 https://t.co/Rp5EiIxCVb #Qiita pic.twitter.com/pMlN35ihEG— Junichi Ito (伊藤淳一) (@jnchito) 2019年5月28日 そもそもの話として、RSpecではsubjectは無理に使わない、というのが僕の持論です。なぜなら無理にを使うと、いびつなテストコードができやすいから。基本はsubjectなしで書く。明らかにsubjectが有効なと

                              僕がRSpecでsubjectを使わない理由 - give IT a try
                            • 今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog

                              Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing

                                今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog
                              • GoのDBライブラリと俺たち、それからsqlla - KAYAC engineers' blog

                                年末ですね。カヤックでは360度評価の時期でもあるので、みんな振り返りだとか内省などの言葉がいたるところで飛んでいます。この記事でも今年の出来事を振り返りしてみたいと思います。どうも、ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの20日目の記事です。19日目はAWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話でした。 この記事のあらまし あるWebサービスを作るプロジェクトでORMを切り替えた 開発言語はGo言語 DBライブラリ/ORMはgithub.com/xo/xoを使っていました ですが開発途中から、私が作成したライブラリであるgithub.com/mackee/go-sqllaに乗り換えました どっちもコード生成系だけれど、

                                  GoのDBライブラリと俺たち、それからsqlla - KAYAC engineers' blog
                                • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

                                  【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 本記事は、kyleconroy/sqlcの基本的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

                                    【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
                                  • Latest topics > JS開発のつらみ - outsider reflex

                                    Latest topics > JS開発のつらみ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « 「まんがでわかるLinux シス管系女子」から「ITエンジニア1年生のための まんがでわかるLinux」への改題の意図 Main 理解の不可能性と断絶について » JS開発のつらみ - Nov 20, 2023 JavaScript界隈はソフトウェアのトレンドの移り変わり・流行り廃りが激しい、とはよく聞く。 「だから辛い」とはどういうことなのか、について考えたことのあれこれをXに垂れ流したのを、再編集してまとめた。 流行り廃りの何が辛いのか きっとすでに誰か偉い人も言ってそうだけど、今のWeb技術、特にJavaScriptのつらみは、「プロダクトやサ

                                    • Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog

                                      こんにちは、Gunosy Tech Labの片木(@jkatagi)です(普段はGunosyデータ分析ブログの方に生息しています)。 本記事では社内のとあるAPI(Go製)の改修をしていたときに遭遇したインメモリキャッシュの落とし穴について共有します。 普段からGoを書いている人にとっては当たり前のことかもしれませんが、アンチパターンとして共有できれば幸いです。 落とし穴にハマるGopherくん 要約 APIのアーキテクチャについて なにが起きたのか なぜ起こったのか 単体テストでは気づけなかったのか どう解決したか おわりに 要約 長くなるので最初に要約しますと 当該APIでインメモリキャッシュとして構造体のスライスを格納していた キャッシュしている値を変えてしまうとキャッシュ元も変わってしまう という事態が発生しました。 ですのでインメモリキャッシュを使う時は対象の値が変更されないこと

                                        Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog
                                      • GraphQLのN+1問題を解決する DataLoaderの使い方 - 一休.com Developers Blog

                                        こんにちは。宿泊事業本部の宇都宮です。この記事では、GraphQLサーバ実装時に遭遇するN+1問題と、その解決のために使えるライブラリを紹介します。 フィールド単位でresolverを用意する N+1問題 GoのDataLoaderライブラリ DataLoaderの仕組み DataLoaderのサンプルコード DataLoaderとDataDog APM むすび 採用情報 フィールド単位でresolverを用意する GraphQLでは、クライアントのクエリに応じてオンデマンドに結果を取得できます。 たとえば、以下のクエリを投げると… { accommodation(accommodationId: "00001050") { name } } 以下のようなレスポンスが取得できます。 { "data": { "accommodation": { "name": "マンダリン オリエンタル 東

                                          GraphQLのN+1問題を解決する DataLoaderの使い方 - 一休.com Developers Blog
                                        • GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena

                                          ghput pr-comment ghput issue-comment のデフォルトの挙動について注意点を追記しました 最近はGitHubやGH:Eといったサービスのリポジトリと、そのリポジトリと連携するCI/CD環境がある前提で、様々なパイプラインを作ることが普通になってきています。 git push や Pull Request をトリガーにCI/CD環境で実行されるのもテストの実行だけではなく、master mergeのタイミングでのプロダクションデプロイやプロビジョニング、その前段階としてPull Requestタイミングでのdry-runやplanの実行など。 GitHubは便利ですし、それと連携するCI/CD環境があるとその2つだけで様々なものの自動化ができて便利です*1。 そんなGitHub+CI/CDな環境で使えるであろう ghput というツールを作りました。 gith

                                            GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena
                                          • AI画像生成とワールド制作|るら

                                            自宅用に使えるワールドをBoothで販売してたりします。 ワールド制作の役に立つかなー、と思ってAI画像生成に手を出してみた、という次第です。 DALL·E 以前からAI画像生成自体、ワールド制作の何かに使えそうだなー、とうっすら考えていたところ、DALL·EというAI画像生成のサービスの噂を聞き、Waitlistに並んで3ヶ月ほどが経ちました。 そして先日、ついにアクセス権を手に入れた…!! とりあえず試してみると… え……すご…(言葉を失う)いや、なにこれ、すご… もうなんにでも使えるじゃん。 よっし、いろいろ試すぞー!!! …となっていたところだったのですが、ベータテストと方針が変わり、無料体験分を使い切ると15$で115回分のチケットを購入する、という方式になっているようでした。 まー、そりゃそうだよねー。サーバー負荷とかすごそうだし… 凄い画像を生成できるならそれでも安いかー で

                                              AI画像生成とワールド制作|るら
                                            • NuxtのSSRモードでメモリリーク?原因はaxios? - ANDPAD Tech Blog

                                              はじめに 最近金髪から黒髪に戻して更生しました藤井(フロントエンドエンジニア)でございます。久々にテックブログに貢献させて頂きます! 今はメインの施工管理機能の改修の傍ら、新機能開発にも携わっておりまして、フロント側はSSRモードのNuxtを採用しております。さて、そんな中SREチームから「フロントエンドがメモリリークしていませんか?」との通報が入りました。 いやいや、そんなハズは・・と思いながらもDatadogを見てみると見事にメモリ消費量が右肩上がりに増えていってます。なぜじゃ・・・。 調査開始 メモリリークになるような処理を入れた覚えはないぞ!と思いつつも調査開始です。ひとまずChromeのDevtoolでPerformanceやMemoryタブを見ながら確認しますが、これと言って原因が見つかりません。 おかしい・・。なんでだろう。 あれこれ試しましたが解決せず、ほぼ1日消化しました

                                                NuxtのSSRモードでメモリリーク?原因はaxios? - ANDPAD Tech Blog
                                              • Amazonのデータセットで始める商品検索

                                                この記事は 情報検索・検索技術 Advent Calendar 2022 の7日目の記事です。 はじめに 今年の夏、Amazonが多言語 (英語、スペイン語、そして日本語) のラベル付きの商品検索のデータセットを公開しました。 論文: https://arxiv.org/abs/2206.06588 リポジトリ: https://github.com/amazon-science/esci-data 情報検索において商品検索は、ウェブ検索を作りたいという企業より商品検索を作りたい企業の方が多いという意味で、ポピュラーなトピックだと思います。ところが公開データで実験を行おうとするとドメインが違うウェブ検索のデータセットか、ラベルのない商品カタログか、ラベルはあるけど小規模なデータセットかという限られた選択肢しかなく、仕方がないので非公開の独自データセットを作って実験を行うという状況でした。

                                                  Amazonのデータセットで始める商品検索
                                                • RustでWasm Runtimeを実装してみた

                                                  はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerでWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどのようにして実行されるのかを理解できたので良かったです。 今回はWasmのバージョン1の仕様を満たすように実装して、テストスイートは正常系と実行時異常系のテストは通しましたが、バリデーションなどのテストはスキップしています。 また、少しだけバージョン2の命令とWASIを実装していて、RustからビルドしたHello Worldを標準出力するwasmバイナリも動きます。 本記事は実装したWasm Runtimeの概要と、実装を通して学んだこと

                                                    RustでWasm Runtimeを実装してみた
                                                  • 自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル

                                                    scrapbox.io から派生して、 blog.sushi.money こういうことが可能だとわかった。 はてなブックマークはAtom形式でのエクスポートが可能なので、 はてブにAtomを吐き出させる AtomをJSONに変換する あとは同じ というプロセスで、自分のはてブのコメントを知っている状態のChatGPTのモデルを作ってみた。 コード 一番元々の記事ではPythonで書かれていたコードが、 id:hitode909 のコードではRubyになり、自分のコードだとScala3になっていて面白い。 #!/usr/bin/env -S scala-cli shebang -S 3 // usage: batom2json.scala.sc ~/Downloads/Windymelt.bookmarks.atom > from_bookmark/Windymelt.json // You

                                                      自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル
                                                    • Flow/PostCSS の大規模プロジェクトを TypeScript/emotion に移行して数万行のプルリクを投げた話 - JX通信社エンジニアブログ

                                                      JX通信社CDOの小笠原(@yamitzky)です。 AI 緊急情報サービスの「FASTALERT」は、報道機関や公共機関に導入いただいている(お堅めな) BtoB SaaS でありながら、 事業開始当初から React を使った Single Page Application(SPA) として作っています。 2017年には、より信頼性のあるフロントエンドを提供するため、 Facebook の Flow を導入しました。しかし、昨今の TypeScript の盛り上がりや、社内の他プロダクトで TypeScript を使っていることなどを受けて、フロントエンドのアーキテクチャを大幅に見直しました。 今回取り組んだ大きな変更は、 Flow から TypeScript への移行 (型チェックの移行) TypeScript 化に合わせた、 babel-plugin-proposal-*** の廃

                                                        Flow/PostCSS の大規模プロジェクトを TypeScript/emotion に移行して数万行のプルリクを投げた話 - JX通信社エンジニアブログ
                                                      • 2019年、fat gemをやめる - 2019-11-22 - ククログ

                                                        fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。過去にfat gemの作り方をまとめたこともあります。 Ruby 1.8.7/1.9.1どちらでも使えるWindows用バイナリ入りgemをDebian GNU/Linux上で作る方法 Windowsの32bit/64bit版Ruby用バイナリ入りgemをDebian GNU/Linux上で作る方法 fat gemが有用な時代もあったのですが、今はメリットよりもデメリットの方が大きいのでfat gemをやめたらどうか、という話をします。 fat gemについて fat gemとはビルド済みバイナリーが入ったgemのことです。Pythonで言えばwheelのようなものです。 RubyはC言語でRuby用のライブラリーを実装することができます。これを拡張ライブラリーと呼びます。拡張ライブ

                                                          2019年、fat gemをやめる - 2019-11-22 - ククログ
                                                        • Rust + LLVMでプログラミング言語を自作してセルフホスティングした話

                                                          llrlは自作のプログラミング言語です。大きな特徴が2つあります。 Hindley-Milnerベースの型推論による静的型付け (+型クラス) Lisp-likeなS式によるシンタックスとLLVM JITによるマクロ この言語の処理系をRustとLLVMを用いて実装し、それをllrl上に移植してセルフホスティングを試みました。無事セルフホスティングを達成したので、取り組んだことやモチベーションなどを順に振り返りたいと思います。 LLVMについては、フロントエンド側・バックエンド側ともに既にいくらかの解説記事が見られるため、概要は省略します。今回は新たなプログラミング言語のバックエンドとしてLLVMを用いるので、LLVMのフロントエンド側の実装がメインとなります。 事の発端: LLVM Kaleidoscopeチュートリアル Kaleidoscopeは、LLVMのチュートリアルにおいて実装す

                                                            Rust + LLVMでプログラミング言語を自作してセルフホスティングした話
                                                          • ブログをAstroに移行した

                                                            ブログを Astro に移行した Astro とは Astro の公式サイトの説明を見てもらうのが早いかもしれない Astro is an all-in-one web framework for buildingfast, content-focusedwebsites. コンテンツ主体のウェブサイトを高速に作れるオールインワンウェブフレームワーク、という説明だが実際使ってみた感じ概ね合っていると思う. 特徴的なのが Astro で採用している Island Architecture と呼ばれるアーキテクチャで、UI の各コンポーネントを Island (島)のように見立ててそれぞれ独立したマイクロフロントエンドのように扱うことが出来る構成になっていること。 完全に Static な HTML とレンダリング後に Hydration (静的な HTML に後からイベントハンドラを設定)し

                                                              ブログをAstroに移行した
                                                            • Pythonの文字列が標準でf文字列になる(かも) - Qiita

                                                              はじめに Python言語サミット2020が4月の15日、16日の2日間で開かれました。これはPython実装の開発者(本家のCPythonに加えてPyPyなども)が集まる会議で、単にプレゼンし合う場というよりは言語本体や標準ライブラリの現状や今後に関する議論をして合意を目指すという会議とのこと。 今年はコロナウイルス蔓延の影響で、ご多分に漏れずオンライン開催となったそうですが、2日間の議題を見るとなかなか興味深いものが並んでいます。 全ての文字列をf文字列にする CPythonのパーサーをPEGベースの物にする (C)Pythonの仮想マシンの形式仕様記述 実装非依存のC言語拡張API CPythonのドキュメンテーション保守の変革 ライトニングトーク pip, PyPI そしてパッケージングに今後何を求める? 「マルチコアPython」プロジェクトの失敗を振り返る Pythonの型導入

                                                                Pythonの文字列が標準でf文字列になる(かも) - Qiita
                                                              • JSのProxyでアルゴリズムを可視化する - Qiita

                                                                JSのProxyを使ってアルゴリズムの実行中の各ステップを可視化する仕組みを作る記事です。 (inspired by アルゴリズム図鑑) 初めに完成品のキャプチャとデモのリンクを貼っておきます。 DEMO: https://codesandbox.io/s/heuristic-morse-1kc2d?file=/src/index.js ※ スマホだとシンタックスハイライトでエラーが出てるのでコード記載無し版も置いておきます。 https://codesandbox.io/s/happy-sun-211bq?file=/src/index.js JavaScriptのProxyとは Proxy - JavaScript | MDN 最初にJSのProxyとは何か簡単に説明すると、 特定の操作に対するオブジェクトの振る舞いを拡張/変更できるオブジェクトです。 拡張されるオブジェクト(ターゲッ

                                                                  JSのProxyでアルゴリズムを可視化する - Qiita
                                                                • 今日から始めるswagger入門(最低限書けるようになる) - Qiita

                                                                  swaggerとは 古の時代、API仕様書はwordやexcelで表現され、各所に共有されるというのが一般的でした。 ですが近年、API仕様を表現する際にはswaggerを利用するのが最も効率的で、保守性が高く、世間一般で仕様化され、見やすいというのもあり、一般化されてきたのではないのでしょうか 今回はそんなswaggerの書き方について、まずは書くために覚えておきたいポイントを解説していこうかと思います! どう書いてくか swagger editorで書く 公式がWeb上に提供しているツールを利用し、すぐにでもswaggerの執筆が可能となっています! なにをインストールする必要もなく開始1秒で利用できるので、私も重宝してます なお、ページを開くとサンプルAPI仕様がすでにある状態でのスタートとなり、記法の参考などにもなります vscodeで書く 必要なプラグインをインストールし、vsc

                                                                    今日から始めるswagger入門(最低限書けるようになる) - Qiita
                                                                  • RESTが日本で受け入れられていった頃の話( #mozaicfm の補足) | 栗林健太郎

                                                                    mozaic.fm第7話のRESTの話で、RESTが日本で広く受け入れられていった頃、というか、その端緒の頃の話が出ていて懐かしかったのだし、細部にやや不正確なところがあるのが気になったりもしたので、補足を書いておきますね。 まず、いわずとしれた@yoheiさんがRESTをまず知ったのが2003年とかそれぐらいの時期とおっしゃっていて、それから数年経ち、RESTがWebエンジニアに広く受け入れられていったのは、2007年末にリリースされ、resourcesという機能を取り入れたRails2からというのは、@t_wadaさんがおっしゃっている通り、事実だろうと思います。 また、Podcastの中では、主催のJxckさんが、それはそれと認めた上で、彼自身にとってはAjaxの登場が大きかったということを述べた上で、@yoheiさんの主催された第八回XML開発者の日での高橋征義さんとid:seco

                                                                    • 競プロ実装テクニック - よすぽの日記

                                                                      これはなに 実装力で戦える! ~競プロにおける実装テクニック14選~ - Qiita に触発された 競技プログラミングでコーディングの際気を付けていること - うさぎ小屋 を強く参考にしている 効果が高い or 一般性がありそう なことから書いたつもり 重要なこと 「競プロのきれいなコードと業務のきれいなコードは違う」と定期的に唱える。未来の自分 or 他の人 が読む必要がないことを仮定できるため、様々なバッドノウハウ(業務)が正当化される。(あえて過激なことを書くと、)「using namespace stdを使わない」などは逆にバッドノウハウ(競プロ)だと思っている。 -fsanitize=undefined,address / -D_GLIBCXX_DEBUG #include <iostream> using namespace std; int main() { int a[10

                                                                        競プロ実装テクニック - よすぽの日記
                                                                      • ルーティング機能を自作して学ぶ History API - 30歳からのプログラミング

                                                                        History API は、HTML5 で導入された API。 これを使うことで、JavaScript で URL の履歴を管理できるようになる。 多くの場合、そういった操作は React Router や Vue Router などのルーティングライブラリを通して行うことになる。そのため、History API を直接操作する機会は稀だと思う。 しかし、ルーティングライブラリを使いこなし、特殊なユースケースにも対応できるようになるためには、History API そのものについても理解しておきたい。 この記事では、ルーティング機能を持った React アプリを開発しながら、History API について学んでいく。 使用している React のバージョンは16.13.1。 動作確認は Google Chrome の81.0.4044.113で行っている。 コンテンツに対して URL を

                                                                          ルーティング機能を自作して学ぶ History API - 30歳からのプログラミング
                                                                        • さようなら、Node.js - 株式会社カブク

                                                                          はじめに こんにちは。JavaScriptの本を書いたりしているあんどうです。 JavaScript、流行ってますよね。より正確にはNode.js流行ってますよね。ぶっちゃけハンズオンなんとかもNode.jsの方がだいぶ・・・ゲフンゲフン。まぁハンズオンNode.jsはマジ名著なのでそのことは置いておくとして、そのNode.jsについて正直なところみなさんはどう思ってますでしょうか? 私はRails文化圏出身なので、開発に必要とわかりきっているツールを事前にわざわざあれやこれやと検証して設定してみたいなのが面倒くさくてしょうがないです。なんか思いついてキーボードに手を置いたらノータイムで機能の実装を開始したい。 しかもすぐ新しい同じようなツールが出てきて数年で主要ツール総取っ替え上等。ポジティブに捉えれば万物流転とか諸行無常とか人生のあれこれの現れかもしれないけど、正直回し車の中のハムスタ

                                                                            さようなら、Node.js - 株式会社カブク
                                                                          • 大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ

                                                                            モノリシックなプロジェクトにおいて、トップレベルのディレクトリ構成が異なる 2 つのディレクトリ構成を考え、それらの違いは何で、どちらが優れているか?という問いについて考えた。そして、「複雑な概念をトップレベルのディレクトリ構成にした方が良いのでは?」という結論に落ち着いた話をする。 はじまり ちょっとしたシナリオを想像してみよう。 プロジェクト立ち上げ期 「最近のトレンドはレイヤードアーキテクチャだ!」 そう言って、プロジェクトはスタートした。 . ├── application │ ├── xxx_usecase.go │ ├── xxx_repository.go │ ├── yyy_usecase.go │ └── yyy_repository.go ├── domain │ ├── xxx.go │ └── yyy.go ├── infrastructure │ └── xxx_

                                                                              大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ
                                                                            • Javaが最強JVM言語になる日はくるのか / Will Java become strongest JVM language

                                                                              2020/10/4にオンラインで行われたJ Lang Fest Kansai Online #1での登壇資料です https://kansai-jvm-langs-fest.connpass.com/event/188249/

                                                                                Javaが最強JVM言語になる日はくるのか / Will Java become strongest JVM language
                                                                              • RustでWebAssemblyインタプリタ作った話 - Qiita

                                                                                はじめに RustでWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

                                                                                  RustでWebAssemblyインタプリタ作った話 - Qiita
                                                                                • Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ

                                                                                  Apache ArrowのPMC(Project Management Commitee、プロジェクト管理チームみたいな感じ)のメンバーの須藤です。 みなさんはApache Arrowを知っていますか?Apache Arrowは数年後にはデータ処理界隈で重要なコンポーネントになっているだろうプロジェクトです。データ処理界隈に興味がある人は知っておくと役に立つはずなので1年ほど前にApache Arrowの最新情報(2018年9月版)をまとめました。この1年ですごくよくなったので2019年9月現在の最新情報を紹介します。 私は、PMCの中では唯一の日本人1で、コミット数は2番目に多い2ので、日本ではApache Arrowのことをだいぶ知っている方なはずです。Apache Arrowの情報は日本語ではあまりないので日本語で紹介します。 ちなみに、英語ではいろいろ情報があります。有用な情報源は

                                                                                    Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ

                                                                                  新着記事