並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 651件

新着順 人気順

*Programmingの検索結果361 - 400 件 / 651件

  • イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog

    こんにちわ。shogo4405です。本エントリーは普段UI開発を行なっているクライアントエンジニア向けに、Mirrativのイヤホン配信を支えている音のプログラムの基礎を紹介していきたいといます。 音のプログラミングの概要を掴んでもらい、より詳しい部分については文献を調べるための参考になれば幸いです。 はじめに イヤホン配信の概要になります。Mirrativの配信はゲーム音源をマイクからの集音に頼っています。ユーザーが配信を行う際に、イヤホンを装着するとゲーム音源が配信にのらず視聴側としては物足りない配信になります。 これを解決する手段として、OS内部で再生中のゲーム音源をキャプチャーした音源。マイクから集音した音源。これらの音源を合成する方法があります。この手段をとることにより、イヤホンしながらでもゲーム音声を視聴者に届けることができるようになります。サービス上では、イヤホン配信と呼称し

      イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog
    • 私の Rust 学習記録 2021

      ※ この記事は 2021/10 時点での内容です。 社内勉強会で 2021 年に発表した内容で、外部公開しようと思って寝かせてしまっていました。 記事としての鮮度は落ちてますが、頑張って書いたものなので Zenn に公開しておきます。 概要 社内異動を機に業務で Rust を書けることになった私の Rust 学習記録です。 今までの言語経験はメインが Ruby、少し JS/TS、趣味で Go をやっていたぐらいです。 学習の方針 なんでもかんでも Rust で書く。 Rust は GC のないシステムプログラミング言語として大体 C 言語と同等のレイヤーからカバーできるので、書こうと思えば OS から Web アプリまで書ける。 yew のような UI 構築用のライブラリもあるので、フロントエンド開発もできる。 というわけでなんでもかんでも Rust で書ける。 リポジトリ運用 デプロイの

        私の Rust 学習記録 2021
      • Javaのインストール2023年版 - きしだのHatena

        ちょっとJavaのインストールについて調べてみました2023年版。 Javaにはディストリビューションがたくさんあるので、目につくインストーラーをWindowsで全部ためしてみました。 初心者が勉強するためにJavaをインストールするというときにどれを使うのが手軽か確認するというのが主な目的です。 Oracle JDK Temurin by Adoptium Amazon Corretto Azul Zulu Liberica JDK Microsoft Build of OpenJDK SapMachine OpenJDK SDKMAN! winget OpenJ9 / Semeru Runtime Red Hat Build of OpenJDK GraalVM Scoop いろいろあるので、結論を先に書いておくと次のようになります。 いまPATHの設定が必要なJDKインストーラはない

          Javaのインストール2023年版 - きしだのHatena
        • [速報]Java 13が登場。ZGCの改善やSwitch式の実現など新機能。 Oracle Code One 2019 - Publickey

          2017年9月に登場したJava 9以降、Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるメジャーアップデートが行われています。Java 13は、今年3月に登場したJava 12に続くメジャーアップデートです。 Java 13のおもな新機能は、Application Class-Data Sharing機能を拡張した「Dynamic CDS Archives(JEP 350)」、ZGCガベージコレクタを改善し使われていないヒープメモリを返却する「ZGC: Uncommit Unused Memory(JEP 351)」、Project Loomの一部として既存のSocket APIを再実装した「Reimplement the Legacy Socket API(JEP 353)」、Switch式を可能にする「Switch Expressions(JEP 354)」(プレビュー)、J

            [速報]Java 13が登場。ZGCの改善やSwitch式の実現など新機能。 Oracle Code One 2019 - Publickey
          • 漢文風のプログラミング言語「文言(wenyan-lang)」がめっちゃエモいと話題に/“吾有一數。曰三。名之曰「甲」”で“int 甲 = 3;”【やじうまの杜】

              漢文風のプログラミング言語「文言(wenyan-lang)」がめっちゃエモいと話題に/“吾有一數。曰三。名之曰「甲」”で“int 甲 = 3;”【やじうまの杜】
            • 品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中

              近年のソフトウェア業界では、テスト関連活動を担うエンジニアを「QAエンジニア」と呼ぶようになっています。ただQA(品質保証)という言葉は、旧来から二つの定義が共存しているほか、業界内の通例で更に別の意味付けが行われた結果、定義が曖昧になり誤解を生みがちな状態となっています。 そこで今回は、日本語圏で、QA(品質保証)の言葉がどのように定義されているか、整理して解説します(結論からいうと三流派あります) 国際標準規格での定義:品質マネジメントシステムの実証 IEEEやISOといった国際的な標準規格、およびそれに準拠した知識体系や標準では、古くから体系立てて品質マネジメント、品質保証、品質管理の定義を行っています。 有力な文献として、品質マネジメントの標準規格である、ISO 9000:2015の定義を紹介します。 まずISO 9000では、品質保証の前提として品質マネジメントという用語を使って

                品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中
              • 会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ

                こんにちは。 今年の年始からジョインした遠藤です。 さて、入社したところ会社支給のMacBook ProがM1チップのものでした。 はい、現状は開発環境で苦労するとか色々噂を聞くやつです。 実際に試したのですが、 現状の開発環境構築スクリプト、手順書が一切使えない VitualBox, Vagrantは利用不可 Dockerは利用可能ではあるが、一部イメージが対応されてない 古いパッケージは動かす手段がない などなど、通常ではぶつからない問題にぶつかります。 食べチョクでは、 Ruby Node.js MySQL Redis ElasticSearch Kibana を利用しています。 この辺りをメインに話つつ、Intel版とこんな風に違うのかっていう辺りの雰囲気を感じ取っていただければと思います。 どこに開発環境を構築するか まず、どこで開発環境を構築するかを考えてみたいと思います。 ロ

                  会社の支給PCがMacBook Pro M1なので、新しく開発環境を構築した話 - 食べチョク開発者ブログ
                • 個人開発のプロダクトにおけるクラウド料金のはなし - GCPの年間コストをランチ一回分に抑えた話 - Lean Baseball

                  GCP(Google Cloud Platform)を個人開発プロダクトの中心として使っているマンです. AWSやAzureなど他のクラウドサービスもそうですが, クラウドサービスを自分の財布から使ってる時ってめちゃくちゃドキドキしませんか?特にお金の話💰 gigazine.net 例えばこういう記事が流れてくると, 勉強のつもりでアカウント作ったけどどうしよう🤔 仕事で使ってるけど怖くなってきた😫 などなど, 色々と不安を覚えると思います, 自分も昔はそうでした, クレカの情報入れるのこわいお💳的な. ですが安心してください. 仕組みを正しく理解して使えば個人レベルだとメチャクチャ安く収まります. このエントリーでは, 私が今年(2020年)に使ったGCPの料金をチラ見せしつつ, 目的に合わせたクラウドサービスの使い方をTipsとして紹介し, GCP(に限らず他のクラウドサービス

                    個人開発のプロダクトにおけるクラウド料金のはなし - GCPの年間コストをランチ一回分に抑えた話 - Lean Baseball
                  • 「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説

                    「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取

                      「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説
                    • 趣味の開発で使えるGitHubのブランチ運用 - t-hom’s diary

                      今回はGitHubの話。 基本的な使い方は入門書がいくらでも出ているので今更私が解説するまでもないけど、ブランチ運用については腑に落ちるまで少し苦労したので今回は自分流のブランチ運用をメモとして残しておこうと思う。 ガチの開発勢から色々と文句を言わるかもしれないけど、趣味開発なのでご容赦願いたい。 thomの2ブランチ開発フロー 私は次の表の1~8のような流れで開発を進めている。 このブログの読者はExcelマクロ開発者が多いのでバージョン管理システムを使わないExcel開発を例えとして挙げてみた。対比させるとGitでやっている作業が何をしているのか少しは分かりやすいかなと思う。 本来は2~4を繰り返してこまめにdevブランチを更新しつつ、ある程度キリの良いところで充分にテストをしたうえでmasterへ取り込むんだけど、なんせ一人で開発していてユーザーも大抵自分ひとりというケースが多いので

                        趣味の開発で使えるGitHubのブランチ運用 - t-hom’s diary
                      • 大規模言語モデル「Phind」がコーディングにおいてGPT-4を上回る

                        生成AIを用いた開発者向けの検索エンジン「Phind」が、コーディング能力でOpenAIのGPT-4を上回ったことが明らかになりました。 Phind - AI Search Engine and Pair Programmer https://www.phind.com/blog/phind-model-beats-gpt4-fast Our GPT-4-beating coding model is now the default on https://t.co/epkoFW8Ozz. It's also 5x faster than GPT-4. Learn more in our blog post: https://t.co/PrOFETEbvd— Phind (@phindsearch) PhindはもともとHello Cognition(beta.sayhello.so)として

                          大規模言語モデル「Phind」がコーディングにおいてGPT-4を上回る
                        • 時間を区切って設計を打ち切るのはおすすめできない - hitode909の日記

                          最初にマイルストーンを切って、この週で設計、この週で実装、みたいなことをやるのはおすすめできない。 設計に使える時間を最初に決めた時間までしか使わないということは、どうすればいいか、考えきれてなくても作り始めているということ。 コードは書けていくので、進んでいるようにも見えるけど、問題を先送りしているだけなので、じっくり設計や作戦を詰めていれば気付ける問題に、あとのほうで直面することになる。 この問題を回避するためにはこのように作るべきであった、ということにあとで気づくと手戻りが大きくなり、こんなことをするくらいなら最初に決めておけばよかった、となることが多いと思う。 家を建てることをイメージすると、設計フェーズはここで打ち切って、手を出せるところから始めよう、といきなり柱を建てることをイメージしてほしい。 先のことを見据えると、4本の柱は長方形になっているべきという制約があるけど、そのこ

                            時間を区切って設計を打ち切るのはおすすめできない - hitode909の日記
                          • プログラミングをAIが支援してくれる「GitHub Copilot」が正式サービスに、VSCodeやNeovimなどで利用可能。月額10ドルから

                            プログラミングをAIが支援してくれる「GitHub Copilot」が正式サービスに、VSCodeやNeovimなどで利用可能。月額10ドルから GitHubは、コメントを書くとそれに基づいたコードを提案してくれるなど、プログラミングをAIが支援してくれる「GitHub Copilot」を正式サービスとして提供開始したことを発表しました。 GitHub Copilot helps you get better focus and build faster by instantly suggesting code—and is now available for developers everywhere.https://t.co/R6ZqAEtLJF — GitHub (@github) June 21, 2022 GitHub Copilotは、GitHub上で公開されているコード群によ

                              プログラミングをAIが支援してくれる「GitHub Copilot」が正式サービスに、VSCodeやNeovimなどで利用可能。月額10ドルから
                            • ソフトウェアテスト読書マップ

                              ABCEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAF

                                ソフトウェアテスト読書マップ
                              • RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう

                                本連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法について、順を追って説明していきます。初回となる今回は、WebAssemblyの概要を説明するとともに、Rustを利用した簡単なサンプルで、実装方法のイメージを紹介します。 はじめに 現在、Webフロントエンド開発においては、ページ構造を表すHTML、スタイルを表すCSSとともに、挙動を実装するためにJavaScriptが利用されます。JavaScriptの登場当初はWebページに動きをつける程度の扱いでしたが、その後の言語仕様の拡張や、WebブラウザーでのJavaScript実行速度の向上、Node.jsなどWebブラウザー以外でJavaScriptを動作させる環境の登場などにより、本格的なプログラミング言語としてその

                                  RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう
                                • Rubyと型についてのポエム - まめめも

                                  zenn.dev matz はじめコミッターの型に対する姿勢にも疑問を持っています。 というご意見が自分に刺さった気がしたので、他の話題はともかくこの点に関してだけ、ポエムを書きます。 「Rubyに型が欲しい」というのは、「もっと速い馬が欲しい」だと思っています。意味を知らない人は ヘンリー・フォード もっと速い馬が欲しい で検索してください。 これは批判でも皮肉でもありません。みんなが馬の乗り方を知っている世界では、誰も乗り方を知らない自動車より、速い馬のほうが確実で合理的です。まして、自動車が本当に実現できるかどうかわからない段階では。なので、他言語で型注釈を書くことによるプログラミング体験が良いと思った人が、それをRubyでも享受したいと思うのは自然だと思います。実際、Steep や Sorbet は Ruby でそういうプログラミング体験を提供することを目指していて、すでにある程度

                                    Rubyと型についてのポエム - まめめも
                                  • Introduction - Rust Design Patterns

                                    Introduction Participation If you are interested in contributing to this book, check out the contribution guidelines. News 2024-03-17: You can now download the book in PDF format from this link. Design patterns In software development, we often come across problems that share similarities regardless of the environment they appear in. Although the implementation details are crucial to solve the tas

                                    • Node.jsやめる(Rustにする?) · Issue #11078 · misskey-dev/misskey

                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                        Node.jsやめる(Rustにする?) · Issue #11078 · misskey-dev/misskey
                                      • Flutter2.0で新しくなったこと

                                        日本時間の3/4の未明に行われたFlutter EngageでFlutter2.0が発表されました。 変更点をまとめていきます。 Web/Windows/MacOS/LinuxのサポートがStableに 元々モバイル向けのクロスプラットフォームであったFlutterは、ベータ機能としてWeb、 Windows、 MacOS、Linuxをサポートしていましたが、 Flutter2.0でこれらのサポートがStableになりました。 従来の「モバイルフレームワーク」から、「ポータブルフレームワーク」へ変わるぞ!と発表されています。 Flutter for WebではWebassemblyとSkiaを使って直接CanvasにUIを描画するCanvasKitが紹介されました。 これは従来のdomを直接操作する方法と比べてパフォーマンスに優れ、モバイル版との差異も少ないレンダリング方法ですが、 Ski

                                          Flutter2.0で新しくなったこと
                                        • JavaScriptの非同期処理をじっくり理解する (3) async/await

                                          対象読者と目的 非同期処理の実装方法は知っているが、仕組みを詳しく知らないのでベストプラクティスがわからないときがある 実行順序の保証がよくわからないので自信をもってデプロイできない変更がある より詳しい仕組みを理解することでより計画的な実装をできるようになりたい という動機で書かれた記事です。同様の課題を抱える人を対象読者として想定しています。 目次 実行モデルとタスクキュー Promise async/await AbortSignal, Event, Async Context WHATWG Streams / Node.js Streams (執筆中) 未定 用語に関する注意 前々回定義した以下の用語を今回も使います。 1 tick ... タスクキューが1周すること。 1 microtick ... マイクロタスクキューが1周すること。 これらの単位は非同期処理の間の相対的な優先

                                            JavaScriptの非同期処理をじっくり理解する (3) async/await
                                          • JavaScript プロトタイプ継承の仕組みをGIFアニメで分かりやすく解説

                                            JavaScriptにはどのオブジェクトにもプロトタイプと呼ばれる便利な隠しプロパティがあります。プロトタイプ継承の仕組みについてGIFアニメーションで分かりやすく解説された記事を紹介します。 🎉👨‍👩‍👧‍👧 JavaScript Visualized: Prototypal Inheritance by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 JavaScriptを視覚的に解説: プロトタイプ継承 文字列や配列、オブジェクトに対して.length, .split(), .join()のような組み込みメソッドを使用できるのか、疑問に思ったことはありませんか? それらを明示的に指定したことはありませんが、どこからきたものでしょうか? これは、プロトタイプ継承(prototypal in

                                              JavaScript プロトタイプ継承の仕組みをGIFアニメで分かりやすく解説
                                            • NuitkaでPythonプログラムを配布してみよう

                                              こんにちは。Technicalスペシャリストの黒住です。 最近、Pythonの人気がさらに加速していますね。特に、AI開発やデータ分析においてはPythonの利用頻度が非常に高くなっています。 しかし、「Pythonプログラムを配布する」部分では問題が多いのではないでしょうか。そこで、今回は「Pythonプログラムをexe形式で配布する方法」についてご紹介します。 Pythonでexeファイルを作成する方法 C#やC/C++などのプログラミング言語では、実行可能なexe形式のプログラムファイルを作成できますが、Pythonにはexeファイルを作成する機能はありません。 そこで、Pythonのコードを実行可能な状態で配布したい場合は、他のツールを使用してexeファイルを作成する必要があります。exe化のツールはいくつか存在しますが、有名なものは以下の通りです。 PyInstaller Py2

                                                NuitkaでPythonプログラムを配布してみよう
                                              • 時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog

                                                IETFに「New UUID Formats」という提案仕様が提出されています。 これは、時系列順にソート可能なUUID version 6, UUID version 7, UUID version 8を新しく定義するものです。 詳しい背景は提案仕様にゆずりますが、ULIDを始めとして、時系列順にソート可能な一意な識別子を利用したいというユースケースがあります。例えば、データベースのキーとして使えば、ソートせずとも順番に並びますし、書き込む際も順々に書き込めるのでデータアクセスが局所的になります。 今回は簡単に、それぞれのUUIDのフォーマットを眺めていきます。なお、フォーマットは異なりますが、バージョンを示す値は同じ位置にあります。 UUIDv6 UUIDv6は128bit長で、UUIDv1と似てるフォーマットを取ります。 1582年10月15日(グレゴリオ暦)からの100ナノ秒単位で

                                                  時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog
                                                • 『微分可能プログラミング』はどこから来たのか - bonotakeの日記

                                                  はじめに(8/3追記) この記事を一旦書いたあと、重要な追加証言が得られたため、追記修正しています。結論もやや変わっていますが、現時点のほうがより正確です。 本編:ここから ディープラーニングが現在これだけ流行っている1つの要因は、TensorFlowやPyTorchなどのフレームワークが非常に便利だからです。ニューラルネットワークの設計、訓練、そして分類などの推論がフレームワークを使えばとても簡単に行なえます。 普通に使っている人達は、これらのフレームワークを『ツール』あるいは『ライブラリ』だとみなしていると思います。でも実際のところ、これらはプログラミング言語です。より正確に言えば、すべてのディープラーニングフレームワークはディープラーニング計算用DSL(Domain-Specific Language、ドメイン特化言語)と見なせます。このDSLは大抵、Pythonなど他の汎用言語への

                                                    『微分可能プログラミング』はどこから来たのか - bonotakeの日記
                                                  • RustでJSONパーサーをフルスクラッチで実装する - Qiita

                                                    この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基本的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日本語版 Rust by Example 日本語版 monkey-json 本記事ではRustでJSONパーサー(mo

                                                      RustでJSONパーサーをフルスクラッチで実装する - Qiita
                                                    • GitHub - lana-k/sqliteviz: Instant offline SQL-powered data visualisation in your browser

                                                      Sqliteviz is a single-page offline-first PWA for fully client-side visualisation of SQLite databases or CSV files. With sqliteviz you can: run SQL queries against a SQLite database and create Plotly charts and pivot tables based on the result sets import a CSV file into a SQLite database and visualize imported data export result set to CSV file manage inquiries and run them against different datab

                                                        GitHub - lana-k/sqliteviz: Instant offline SQL-powered data visualisation in your browser
                                                      • Windowsではプロセスからプログラムに関するさまざまな情報が得られる (1/2)

                                                        Microsoftが提供するSysinternalsの「Process Explorer」を使うと、ジョブオブジェクトを調べることができる。Optionメニューの「Configure Color」でJobsのチェックボックスをオンにする。ジョブでグループ化されているプロセスに指定した色がつく コンピューターでは、プログラムを実行するとメモリに読み込まれて「プロセス」になる。プロセスからはさまざまな情報が得られる。今回は、プロセスから情報を取得する方法について解説する。その前に、プロセスや関連の用語が混乱しているので、1回整理しておこう。 そもそもWindowsにおける「プロセス」とは 「プログラム」とは命令の連なりであり、これを記録したものが実行ファイルだ。ほとんどのプログラムは、実行ファイルという形を持つが、プログラムがプログラムを作って、実行ファイルという形を経ずに実行させることもでき

                                                          Windowsではプロセスからプログラムに関するさまざまな情報が得られる (1/2)
                                                        • フロントエンド開発をマスターする上で必要な知識 8選 2022年版

                                                          はじめに フロントエンドは、簡単に言えばWebアプリケーションやWebサイトにおけるユーザが目に見える部分のことを指す。ひとくちにフロントエンドと言っても、学ばなければならないことや知識が数多くあるので初心者にとっては何から勉強すればいいのかわからない人も少なくないだろう。 今回の記事では、個人の一見解としてフロントエンド開発をマスターするのに必要な基礎知識を徹底解説する。今回の記事を通して、フロントエンドの学習方法やその魅力を十分に理解していただければ非常に幸いである。 バックエンドに関しては以下の記事を参照してほしい。 フロントエンド開発に必要な知識 1.基本的な知識 フロントエンド開発をマスターする上では、以下の言語の基本文法や知識をマスターしておこう。これはWeb制作やWebデザインにも共通していることである。 HTML:Webページを作成するための言語。主にページ内の情報を構造化

                                                            フロントエンド開発をマスターする上で必要な知識 8選 2022年版
                                                          • 大人数でプログラミングする時に気をつけていること(Java) | DevelopersIO

                                                            1人もしくは(すごく能力の高い人だけの)少人数での開発と、大人数での開発ではプログラミングに対して気にするべきポイントに差があるような気がしています。 ここでいう大人数の開発とは、「プログラミングがどれくらいできるのか、自分が把握していない人がコードを書く可能性がある環境」を想定しています。 ここに挙げているポイントは「規模感に関わらず常に気にすべきこと」も含まれていますが、大人数になると特に問題が大きくなりそうなものをピックアップしてみました。 また、レビューに対する工数をすごくたくさんかけられる環境など、開発現場によっては当てはまらないものもいくつか含まれていますが、本記事ではあまり気にせず思いついたものを羅列しています。 本記事では基本的に「レビューでつぶす」という解決方法はあまり考慮していません。粒度によりますが、本当に厳密なレビューフローがないと、どこかのタイミングで読みづらいコ

                                                              大人数でプログラミングする時に気をつけていること(Java) | DevelopersIO
                                                            • 高速で開発者体験も抜群!JavaScriptフレームワークの新星「Svelte」とは何か?

                                                              はじめに 本記事では、ユーザーインターフェイスを構築するためのJavaScriptフレームワークのひとつ「Svelte(スベルト)」についてご紹介します。 Webフロントエンドの領域は年々大きくなっており、読者の皆さまの中でもReactやVueといったフレームワークを使ったことがある方が多いものと思います。もしかしたら、Svelteの名前もどこかでご覧になり、気になっている方もいるかもしれません。 Svelteは、そのアプローチの新しさから注目されはじめています。 JavaScript のライブラリに関する大規模調査「State of JS 2020」で「最も愛されているWebフレームワーク」「もっとも開発者の満足度の高いフレームワーク」に選ばれたことでも話題となりました。 そこで本記事では、ReactやVueに少しでも触れたことがある方を想定して、それらと比較する形で、Svelteの特徴

                                                                高速で開発者体験も抜群!JavaScriptフレームワークの新星「Svelte」とは何か?
                                                              • 『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ

                                                                はじめに 2021年4月20日、『基礎から学ぶ 組込みRust』(C&R研究所) を出版します。Rust の文法から組込み Rust でファームウェアを作成するところまでを、片手で持てる (多分!まだ持ったことないけど!) 1 冊の本にまとめた、喉から手が出るほど (私が) 求めていた書籍です。 先日、無事入稿を果たしたので、今の気持ちを徒然なるまま綴ったのが、このエントリです。 基礎から学ぶ 組込みRust 作者:中林 智之,井田 健太発売日: 2021/04/20メディア: 単行本(ソフトカバー) 一番始めに言いたいこととしては、今現在、「組込み Rust がプロダクションレディか?」、と問われると、「ほとんどのプロジェクトに対してそうではない」というのが私個人の見解です。セーフティクリティカルな分野では、機能安全をはじめとする認証の問題があり、そんなにおいそれとプログラミング言語変更

                                                                  『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ
                                                                • 和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog

                                                                  こんにちは、ウォンテッドリーDev Branch VPoE 室長の髙橋です。 ウォンテッドリーの開発組織であるDev Branchでは、外部から有識者を招いて勉強会を開催したり、技術顧問として知見を取り入れるなど、プロダクト開発により強い組織となるためにさまざまな施策を行っています。 今回、「テスト書いてないとかお前それ @t_wada の前でも同じ事言えんの」 でおなじみのt_wadaさん(和田 卓人さん、以下和田さん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」をウォンテッドリー向けにカスタマイズして講演いただきました。 このストーリーでは、今回の講演の経緯から社内の反応・Q&Aまで、講演に関する詳細をご紹介いたします。 社内講演のきっかけ事の発端は、弊社のVPoEである要(X : @nory_kaname)より、外部エンジニアを招いて勉強会を開催する旨の問いかけ

                                                                    和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog
                                                                  • JavaScript: 文字数を正確にカウントするには? - Qiita

                                                                    この投稿ではJavaScriptで文字数をできるだけ正確にカウントする方法について取り上げます。 文字数とは? 要件で「文字数を表示してほしい」「○文字以上はバリデーションエラーにしたい」と文字数を考慮しないとならないことがあります。 そもそも文字数とは何でしょうか。 たとえば、アルファベットの「A」は1文字と数えられそうです。 次の絵文字は、何文字になるでしょうか? この絵文字はiOSであれば14.5の環境では、UI上では上のように1文字のように表示されます。しかし、それ以前のバージョンでは、同じ文字列データでも😵💫のように2文字で表示されます。なお、この絵文字は3つのコードポイントU+1F635 U+200D U+1F4ABからなります。この絵文字の「文字数」はいったい何文字として扱ったらよいのでしょうか。 以上のように、ひとことで文字数と言ってもデータと見た目と環境の3つのややこ

                                                                      JavaScript: 文字数を正確にカウントするには? - Qiita
                                                                    • Node.jsのバージョン管理にVoltaを推したい

                                                                      Volta とは Voltaとは、JavaScript ツールマネージャーです。 タイトルでは Node.js のバージョン管理としていますが、 npm・yarn のバージョン管理も行うことができます。 公式サイトでは、「The Hassle-Free JavaScript Tool Manager(手間のかからない JavaScript ツールマネージャー)」と紹介されています。 チームの Node.js のバージョン管理を Volta に統一したところ非常に DX が上がり、Volta の恩恵を感じています。 この記事では、開発者の Volta 人口を増やすべく Volta の紹介と使用方法について解説していきたいと思います。 なかなか詳しく解説している日本語のソースはないので、公式ドキュメントを読んで適宜和訳しています。 公式ドキュメントを読むのがめんどくさいという人に読んでいただい

                                                                        Node.jsのバージョン管理にVoltaを推したい
                                                                      • 150万MAUのNuxt.js製サービスを機能開発を止めずに1ヶ月&1人でNext.jsに置き換えた話

                                                                        Nuxt.js で開発されていたAI受診相談ユビーのフロントエンドを Next.js で作り直しました。 まだまだ仮説検証を繰り返すフェーズのスタートアップのため、機能開発を止めて一気に置き換えることはできず、機能ごとに少しずつ置き換えてリリースをしました。結果、5人のプロダクト開発チームによる機能開発と並走して、全体の移行を1人で1ヶ月の短期間で終わらせることができたので、その意思決定や過程、工夫を紹介します。 移行前の課題 まず前提として、移行前の Nuxt.js による実装は 2018 年に立ち上がったもので、当時 toC の Web サービスを持っていなかった Ubie が ほぼ 1 人の小さいチームで PoC 的に作り始めたものでした。また、当時の Next.js は今ほど多機能ではないプレーンなフレームワークでした。 これらを踏まえて、当時の状況で MVP を最速で作るための技

                                                                          150万MAUのNuxt.js製サービスを機能開発を止めずに1ヶ月&1人でNext.jsに置き換えた話
                                                                        • Goエラーハンドリング戦略

                                                                          Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

                                                                            Goエラーハンドリング戦略
                                                                          • コンパイラをつくってみよう / How to make a compiler

                                                                            Builderscon 2019 の発表資料です。 ライブコーディングでフルスクラッチでコンパイラを書くというのをやりました。 コンパイラのソースコードはこちらです https://github.com/DQNEO/HowToWriteACompiler

                                                                              コンパイラをつくってみよう / How to make a compiler
                                                                            • Rust開発時の便利ツールたち

                                                                              前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基本だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

                                                                                Rust開発時の便利ツールたち
                                                                              • Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう

                                                                                Tauri は Rust で書かれたクロスプラットフォーム GUI フレームワークです。 Tauri について説明しながら、 Tauri を使って簡単なアプリケーションを作ってみます

                                                                                  Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう
                                                                                • モバイルアプリに最適化した軽量JavaScriptエンジン「Hermes」、Facebookがオープンソースで公開。低スペックのスマートフォンでの実行速度を重視

                                                                                  モバイルアプリに最適化した軽量JavaScriptエンジン「Hermes」、Facebookがオープンソースで公開。低スペックのスマートフォンでの実行速度を重視 Webアプリとして構築されているモバイルアプリケーションは、現在では非常に複雑で大規模なものになりつつあります。 これは同時に、アプリケーションのロードや起動にかかる時間が増大することに直結しており、特に発展途上国などで広く使われている低スペックなスマートフォンにおいてはその影響が顕著です。 Facebookがこうした大規模するモバイル向けWebアプリケーションの課題を取り除くべく調査したところ、JavaScriptエンジンを改善する必要があることを認識し、Hermesを開発することにしたと説明しています。(追記:ただし後述のようにHermesは現時点ではWebアプリケーション用ではなくReact Nativeのオプションとなって

                                                                                    モバイルアプリに最適化した軽量JavaScriptエンジン「Hermes」、Facebookがオープンソースで公開。低スペックのスマートフォンでの実行速度を重視

                                                                                  新着記事