並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 418件

新着順 人気順

Elmの検索結果1 - 40 件 / 418件

  • 簡単・初心者向けの資産形成 (長期投資)

    初心者がどのように投資して無難に資産形成すれば良いか、元記事・コメントへの補足としてまとめました。中級者以上の方は読む必要が無い記事です。 ※はてブコメントへの補足として書いたので、全然初心者向きじゃなかった。ということで、これを書いてる anond:20190601000848 基本は「eMAXIS Slim 全世界株式(オール・カントリー)をつみたてNISAや確定拠出年金で買う」 anond:20190530161149 eMAXIS Slim 全世界株式(オール・カントリー)が参照する指標MSCI All Country World Indexは過去30年で年平均リターン7.3%なので4%は保守的な見積もり。一時的な下落は当然あって、標準偏差は15%程度。宝くじとの比較は論外。 と書いたけど、補足。 ※元の記事書いた人とは別人です。わかりにくい書き方ですまない。 本記事は俺様がその場

      簡単・初心者向けの資産形成 (長期投資)
    • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

      - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

        pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
      • VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog

        こんにちは、Webアプリケーションエンジニアのid:hogashiです。 半年ほど前に公開した「開発環境のフォントなに使ってますか?」に続く、はてなエンジニア世論調査の第2回「VSCodeの拡張機能、なに使ってますか?」です。 ソースコードエディタであるVisual Studio Code(以下、VSCode)は多くのエンジニアに利用されています。VSCodeにはソースコードのシンタックスハイライトやデバッグなど、さまざまな拡張機能をインストールして使うことができますが、公開されている拡張機能は膨大にあります。 その中から、はてなのエンジニアはどんな拡張機能をインストールして、日頃の開発に使っているのでしょうか? 前回と同様にアンケート調査してみました。 アンケート方法 アンケート結果から見える人気の機能拡張 6割の拡張機能は1人だけが使用 人によってかなり異なるインストール数 興味深いコ

          VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog
        • ITエンジニアの副業あれこれ - Runner in the High

          いろいろやってみた知見が溜まったのでまとめ。 開発 時間給で労働を売る古き良きスタイルの副業。副業として機能開発とかバグ修正とかやったりする。 自分はUIがいい感じだったからという理由でOffersを使って副業を探した。 offers.jp 注意点として、日中まともに会社員やっている人だと、稼働時間が自ずと平日夜か土日だけになってしまう。これが厳しいところとして、副業先のチームの開発プロセスには載ることが基本できないため、非同期作業みたいな形になる&開発スピードが求められるコアな機能開発みたいなアイテムには入りづらくなる。 あと純粋にモチベーション的に平日夜とか仕事したくないときもある。でも副業でアサインされてると仕事しないといけない。場合によってはチームの開発作業の進捗妨害をすることにもなったりする。 独立して作業可能なアイテムを貰えるプロジェクトか、例外的に日中もコミュニケーションでき

            ITエンジニアの副業あれこれ - Runner in the High
          • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

            CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の本当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

              オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
            • パイプライン演算子の歴史 - まめめも

              (You can read this article in English.) Ruby の開発版にパイプライン演算子(pipeline operator)が試験的に導入されましたが、いろいろあってプチ炎上になっています(チケット)。 せっかくの機会なので、パイプライン演算子の歴史を調べてみました。付け焼き刃の調査なので、間違ってたら教えてください。 パイプライン演算子とは こんな感じのものです。 x |> f |> g |> h # h(g(f(x))) と同じ意味 h(g(f(x))) という関数適用の式は、関数が呼ばれる順序(f→g→h)と、プログラムの字面上の順序(h→g→f)が逆でわかりにくいとされます。この問題は、特に、関数が大きくなったときに顕著になります。 wonderful_process_h( marvelous_process_g( fantastic_process

                パイプライン演算子の歴史 - まめめも
              • 宣言的UIはReact Hooksで完成に至り、現代的設計論が必須の時代になる - Qiita

                この記事は、ある程度以上の規模のGUI開発において、React Hooks以後の宣言的UIにより、大規模開発に用いられる設計論に完全に対応できるようになり「ビジネスロジックの変更や追加」に対応するコストを低く保つこと(技術的負債の抑制)ができるようになったことを解説するものです。 技術的負債の抑制には、技術的負債の原因となりがちな「広範囲の密結合」と「適切な疎結合を保つ仕組みの欠如」が欠かせません。それをカバーするのが、大規模開発をクリーンに行える設計論(ここでは「現代的な設計論」とよぶもの)です。クリーンアーキテクチャなんかでGUIによく適用されるHumble Object Patternのようにプレゼンテーションとビューを分離する必然性が無くなるでしょう。 ポイントは ある程度以上の規模で開発するなら設計論をうまく使い設計しないと、技術的負債を抱え込む(ビジネスロジックの変更や追加に対

                  宣言的UIはReact Hooksで完成に至り、現代的設計論が必須の時代になる - Qiita
                • Webフロントエンドの開発効率を高く保つための考え方

                  これまでいろんな現場でWebフロントエンド開発をしてきて、メンテナンスしやすく効率の高いWebフロントエンド開発をする上で重要になる考えが自分なりにまとまってきたので記事にしてみます。 Worse is Betterという考え方 自分が見てきた中でWebフロントエンドの開発効率が落ちてしまう一番の要因は、きれいで理論的には優れているアーキテクチャを構築しようとしてそれ自体がもたらす複雑性を支えきれないというパターンです。 少し前にフロントエンドにClean Architecture(以下CA、あの同心円の図を指すのは誤用に近いですがここではそれに乗ります)を導入する記事が流行ったと思いますがあんな感じです。ああいったクラスベースでDIが重要となる設計手法はサーバーサイドのJavaでSpringを使うのとは違ってReactがサポートしているものではないため、CAの実現自体に高い設計スキルが必

                    Webフロントエンドの開発効率を高く保つための考え方
                  • 6歳娘「パパ、型による条件分岐はできないの?」 - Qiita

                    とある休日 娘「ねぇ、パパ!」 娘「switchやろ〜!」 ワイ「おお、ええで!娘ちゃん!」 ワイ「Switchやろう!」 ワイ「ほな、テレビをつけて・・・」 娘「テレビ?」 娘「何を言っているの、パパ?」 娘「TypeScriptのswitch文のことだよ?」 ワイ「ファッ!?」 switch文で何をしたいのか 娘「今ね、ショッピングサイトを構築してるところなの」 ワイ「ほうほう」 娘「それでね、手広く儲けようと思って」 ワイ「おお、ええやんか」 娘「個人ユーザーだけじゃなく、法人ユーザーも登録できるようにしようと思うの」 ワイ「なるほどな」 娘「言語はTypeScriptを使っているんだけど」 娘「ちょっと聞きたいことがあるの」 ワイ「おう、なんでも聞いてや」 あいさつ関数を作っている 娘「ショッピングサイトにログインしたときに・・・」 個人の場合 → 「無職 やめ太郎さん、こんにちは

                      6歳娘「パパ、型による条件分岐はできないの?」 - Qiita
                    • 年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita

                      初めに、そして結論 本当は冒頭にこういう言い訳がましいことを書くのは好きではないのだが、例によってディスり成分が多めなので、筆者はそういうキャラということでそこは目を瞑って欲しい。実体験に基づいて書くので業務上あまり触ってこなかった言語については記載が少ないが、読者のみなさんが詳しいことや私の記述で事実と異なる部分については謝罪して訂正したいのでプルリク、コメント等熱望している。あと筆者はサーバーサイドエンジニアであってフロントの事が全然わからんのでその辺はさっぴいて読んでほしい。結論から言うとRustを使え。 古生代 アセンブラ以外の高水準プログラム言語の歴史は1950年代から1であるが、筆者の実体験に基づいて話をするので'80年代まですっ飛ばす。 N88-BASIC N88といえばN88-BASIC(86)を思い浮かべる読者が多いと思うが、筆者はPC-8801mkIIユーザーだったので

                        年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita
                      • State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果

                        IT技術者のSacha Greif氏とRaphaël Benitte氏が、JavaScriptに興味を持つ世界中のIT技術者約2万4000人にアンケートを取り、結果をまとめたWebサイト「State of JavaScript 2020」が公開されています。 JavaScriptの最新のシンタックスや命令がどれくらい使われているか、フロントエンドやバックエンド、ビルドツールなど分野ごとにさまざまなJavaScript関連の技術はどれくらい興味を持たれているかなど、アンケート結果を基にして、満足度(Satisfaction)、興味(Interest)、利用率(Usage)、認知度(Awareness)などを計算。それぞれについてランキングを作成しています。 それぞれの値は次の式で計算されると説明されています。それぞれの項目にはアンケートの回答数が入ります。 満足度=またこの技術を使いたい/(

                          State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果
                        • 退職エントリを毎日自動で集めるBlogを作った - Qiita

                          概要 退職エントリって良いですよね。 人生色々ですよね。 作ったもの 退職エントリまとめ これ自体は、ただのはてなブログです。 退職エントリをあつめる cheerio-httpcliで、タイトルに「退職しました」や、「退職します」が付いてるサイトのURLを Google検索結果から集めます。 const client = require('cheerio-httpcli'); // "退職しました"を検索する。"&tbs=qdr:d"を付与すると24時間以内の検索になる。 const BASE_URL_GOOGLE = 'https://www.google.com/search?q=%22%E9%80%80%E8%81%B7%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22&tbs=qdr:d&start='; // はてブなど、除外したいサイトを登録しておく

                            退職エントリを毎日自動で集めるBlogを作った - Qiita
                          • 将棋が指せる WEB サービスを個人で開発しました - SHOGIX

                            みなさんこんにちは、はじめまして、菊池です。 先日、関数型言語と Google のクラウドサービスを使って作った【SHOGIX 無料で将棋の対局ができる WEB サービス 】を公開しました。完全に個人の趣味プロジェクトです。 WEB ブラウザがあれば将棋の対局ができるので、よかったら友達と将棋を指す時とかに使ってみてください! 今回は SHOGIX を構成する技術について、その概要を紹介してみようと思います。 今後の SHOGIX には、棋力が同じぐらいのユーザー同士でマッチング対局できる機能や、将棋が強くなれる機能を少しづつ追加していく予定です。お楽しみに! shogix.jp SHOGIX の構成 SHOGIX は Google の各種クラウドサービスを使って、サーバーレスで構成しています。インフラの運用は全てクラウドサービス側にお任せでスケールアウトもしてくれるので、ロジックの開発に

                              将棋が指せる WEB サービスを個人で開発しました - SHOGIX
                            • Web フロントエンドフレームワーク選定前に知っておくべき Angular の 6 つの問題点と、それでも Angular を選ぶ理由 - Qiita

                              Web フロントエンドフレームワーク選定前に知っておくべき Angular の 6 つの問題点と、それでも Angular を選ぶ理由 2019/12/04 追記 @okunokentaro さんが熱いアンサー記事を書いてくれました。 Angularでの開発を快適に進めるために知っておきたいこと https://qiita.com/okunokentaro/items/503ab7a4c7601b564de0 https://gist.github.com/okunokentaro/dc4cd470999fd90aba73423d09a37485 本当に本当にありがたいです。この短時間でこんな良質の記事が書けるのは本当にスゴイ。 Angular コミュニティの暖かさと熱さを感じる 1 日でした。この記事もぜひ参考にしてください。 (ただ、「Angular は全員 80 点」という言説はまる

                                Web フロントエンドフレームワーク選定前に知っておくべき Angular の 6 つの問題点と、それでも Angular を選ぶ理由 - Qiita
                              • アンサー: なぜTypeScriptの型定義に凝るのか - Qiita

                                この記事は、昨日公開された以下の記事に対するアンサー記事です。TypeScriptで型定義に凝る派筆頭(自称)として、このお題に対して別の視点から光を当ててあげるためにこの記事を用意しました。 TypeScript の型定義に凝りすぎじゃね? まず最初に、この記事(以下では元記事と呼びます)の著者を攻撃したり、元記事の内容を否定する意図はないことをご理解ください。結局のところ、考え方が異なり、前提が異なるから異なる結論になっているだけなのです。TypeScriptを使う皆さんがいろいろな観点から見た情報を取得し、自分の状況に応じた適切な考え方・判断をできるようにすることがこの記事の目的です。 要約 大きなコードを小さく分解しても本質的な難しさが消えるわけではないよ? 型はドキュメントなんだから正確に書こうぜ! 外界との接続も妥協せずに型システムで解決しようぜ! 機械にできる仕事を人間がする

                                  アンサー: なぜTypeScriptの型定義に凝るのか - Qiita
                                • フロントエンドアプリケーションにおいて状態をどこに置くべきか論 - Runner in the High

                                  後学のために自分の考えていることをまとめてみる。 考えられるパターン これまでの経験から以下4つのパターンがある。 ローカルStateでprop-drillingする ローカルStateかつイベント経由でデータ交換をする グローバルStoreとローカルStateを併用する グローバルStoreのみを使用する 1. ローカルStateでprop-drillingする propとしてコンポーネント間のデータをやりとりする手法。 ほぼすべてのUIコンポーネントを親からデータを受け取りDOMを出力するだけの純粋な関数として表現できるため、全体の設計自体はシンプルになる。手間は多いが魔法は少ない。 コンポーネントの粒度が小さいアプリケーションの場合にはいわゆるバケツリレーと揶揄されるデータの受け渡しが頻発し、これに嫌悪感を持つエンジニアもいる。 2. ローカルStateかつイベント経由でデータ交換を

                                    フロントエンドアプリケーションにおいて状態をどこに置くべきか論 - Runner in the High
                                  • UIデザインに最適! シンプルなSVGアイコン素材が7,000種類以上揃っていて、完全に商用利用無料 -Phosphor Icons

                                    WebサイトやスマホアプリのUIデザインをはじめ、プレゼンなどのさまざまな成果物に使用できるSVGアイコンのセットを紹介します。 アイコンのスタイルも豊富で、ソリッド・ベタ塗り・デュオトーンなども揃っており、さまざまなデザインに適用できると思います。 Phosphor Icons Phosphor Icons -GitHub Phosphor Iconsの特徴 Phosphor Iconsのアイコンのダウンロード Phosphor Iconsのアイコン Phosphor Iconsの特徴 Phosphor Iconsは、WebサイトやスマホアプリのUIデザインをはじめ、プレゼンテーションやダイアグラムなどさまざまな成果物に使用できるフレシキブルなアイコンのセットです。 7,000種類以上のSVGアイコンが揃っています。 6つのスタイル(Thin, Light, Regular, Bold,

                                      UIデザインに最適! シンプルなSVGアイコン素材が7,000種類以上揃っていて、完全に商用利用無料 -Phosphor Icons
                                    • エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス

                                      potato4dとうなすけが2020年に使用した技術をそれぞれフロントエンドエンジニアの目線とサーバーサイドエンジニアの目線から書いてくれていたので、私も感化されて記述していこうと思う。d.potato4d.me blog.unasuke.com 私自身は2020年、本業としてFringe81(2020年12月で退職)でサーバーサイドをメインで触り、業務委託としてBlack Inc.でフロントエンドに近い開発をしていた。(あと数社お手伝い) どちらかというとサーバーとフロント、両方の立場から多角的な意見を言えるような立ち位置で仕事を行っていた年になる。 また本業においては情報処理安全確保支援士として活動を始めた年になった。社内のセキュリティ向上を目標としていた。 qiita.com qiita.com 今回は仕事で触れていた技術について、できる限りまとめていく。 --- 言語 TypeSc

                                        エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス
                                      • 💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita

                                        ここ数年の流れについて 技術的側面 Webフロントエンド(ほぼTypeScript&React界隈)において、オブジェクト指向(厳密に言うとクラスの利用)から脱却する流れがあります。原因は以下の2点。 クラスの継承の問題点が(IT業界全体に)広く定着したこと JS/TSの進化、Reactの進化、関数型言語の考え方などの影響により、クラスを用いてデータと関数群を紐づけるメリットが薄くなったこと 現状、設計レベル(実務的にはどの関数を纏めてモジュール化するのか、モジュール同士をどう繋ぎ合わせるのか、フォルダ割りどうするのか等)のノウハウがまだ固まっておらず、既存の設計論はそれなりに有効です。 コミュニティ的側面(政治) これらの流れはWebフロントエンドの中でもTypeScript&Reactの界隈が主導しており、そのノウハウは長年絶対視されてきたオブジェクト指向を解体するような内容であったた

                                          💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita
                                        • rust.tokyo のまとめ・感想 - mizchi's blog

                                          このブログを書いてる経緯 rust.tokyo 楽しみ!絶対行く!といってたのに申込みを忘れたところ、じゃあスタッフとしてブログを書けという話になったので、ブロガー枠?らしく感想を書きます。とはいえ書けるのは見たやつだけです。 https://rust.tokyo/sessions# 前提 自分は低レベルプログラミングは詳しくないです。年に3日ぐらい思い出したように Rust 勉強することがある。 wasm 周りのエコシステムはずっと追ってる。 会場の雰囲気 組み込み勢とブロックチェーン勢が多そうな気配を感じた。 Visualization of mechanical CAD drawings using WebAssembly and WebGL Aki / CADDi (発表資料見つからず) 概要 Computer aided design (CAD) models used in m

                                            rust.tokyo のまとめ・感想 - mizchi's blog
                                          • 達人出版会

                                            探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                              達人出版会
                                            • はてなーの関西差別、やばいレベルになってるな

                                              はてなーの地方嫌いは前々から指摘されているとはいえ、これは……。関西圏の言語・文化に対してはいくらでも馬鹿にしていいと思ってそう。 https://b.hatena.ne.jp/entry/s/twitter.com/Tabio_JP/status/1323830743802408960 tanakakazu 「嫁」だと息子の妻だからな。 regularexception 嫁は「息子の女性配偶者」。蔑称ではないが言葉のチョイスはおそらく間違えている kijtra “身内は下げるのが本来正しい” とか言ってる人がいて、女性が対等になるのはまだまだ時間はかかりそうな感じした。マジレスだと「嫁」は夫婦の親が使う言葉だね。 https://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20171128231843 elm200 これには激しく違和感を感じるよ。嫁

                                                はてなーの関西差別、やばいレベルになってるな
                                              • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

                                                この記事はRust Advent Calendar 2021の12/24日の記事です。 仕事ではScalaを使っていますが、趣味のプログラミングではRustで書いたものが増えました。Rustは楽しいですね。 今回は、Rustでオブジェクト指向プログラミングに関数型デザインを導入することで、スケーラブルなプログラムを書く方法(スケーラブル・プログラミング)について書きます。 「スケーラブル・プログラミング」といえばScalaです。Scalaの「スケーラブル」という言葉には「小さいプログラムも大規模なプログラムも同じ概念で記述できるべきである」という、柔軟性や拡張性を重視した設計の意図が込められています。それを実現するために必要なものは、オブジェクト指向と関数型を組み合わせたマルチパラダイムな設計です。 Scalaはマルチパラダイム言語の先駆者(今も先頭を走り続けています)ですが、他の言語にも

                                                  Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                                • Elm入門と実践 - 買い物カートを作ってアーキテクチャ「TEA」を学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!

                                                  このTEAは、関数型FluxライブラリであるReduxの思想に影響を与えたことで知られています。 TEAは現代のフロントエンド・アプリケーションを開発するにあたってのベストプラクティスを踏襲しており、「Elmまかせ」でアプリケーションを作ることでが、スケールするアプリケーションを開発するための最短ルートととなるように作られているのです。 ECサイトの商品カート機能をElmで作ってみよう さて、ここからは手を動かしながら、Elmのエッセンスをお伝えしていきたいと思います。ElmによるTODOアプリやカウンタアプリのサンプルは、Elmの公式ページやさまざまなブログ、書籍などで比較的よく見られますが、もう少し大きな規模でのElmのアプリケーションのコードを見る機会は多くはありません。 最も実践的なアプリケーションのサンプルとしては、NoRedInk社のリチャード・フェルドマンによるmediumの

                                                    Elm入門と実践 - 買い物カートを作ってアーキテクチャ「TEA」を学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!
                                                  • フロントエンドエンジニアがWASM(Rust)でWebアプリを作ってみた

                                                    この記事について この記事はアドベントカレンダー2021 Rust 四日目の記事です 概要 フロントエンドエンジニアである筆者がWASM(Rust)でWebアプリを作ってみたので、 その際の技術選定(主にビルド・開発補助周り)について 作ってみた雑感、特に「ぶっちゃけフロントエンドRust[1]ってどうなの?」という点 について書いていこうと思います。 TL,DR 2021年12月現在フロントエンドでのRustの採用は技術的に可能だがエコシステムが未発達なのでそれなりに技術力とコストを要求される とはいえ伸び代はかなりあるのでエコシステムが頑張ってくれれば、数年後には十分一般的な選択肢になってるかも(なってて欲しい) 主な対象読者 フロントエンドに携わる機会がある方々 この記事を読んでいただくことで・・・ フロントエンドという文脈におけるWASMの現状を知ってもらう フロントエンドをRus

                                                      フロントエンドエンジニアがWASM(Rust)でWebアプリを作ってみた
                                                    • なぜReactでもVueでもなくElmを使っているのか - Qiita

                                                      Functional-Static-Strong-Managed −0.25 (0.04) ∗∗∗ Functional-Dynamic-Strong-Managed −0.17 (0.04) ∗∗∗ Proc-Static-Strong-Managed − 0.06 (0.03) ∗ Script-Dynamic-Strong-Managed 0.001 (0.03) Script-Dynamic-Weak-Managed 0.04 (0.02) ∗ Proc-Static-Weak-Unmanaged 0.14 (0.02) ∗∗∗ 各カテゴリに属する言語は以下のとおりです。 Functional-Static-Strong-Managed: Haskell、Scala Functional-Dynamic-Strong-Managed: Clojure、Erlang Proc-Sta

                                                        なぜReactでもVueでもなくElmを使っているのか - Qiita
                                                      • JavaScriptのthisは結局何種類あるのか - uhyo/blog

                                                        JavaScriptのややこしい機能としてよく槍玉に挙げられるのがthisです。その特徴のひとつは状況によって意味(thisの値)が違うことであり、これを指して「JavaScriptのthisは4種類」とする説も見られます。 そこで、この記事ではthisが何種類あるのか、ECMAScript仕様書を頼りに調べます。ECMAScript仕様書とはJavaScriptという言語を定義する文書であり、JavaScriptのthisがどのような挙動をするのかも当然定義されています。今回は仕様書の2020年5月26日版ドラフトを参照します。 https://tc39.es/ecma262/結論としては、最も大ざっぱに分けると3種類、最も細かく分けると157種類です。この記事では全種類漏れなくサンプルコード付きで説明します(似たようなやつはまとめて説明します。また、一部観測不能なものがあります)。 ス

                                                          JavaScriptのthisは結局何種類あるのか - uhyo/blog
                                                        • 関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう

                                                          この記事は、関数型プログラミングはまず考え方から理解しよう の記事を純粋関数型言語Elmで書き換え、一部の文章について批判的に言及させていただいた記事になります。この記事を書こうと思ったきっかけとしては、今回参考にさせていただきた記事が過去に書かれたものにも関わらず、今に渡っても見られていそうなこと。未だにパラダイムの理解に関する誤解が多く散見されること。改めて純粋関数型言語の実用性・有用性について、見直されるべきだと思い、この記事を執筆させていただきました。 次のステップアップ記事は、[超入門] FizzBuzzで考える関数型プログラミング学習を純粋関数型言語でやる理由です。 はじめに、この記事の主張を結論としてまとめておきます。 対比すべきは、関数型プログラミングとオブジェクト指向プログラミングではなく、関数型プログラミングと手続き型プログラミングである 関数型プログラミングの考えを学

                                                            関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう
                                                          • The new wave of React state management

                                                            The new wave of React state managementUnderstand the core problems state management libraries need to solve. And how the proliferation of modern libraries address them in new ways. IntroductionAs React applications grow in size and complexity, managing shared global state is challenging. The general advice is to only reach for global state management solutions when needed. This post will flesh out

                                                              The new wave of React state management
                                                            • 2023年に使った技術・作ったもの・書いたものまとめ

                                                              2023 年に使った技術まとめ 2023 年もそろそろ終わりなので、今年のエンジニア生活のまとめです。 正直今年はほとんど仕事しかやっていないです。どうしてもお仕事だと攻めた技術選定ができなくて(記事書くには)あんまり面白くないなあ…の気持ちではあるんだけど、その分実務でこんな技術使ってますよ、ってお話としてみていただければ幸いです。 React 18 / TypeScript 去年(2022)までは Vue と React 半々くらいで生きてたんだけど、今年はどっぷり React でした。 Vue の選択肢もないわけではなかったんだけど、ある程度の規模のプロジェクトで、かつアプリケーションとしての複雑度が高いものを作る時に Vue はやっぱりちょっと怖いんですよね。。正直コントロールできる自信がちょっとない。 多分当面は、ロジックの複雑度や抽象度が高いものは React、ロジックは素直で

                                                                2023年に使った技術・作ったもの・書いたものまとめ
                                                              • ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA

                                                                アドベントカレンダーでもなんでもない記事 0日目です。 Unityで長らくゲーム開発をやっているけれど、Web界隈などで色々と発達しているアプリケーション設計パターンをおいそれと持ち込めば良いわけではないと感じているので、それについて考えてみようと思う。 ここでいう設計パターンていうのは、たとえばUIとかをつくるフレームワークの競争で発達してきた MVC派生 や ReactとかのElmアーキテクチャに影響を受けたものたち、はたまた、Webサーバ(HTTPサーバ) を書くときに 「良し」とされている 、DDD的な考え方の上での、抽象レイヤと実装レイヤの分け方を教条化するクリーンアーキテキクチャとかなんかそういうの。 追記: ゲームでも「ドメインロジックとプレゼンテーションの分離」はした方が良いと思っている。全体としては狭義でのMVPとかは自分もやってる。 こういった者達は、先人のアイデアや言

                                                                  ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA
                                                                • 最小手数で始めるTailwind CSS - メドピア開発者ブログ

                                                                  パクチーパクパク小宮山です。 掲題通りTailwind CSSの始め方を最小手数で書いていきます。余談は一切ありません。 tl;dr CSS管理は諦めてTailwind CSSを使おう。 Get Started tailwindcss.com ひたすら公式通りに進めます。例によってフロントエンドプロジェクトの環境構築はひたすら面倒なので、Tailwind CSS以外のツールチェインはなるべく使わない構成を目指します。 installします。 $ yarn init $ yarn add tailwindcss セットアップします。 $ yarn tailwindcss init こういうファイルが作られました。 tailwind.config.js module.exports = { purge: [], theme: { extend: {}, }, variants: {}, plu

                                                                    最小手数で始めるTailwind CSS - メドピア開発者ブログ
                                                                  • Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita

                                                                    はじめに Pythonでキチンと型アノテーションを書くのであれば一度は読んでおきたいのがtypingライブラリの公式ドキュメントです。 前回の記事でも読んでくださいと(偉そうに)書いたわけですが、実のところこれは型アノテーションを解釈する側1に向けたドキュメントだったりもするのでアノテを書く側にとっては情報がごちゃごちゃしてるんですよね。加えて未翻訳の箇所もそれなりにあってま~~~~読みにくい。実際に読んでいただいた方々からの評判もすこぶる悪かったです。また 機能は分かったけど結局どんな時に使えばいいのか分からない という致命的なコメントも聞きました。 そこで今回はこれらの不満を解消すべく、公式ドキュメントを一般ユーザー向けに再編し具体的なユースケースを盛り込んだ非公式ドキュメントをご用意しました。 なおPython 3.10は2021年10月04日リリース予定ですが、先駆けてドキュメント

                                                                      Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita
                                                                    • RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita

                                                                      RustでもWebAssembly出力ができるようになっているんですが、いつか触ろうと思いつつずっと触る機会がありませんでした。 ちょうど自身の周りでもElectronの利用事案が増えて来て(例えばPostludium/Peridotでパイプラインの設計エディタのためにElectron使おうと思ったこともありました......)、良い機会なので入門として件名のライブラリを触ってみることにしました。 Kaguraとは Rust製のWebフロントエンドフレームワークです。端的に言ってしまえばReactやVueなどの仲間です。 仮想DOMを用いて差分レンダリングを行う点は既存のフレームワーク同様ですが、アーキテクチャ的にはHalogenやElmが近いです (いわゆるTEAの形をとっています)。 RustでWebAssemblyを出力する、動かす Rustにはwasm-bindgenという便利ツー

                                                                        RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita
                                                                      • 既存プロダクトに最小構成でTypeScriptを導入する - RAKSUL TechBlog

                                                                        こんにちは。 印刷のラクスルでフロントエンドを担当している菅野です。 現在、稼動中のとあるプロダクトへのTypeScript導入を進めています。今回は、既存プロダクトへの影響を最小限に留めつつTypeScriptを導入する手順をご紹介します。 TypeScriptとは TypeScript - JavaScript that scales. TypeScriptは、Microsoftが開発したオープンソースのプログラミング言語です。 詳細な説明は省きますが、以下のような特徴があります。 JavaScriptの厳密なスーパーセット(≒上位互換) 省略可能な型システム クラスベースのオブジェクト指向 TypeScript導入にあたって 今回TypeScriptを導入することで、以下のようなメリットがあります。 型システムの恩恵が得られる エディタの入力補完を受けられる コード=ドキュメントとい

                                                                          既存プロダクトに最小構成でTypeScriptを導入する - RAKSUL TechBlog
                                                                        • TypeScript: 「電話番号型」という意味を持たせた特殊なstring型の作り方 - Qiita

                                                                          この投稿では、値としては「文字列」なんだけど、単なる文字列ではなく「電話番号型」という意味を持たせた文字列型を定義し、それ使用する方法を紹介します。 TypeScriptで「電話番号型」みたいな、正規表現でバリデーションされるような型は作れるんかな? ElmだとOpaque Typeなんてやり方があったけど。。。 用は型をexportしないで、その型の値を作る方法だけをexportすればええんかな。 — 無職やめ太郎(本名) (@Yametaro1983) April 23, 2020 ↑上のような疑問に対する答えです。 実現方針 方針としては、以下のテクニックの組み合わせです。 公称型で、「電話番号型」を定義する ユーザ定義タイプガードで、文字列型を電話番号型としてコンパイラに認識してもらう 公称型とその実装方法についての基本は下記投稿をご覧ください。 TypeScript: 異なる2つ

                                                                            TypeScript: 「電話番号型」という意味を持たせた特殊なstring型の作り方 - Qiita
                                                                          • 達人出版会

                                                                            探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 デザインディレクション・ブック 橋本 陽夫 現場のプロがやさしく書いたWebサイトの分析・改善の教科書【改訂3版 GA4対応】 小川 卓 解釈可能なAI Ajay Thampi(著), 松田晃一(翻訳) PowerPoint 目指せ達人 基本&活用術 Office 2021 & Microsoft 365対応 PowerPoint基本&活用術編集部 ランサムウェア対策 実践ガイド 田中啓介, 山重徹 TODによるサステナ

                                                                              達人出版会
                                                                            • ユーザーインターフェイスにおける5つのステート - Runner in the High

                                                                              元ネタはこれ scotthurff.com Webアプリケーションを作ったことがある人ならわかる話だが、アプリケーションは確実に予想外の状況に晒される。サーバーはレスポンスを返すのに時間がかかるし、ユーザーの環境がメモリ1G以下のこともあれば、完全に想定外の使いかたをするユーザーもいる。デザイナはそれらの現実に起こりうる可能性を全て考慮に入れてデザインをする必要がある。 2004年にBasecamp(当時は37signals)はThe Three State Solutionという提案をしていて、その内容は「全ての画面設計は3つのステート(Regular, Blank, Error)を考慮するべきだ」というものだった。その当時はまだAjax黎明期だったし、もちろんスマートフォンも存在していなかった。けれども、新しいテクノロジーが生まれるにつれて、インターネットを利用する環境は恐ろしく多様に

                                                                                ユーザーインターフェイスにおける5つのステート - Runner in the High
                                                                              • 関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。

                                                                                先日Connpassにて、関数型プログラミングなんもわからん。を考えようと言うイベントを開かせていただきました。 関数型プログラミングがわからない! と言う方達の疑問に対して、普段関数型プログラミング言語を使っているわかる人たちが回答をして行くと言うスタイルのイベントでした。関数型プログラミング言語と一口に行っても、Elm, Scala, Haskell, Clojure, Elixir, F#と様々な言語があり(これは今回参加した人たちの使っている言語で、関数型プログラミング言語の一部にしか過ぎません)何が正解かなどはわからない中での意見の集約といった形のため参考程度にご覧ください。結果イベントとしては様々な視点からの意見が聞けて満足という声が多かったです。私自身知らないことがたくさん知れて勉強になり楽しかったです。 イベントの内容は、Figma上で開けるFigJamファイルとして、公開

                                                                                  関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。
                                                                                • 畳み込みの仕組み | Convolution

                                                                                  確率から画像処理まで、離散畳み込みと高速フーリエ変換(FFT) 激ムズ数え上げパズルと驚きの解法 https://youtu.be/FR6_JK5thCY フーリエ変換の解説動画 https://youtu.be/fGos3wrKeHY 【注釈】 整数のかけ算のアルゴリズムについて、FFTの"straightforward"な適用はO(N * log(n) log(log(n)) )の実行時間になる。log(log(n))の項は小さいが、2019年になってHarvey and van der Hoevenがこの項を取り除くアルゴリズムを発見した。また、O(N^2)を、必要な計算量がN^2と共に大きくなると表現したが、厳密にはこれはTheta(N^2)が意味するところである。 O(N^2)は計算量が高々N^2の定数倍になるという意味で、特に、実行時間がN^2項を持たないが有界であるアル

                                                                                    畳み込みの仕組み | Convolution