並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 10329件

新着順 人気順

Articleの検索結果1 - 40 件 / 10329件

  • TypeScriptとGraphQLで実現する型安全なAPI実装

    この記事はTSKaigi2024での以下の私の発表内容を書き下ろしたものです。 なぜAPIに型をつけたいのか 現代のWebのシステム開発において、クライアント・サーバーともに型のある言語で開発されることが増えてきました。静的な型検査はコードの堅牢性やよりよいメンテナンス性の向上をもたらします。 プログラミング内部だけで型検査をするだけでも十分メリットはありますが、外部I/Oに対する型付けが不十分だとそのメリットを最大限に発揮してるとは言えません。外部I/Oとは、例えばWebフロントエンドだとLocalStorageやDOMからの入力値、それからネットワーク通信(今回はこれをAPIと呼びます[1])などですね。サーバー側でいうとAPIからの入力・レスポンスやデータベースへの読み書きが該当します。 個人的な経験から言うと、Webシステムの開発におけるエラーの多くはAPIやデータベースとのやり取

      TypeScriptとGraphQLで実現する型安全なAPI実装
    • 【いま知っておくべき5つのニュース】コンテンツホルダーはOpenAIと協業すべきか敵対すべきか ほか[2024/4/25~5/8]

        【いま知っておくべき5つのニュース】コンテンツホルダーはOpenAIと協業すべきか敵対すべきか ほか[2024/4/25~5/8]
      • WebAssembly所感

        WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

          WebAssembly所感
        • Why Patching Globals Is Harmful

          Honestly, I'd never thought I'd be writing about this, but the matter of patching globals turned out to be one of those topics that a lot of engineers seem to misunderstand. Most of us don't do monkey-patching, and even fewer stay around those implementations long enough to witness their impact. All the more reason to talk about it. Throughout the next few thousand words, I will be referring to mo

            Why Patching Globals Is Harmful
          • Compare 5 Node Version Managers: Best Choice

            Imagine you joined a Node.js project and want to bootstrap it to see how it goes, but you see an error. What is the problem? After spending some time, you find out that Node.js version you’re using on your machine is not the one that the project requires. This is quite a common and annoying situation. I have been there myself. To avoid such troubles, smart people developed tooling called “node ver

              Compare 5 Node Version Managers: Best Choice
            • 【Ubuntu日和】 【第51回】Ubuntu24.04 LTSの新インストーラを徹底解説

                【Ubuntu日和】 【第51回】Ubuntu24.04 LTSの新インストーラを徹底解説
              • Ubuntu 24.10の開発コードネーム “Oracular Oriole” | gihyo.jp

                Ubuntu 24.10 “Oracular Oriole” Ubuntu 24.04 LTSがリリースされ、次の開発サイクルが起動されつつあります。Ubuntuはリポジトリ名や開発上のタグなどにコードネームを多用する関係から、コードネームが確定しないと開発を本格的に開始できないという制約があり、開発の最初に「コードネームの確定」というステップを踏むことになります。 ……ということで、24.10の開発コードネームが正式にアナウンスされました。Ubuntu 24.10は「N」の次のアルファベットである「O」を用いた、“⁠Oracular Oriole⁠”⁠、『⁠神託のオリオール』[1]となります。リポジトリ名やタグ、あるいは短い略称としてはとしては「oracular」が用いられることになります[2]。また「たぶん金色が基調になるのだろう」[3]といった言葉遊び的な予測もできそうです。 最近の

                  Ubuntu 24.10の開発コードネーム “Oracular Oriole” | gihyo.jp
                • 高校に「投資部」 新たな形の金融教育は | NHK | ビジネス特集

                  投資部があるのは沖縄市にある仙台育英学園沖縄高校です。 那覇市の中心部から車でおよそ40分、住宅が立ち並ぶなかに、薄いピンク色が特徴的な校舎が現れます。 2023年4月の開校にあわせて「投資部」が設けられました。 学校では、家庭科の授業で金融教育を行っています。 ただ、座学だけでは得られないものがあり、学んだ知識を実践で活用してほしいと、この部の設立を決めたそうです。 沖縄県の所得水準が全国でも低いとされる中、生徒たちの金銭的な自立につなげたいという思いもあったということです。 この部では、どんな活動を行っているのか。 週1回の活動日に学校を訪れました。 授業が終わった午後3時半過ぎ、教室に集まってきたのは、入部を検討する1年生と投資部の生徒あわせて19人。 入部体験を兼ねたこの日は、オンラインで東京の証券会社の社員から講義を受けました。 「就職活動で東京に滞在するとしたら、どれくらいの費

                    高校に「投資部」 新たな形の金融教育は | NHK | ビジネス特集
                  • [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO

                    [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする どうも!オペレーション部の西村祐二です。 最近、Next.jsなどでフロントエンドの実装も行うことが増えてきました。 実装を進めていくと、page.tsx,layout.tsx,index.tsx,route.tsなど同名のファイルが増えてきて、どのファイルを開いているか分かりづらいなと思う場面がありました。 VS Codeのv1.88で開いているファイルタブのラベルをカスタマイズできるようになったので、その設定方法を紹介したいと思います。 Visual Studio Code March 2024 結論 最初に結論として、settings.jsonに下記設定をすることでディレクトリ名も表示されるようになりタブを見やすくすることができます。 .vscode/settings.js

                      [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO
                    • 仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた

                      仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた 「プロジェクトマネジメントの基本が全部わかる本」を執筆し、ご自身もプロジェクトマネージャーやプロダクトマネージャーとして23年経験を積んできた橋本将功さん。 橋本さんは、セミナーや著書でプロジェクトマネジメントについての知見を発信されていますが、今回 Agend であえてお聞きするのは「専門のプロジェクトマネージャーがいないグダグダになっている職場で、どう仕事を回していくか」。 「うちの会社は仕事を回すのが下手」と感じている方にこそ読んでいただければと思います。

                        仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた
                      • 見よ、これがHonoのRPCだ

                        僕が開発しているWebフレームワークHonoは、同じJavaScriptのフレームワーク、Expressと比べられることが多いです。どちらもやれることはほぼ同じですが、HonoのアドバンテージはファーストクラスでTypeScriptをサポートしていることです。特に「RPC」機能は他のフレームワークにはなかった「TypeScriptの型でサーバーとクライアントの仕様を共有する」ことを可能にしています。今回はそのHonoのRPCについて紹介します。 どんなものか まず、どんなものかを箇条書きで共有します。 Web APIの仕様、特にインプット・アウトプットをサーバーとクライアント間で共有するためのもの OpenAPIやgRPCを使ってやりたかったことを叶えるかもしれない サーバーとクライアントをどちらもTypeScriptで書くことが大前提である 同種のものにtRPCがあるが、Honoの場合、

                          見よ、これがHonoのRPCだ
                        • Unity製のAndroidアプリにFlutterを組み込む | gihyo.jp

                          Flutter「を」Unity製Androidアプリ「へ」 本連載は、iOS/Android向けのアプリでUIの表現力を高めることを目標に、Unity製アプリにFlutterを導入した例を具体的な実装方法を交えながら紹介する記事の2回目となります。 前回の記事で、なぜUnity製アプリにFlutterを導入するのかという話をしているのでまだ見ていない方はそちらも合わせて読んでいただけると幸いです。 Unity製のアプリにFlutterを組み込むためにはいくつかの手順が必要となるので今回から複数回にわたり実際のコードを交えながら解説していきます。 2回目となる本記事はUnity製のAndroidアプリにFlutterを組み込む方法の解説となります。 なお、本連載はUnityとFlutterの連携がメインとなるのでUnityとFlutterの基本的な部分の説明は省略させていただきます。 開発環

                            Unity製のAndroidアプリにFlutterを組み込む | gihyo.jp
                          • CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                            CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                              CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
                            • 第812回 aptの新機能あれこれ [Ubuntu 24.04 LTS版] | gihyo.jp

                              「apt」は言わずとしれたUbuntuの基本を担うパッケージ管理システムです。今回はUbuntu 24.04 LTSに搭載された「apt 2.8.0」に関して、前回のLTSである22.04の「apt 2.4.12」以降に実装されたり、さらには古いLTSにもバックポートされたりした機能について紹介しましょう。 ちなみにaptの機能紹介は本連載でも何度か行っています。より古いバージョンからアップグレードする場合は、そちらも参照してください。 第327回「aptコマンドを使ってみよう」 第675回「apt-keyはなぜ廃止予定となったのか」 第676回「aptコマンドの最新機能あれこれ」 第677回「aptで使うsources.listのオプションいろいろ」 これらの記事では公開当時最新の2.3.6までしか紹介できていなかったので、2.3.6から2.4.12までの機能についてもまとめて紹介する予

                                第812回 aptの新機能あれこれ [Ubuntu 24.04 LTS版] | gihyo.jp
                              • Using the Popover API for HTML Tooltips – Frontend Masters Boost

                                Using the Popover API for HTML Tooltips May 6, 2024 We looked at the Popover API and how it’s made it’s way across all browsers already just last week. One of the things I should have done is looked at the accessibility considerations more closely. Thanks to Melanie Sumner there is a great explainer with demos. I tried to adhere to the points made in there the best I could while making a classic t

                                  Using the Popover API for HTML Tooltips – Frontend Masters Boost
                                • [小ネタ]VS Codeの拡張なしでキャメルケース、パスカルケース、スネークケース、ケバブケース、大文字、小文字に変換する | DevelopersIO

                                  どうも!オペレーション部の西村祐二です。 Python、TypeScriptなどいろんな言語でプログラミングしていると、関数名や変数名などをキャメルケース、スネークケースに変更したい、大文字に変換したい場面がちょくちょくあります。 今まではchange-caseという文字列を変換してくれる拡張機能を導入してましたが、VS Codeデフォルトの機能でも変換できることを知ったので紹介したいと思います。 環境 VS Code: 1.89 変換方法 文字列を選択し、「cmd + shift + p」などでコマンドパレットを開きます。 検索窓に「transform」と入力します。 変換したい形式を選択します。 下記ではサンプルとしてケバブケースに変換してます。 対応形式 バージョン1.89現在、下記に対応してます。 キャメルケースに変換 スネークケースに変換 ケバブケースに変換 パスカルケースに変換

                                    [小ネタ]VS Codeの拡張なしでキャメルケース、パスカルケース、スネークケース、ケバブケース、大文字、小文字に変換する | DevelopersIO
                                  • Cookieの改訂版仕様 rfc6265bis の変更点 - ASnoKaze blog

                                    Cookieの改訂版仕様 rfc6265bis について、その変更点をざっと眺めていく はじめに SameSite属性 Cookie名プレフィックス (Cookie Name Prefixes) __Secureプレフィックス __Hostプレフィックス 非セキュアなオリジンからの Secure属性の上書きを禁止 nameless cookieの許容 Cookie名、Cookie値の上限長の指定 Expires属性の年が2桁の場合の処理の指定 Max-Age/Expires の上限 その他 今回入らなかった機能 はじめに Cookieの仕様は『RFC 6265: HTTP State Management Mechanism』として標準化されています。 そのCookieの仕様の改訂版が『rfc6265bis』と呼ばれているもので、現在標準化作業が進められいています。"SameSite属性"

                                      Cookieの改訂版仕様 rfc6265bis の変更点 - ASnoKaze blog
                                    • 日本が飛び越してしまった技術? メタル線で高速通信を実現する「G.hn」へ至る道(その1)【ネット新技術】

                                        日本が飛び越してしまった技術? メタル線で高速通信を実現する「G.hn」へ至る道(その1)【ネット新技術】
                                      • Misconceptions about CSS Specificity

                                        Me, at CSS Day 2022, talking about Specificity (and the Cascade) Whenever a post about Specificity in CSS – and by extension the Cascade itself – gets published I get very excited as it’s a core concept of the language that everyone should know. The more articles on this, the better! However, I also sometimes raise one of my eyebrows as sometimes I, unfortunately, encounter something that’s just o

                                          Misconceptions about CSS Specificity
                                        • Node.js の進化に伴い不要となったかもしれないパッケージたち

                                          tl;dr はじめに 2024 年の 4 月 24 日に Node.js 22 がリリースされました。ESM を 条件付きで require する機能や、--run フラグによる npm スクリプトのパフォーマンス改善などが v22 で追加され、2009 年に Ryan Dahl が Node.js をリリースしてから 15 年が経つ今も、Node.js は進化を続けています[1]。 こうして Node.js 自身が強化されていくにつれ、以前はサードパーティーのパッケージを使用して実現することが一般的であった機能が Node.js のみで実現可能となり、当該パッケージが不要となるような場合があります。冒頭に引用した Ben Holmes の動画では、そのように不要となったパッケージとして dotenv node-fetch chalk mocha が挙げられていますが、この記事では「これら

                                            Node.js の進化に伴い不要となったかもしれないパッケージたち
                                          • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

                                            ※本記事で言及しているReflexのdiscord内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、StreamlitやDashは項番1のダッシュボードライブラリに該当すると思いま

                                              PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
                                            • actions/cache@v4ではヒットしなかったときcache-hit=='false'にならない - ぽよメモ

                                              cache-hitとは v4における挙動変更(?) cache-hitがfalseを返さない ワークアラウンド cache-hitとは GitHub Actionsのキャッシュ用actionであるactions/cacheは、指定したキーに完全一致するキャッシュがヒットしたかどうかのパラメータをそのstepのoutputとして保持している。 つまり以下の様にすることで、キャッシュがヒットしたかどうかを判定し、何かアクションするということが可能である。 jobs: run: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/cache@v4 id: cache with: path: ./cache-dir key: your-cache-key - if: steps.cache.output

                                                actions/cache@v4ではヒットしなかったときcache-hit=='false'にならない - ぽよメモ
                                              • JSR Meetup に参加してきた

                                                JSR Meetup JSR が気になっていたことや、Deno の中の人が主催というのも良いなと思って、ささっと参加してきました。自分用に雑にまとめておきます。 https://jsr.io/ https://github.com/jsr-io/jsr ハッシュタグ 自分のメモ Deno Land Inc. が開発、運用しているパッケージレジストリ プライベートは今のところ予定されていない TypeScript をそのまま登録できる ESM 対応 OSS で開発されている 自前の JSR を立てることもできる 積極的に改善されていきそう ドキュメントが生成される Web UI がモダン Deno が流行らないと苦しそう @std を Deno が持ってるのは他からはちょっとな ... って思われそう キレイな npm 雑感 印象としては使ってみても良さそうという感じです。ただ無理に npm

                                                  JSR Meetup に参加してきた
                                                • Combining CSS :has() And HTML <select> For Greater Conditional Styling — Smashing Magazine

                                                  While the CSS :has() pseudo-class is widely celebrated for its ability to select a parent element up the chain conditionally based on its contents, there is more conditional logic it is capable of handling when we move it up the chain, so to speak. Amit Sheen demonstrates using :has() to apply styles conditionally when a certain <option> in a <select> element is chosen by the user and how we gain

                                                    Combining CSS :has() And HTML <select> For Greater Conditional Styling — Smashing Magazine
                                                  • SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024

                                                    SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024 Last month, I gave a talk titled "SemVer in Rust: Breakage, Tooling, and Edge Cases" at the FOSDEM 2024 conference. The talk is a practical look at what semantic versioning (SemVer) buys us, why SemVer goes wrong in practice, and how the cargo-semver-checks linter can help prevent the damage caused by SemVer breakage. TL;DR: SemVer is

                                                      SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024
                                                    • neue cc - R3のコードから見るC#パフォーマンス最適化技法実例とTimeProviderについて

                                                      R3のコードから見るC#パフォーマンス最適化技法実例とTimeProviderについて 2024-05-01 4/27に大阪で開催されたC#パフォーマンス勉強会で「R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例」という題でセッションしてきました! タイトル的にあまりLINQでもコンカレントでもなかったかな、とは思いますが、R3を題材に、具体的なコードをもとにした最適化技法の紹介という点では面白みはあったのではないかと思います。 Rxの定義 R3は、やや挑発的な内容を掲げていることもあり、R3は「Rxではない」みたいなことを言われることもあります。なるほど!では、そもそも何をもってRxと呼ぶのか、呼べるのか。私は「Push型でLINQ風のオペレーターが適用できればRx」というぐらいの温度感で考えています。もちろん、R3はそれを満たしています。 mutable st

                                                      • TypeScript の型検査にかかる時間を短縮した話

                                                        こんにちは。ナレッジワークの torii です。 最近、プロジェクトで使用している TypeScript の型検査にかかる時間を 3 割ほど短縮することに成功しました。 参考までにどのようにボトルネックを調査して改善に繋げたのかを書いてみます! きっかけ 改善のきっかけは、たまたまネットを徘徊していて見つけた Zenn 記事でした。 (素晴らしい記事をありがとうございます!) これを読んで「自社のプロダクトでも型検査にかかる時間を短縮できるのでは?」と思い立ち、試してみたところ実際に改善に役立てることができた、というのがこの記事の概要になります。 改善対象 改善対象は、弊社のメインプロダクトであるナレッジワークのフロントエンドです。現在マルチプロダクト化に向けたコード分割に取り組んでいる最中ですが、執筆時点はモノリシックな構成となっています。 改善前の TypeScript ファイルは自動

                                                          TypeScript の型検査にかかる時間を短縮した話
                                                        • 第811回 ゴールデンウィーク特別企画 新学生・新社会人向けのUbuntuデスクトップ講座2024 | gihyo.jp

                                                          Ubuntu Weekly Recipe 第811回ゴールデンウィーク特別企画 新学生⁠⁠・新社会人向けのUbuntuデスクトップ講座2024 Ubuntuは無事(?)に24.04 LTSのリリースを終え、日本ではゴールデンウィークに突入しました。Ubuntuを始めるのにいい機会です。 そこで今回は、過去のRecipeを振り返りつつ、LinuxディストリビューションのひとつであるUbuntuとの付き合い方について紹介します。本記事は2017年に公開した第463回のアップデート版です。 ただしUbuntu 24.04 LTSは過去のUbuntuとはいろいろと違うので、過去記事がそのまま役に立つか難しいところがあるのは事実です。もちろん全く役に立たないような記事は紹介していませんが、あくまで参考程度にしてください。確実に24.04 LTSに対応している記事が必要であれば、いずれ出版されるであろ

                                                            第811回 ゴールデンウィーク特別企画 新学生・新社会人向けのUbuntuデスクトップ講座2024 | gihyo.jp
                                                          • Goで作ったシステムをRubyでリプレイスすることを検討してみた

                                                            はじめに 弊社にはGoで作ったシステムが存在しますが、作られてから数年が経過して、メンテナンスも十分にできていない状況でした。 そこで、このシステムをリファクタリングして生産性を上げようという結論になりました。 リファクタリングにあたり、Goのままで行くのか、弊社でよく使われているRubyで行くのかを検討してみましたので、その過程を紹介したいと思います。 Rubyでリプレイスしようと思った理由 Goで動いてて言語やライブラリのバージョンアップなどメンテナンスがされてない部分はありますが、 そこを解消すればGoのままで行った方が良いのでは?と思うかもしれません。 しかし、あえてRubyでリプレイスしようと思うに至ったのは以下の点があります。 Rubyの方が開発速度があがりそう Goのリファクタリングをするのに時間がかかりそう Goのリファクタリングと機能追加でコード修正箇所が被るとスケジュー

                                                              Goで作ったシステムをRubyでリプレイスすることを検討してみた
                                                            • ほぼJSなしで完璧なReactフォームをつくる

                                                              import { ChangeEvent, FormEvent } from "react"; export default function Form() { const showError = (message: string) => (e: FormEvent<HTMLInputElement>) => { if (e.currentTarget.validity.valueMissing) { e.currentTarget.setCustomValidity(message); } else if ( e.currentTarget.validity.patternMismatch && e.currentTarget.name === "postcode" ) { e.currentTarget.setCustomValidity("郵便番号正しく入力してね"); } else

                                                                ほぼJSなしで完璧なReactフォームをつくる
                                                              • IBMによるHashiCorp買収、注目は“Red Hat製品とのシナジー”とBSLライセンスの扱い | gihyo.jp

                                                                IBMによるHashiCorp買収⁠⁠、注目は“Red Hat製品とのシナジー”とBSLライセンスの扱い IBMとHashiCorpは4月24日(米国時間⁠)⁠、IBMが約64億ドルでHashiCorpを買収するという契約を両社が締結したことを発表しました。IBMは1株あたり現金35ドルを支払い、買収はすべて手持ちの現金で行われます。買収発表前日のHashiCorpの株価は24.88ドルでしたので、10ドル以上のプレミアムが乗せられたことになります。 IBMのリリース IBM to Acquire HashiCorp, Inc. Creating a Comprehensive End-to-End Hybrid Cloud Platform HashiCorpのブログ HashiCorp joins IBM to accelerate multi-cloud automation Has

                                                                  IBMによるHashiCorp買収、注目は“Red Hat製品とのシナジー”とBSLライセンスの扱い | gihyo.jp
                                                                • 第6回 アクセシビリティを必要とする人に会う | gihyo.jp

                                                                  本連載は『Webアプリケーションアクセシビリティ─⁠─今日から始める現場からの改善』の第7章「アクセシビリティの組織導入」を公開するものです。 改正された障害者差別解消法や、デジタル庁の取り組みからの影響を受け、アクセシビリティ向上への機運は日ごとに高まっているように感じます。著名な企業がアクセシビリティへのスタンスを表明するケースも増えてきました。 しかし、こうした情報が目に入っているのは、あなたがアクセシビリティに関心がある側の人だからです。多くの場合、社内でのアクセシビリティへの意識はまだまだ高くないのが実態です。 個人や有志による非公式な取り組みでも、アクセシビリティは徐々に改善することは可能です。しかし、いずれは限界を迎えます。企業が提供するWebサイトやWebアプリケーションは組織で開発されており、大規模であり、かつ成長していくからです。 継続的に取り組み、成果を出し続けるため

                                                                    第6回 アクセシビリティを必要とする人に会う | gihyo.jp
                                                                  • Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp

                                                                    寺田 学(@terapyon)です。2024年4月の「Python Monthly Topics」は、Python Web UIフレームワークの1つであるStreamlitを使ってWindowsやmacOSのデスクトップアプリを作る方法を解説します。 目的⁠・モチベーション Pythonで自動化のスクリプトを作ったり、JupyterLabやColaboratoryでデータの可視化を行うことがあります。これらを作成者以外の多くの方に利用してもらう方法として、Webシステムやデスクトップアプリとして提供する方法が考えられます。 Webシステムの構築やデスクトップアプリの作成となると、技術的なハードルがあります。他には、時間的なコストに見合わないという状況もあり得ます。 Python Web UIフレームワークを使うことで、比較的少ないコードでWeb UIからスクリプトの実行や可視化をするアプリ

                                                                      Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp
                                                                    • MoonBit adds JS backend, up to 25x faster than native JS | MoonBit

                                                                      When MoonBit officially launched in August 2023, our critical mission was unleashing the potential of WebAssembly in cloud and edge computing as a Wasm-first programming language and toolchain. By integrating the essence of Rust and Go, MoonBit has not only achieved simplicity and usability in design but also been equipped with a robust fault-tolerant type system. At the same time, MoonBit is work

                                                                        MoonBit adds JS backend, up to 25x faster than native JS | MoonBit
                                                                      • 自分が Moonbit 言語について知っていること

                                                                        I will write an English version later to give back to the moonbit community. Addition: https://gist.github.com/mizchi/aef3fa9977c8832148b00145a1d20f4b この記事はリバースエンジニアリングを含んでいる。公式の Discord サーバーで質問して得られた内容を含むが、ここに書かれたものは自分の理解であって、公式の見解ではない。 前の紹介記事では煽り気味だったので、実際に調べながら書いてみてどう感じているかという実践的な話をする。 作者と開発組織 開発母体は深センの研究組織 IDEA 元 Meta で BuckleScript | ReScript を開発していた Hongbo Zhang 氏がチーフアーキテクト。 ReScript を知らない人の

                                                                          自分が Moonbit 言語について知っていること
                                                                        • サービスメッシュを活用して、クラウドアプリケーションのオブザーバビリティを高める | gihyo.jp

                                                                          Google Cloudで実践! クラウドネイティブな開発 サービスメッシュを活用して⁠⁠、クラウドアプリケーションのオブザーバビリティを高める 本連載は、Google Cloudのアプリ開発とDBプロダクトにおけるスペシャリスト達が、Google Cloudプロダクトを利用した、クラウドネイティブな開発を実践する方法を解説しています。 第6回では、サービスメッシュについて紹介します。 主に対象となる読者は、クラウドを利用してアプリケーションを開発するエンジニア、またはその基盤を構築するエンジニア、サービス開発に携わるプロダクトマネージャーを想定しています。 マイクロサービスアーキテクチャの課題 これまでの連載ではクラウドネイティブなアプリケーションの開発について紹介しました。小さい独立して動作するサービスが連携するマイクロサービスアーキテクチャは、スケーラビリティ、独立した開発の容易さ、

                                                                            サービスメッシュを活用して、クラウドアプリケーションのオブザーバビリティを高める | gihyo.jp
                                                                          • 紙っぽいかわいいWebサイト作りたい - Qiita

                                                                            かわいいWebサイトが作りたい Web上でグラフィックデザインっぽい表現をしてるサイト大好き! 思いついたら追加する 「版ズレ」風 版ズレ = 印刷の際に、色の版がズレて出力されてしまう現象。(アナログっぽい雰囲気を出すために、あえてズレているように見せるデザイン手法として使ってます) 一番上のレイヤーに紙っぽいテクスチャを乗せて乗算かける 後ろのテキストはaria-hidden="true"でスクリーンリーダーに読み上げられないようにする (疑似要素でやりたかったけど乗算上手くいかなかった・・) ▼ HTML <div class="hanzure"> <img src="紙っぽいテクスチャ" alt=""> <div class="hanzure01"> <p class="front">版ズレ風の表現</p> <p class="back" aria-hidden="true">版ズ

                                                                              紙っぽいかわいいWebサイト作りたい - Qiita
                                                                            • 【Ubuntu日和】 【第50回】2年ぶりのLTSであるUbuntu 24.04 LTSがリリースされた!変更点をご紹介!

                                                                                【Ubuntu日和】 【第50回】2年ぶりのLTSであるUbuntu 24.04 LTSがリリースされた!変更点をご紹介!
                                                                              • 令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io

                                                                                Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp

                                                                                  令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io
                                                                                • HTML attributes vs DOM properties

                                                                                  Attributes and properties are fundamentally different things. You can have an attribute and property of the same name set to different values. For example: <div foo="bar">…</div> <script> const div = document.querySelector('div[foo=bar]'); console.log(div.getAttribute('foo')); // 'bar' console.log(div.foo); // undefined div.foo = 'hello world'; console.log(div.getAttribute('foo')); // 'bar' consol

                                                                                    HTML attributes vs DOM properties