並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 610件

新着順 人気順

並行処理の検索結果361 - 400 件 / 610件

  • わたしたちはどんな準備をして RubyKaigi 2024 に向かったか - Techouse Developers Blog

    Techouse技術責任者の山崎 (Twitter: @nappa) です。 今回わたしたちは新卒入社のエンジニアメンバーを含め総勢17人のメンバーでRubyKaigi 2024に参加しています! 個人的には2010年につくばで開催された「日本Ruby会議 2010」以来ひさしぶりの参加となりました(※私の記憶が確かならば)。14年ぶんの時代の変化を感じるとともに、RubyとRubyを含むエコシステムの大きな変化を感じたところです。 さて、当ブログではメンバーに、参加したセッションのまとめ記事や感想を書いてもらっています。その多くは今年の4月に新社会人として入社したばかりです。彼らが Ractor や YJIT などの技術的な内容をスッと理解してサクッとブログを書き起こしてくれていることを、とてもうれしく思います。 しかし、なんでみんなサクっと書けているのでしょうか……? 事前学習 いきな

      わたしたちはどんな準備をして RubyKaigi 2024 に向かったか - Techouse Developers Blog
    • iOSDC 2021 印象に残ったトークまとめ🎉 - Qiita

      はじめに 今年も参加しました!iOSDC! https://iosdc.jp/2021/ 話題のSwift Concurrency、そして昨年に引き続きSwiftUI・Combine関連のトークも多く、とても学びの深いイベントでした。 どれも素晴らしいトークだったのですが、なかでも印象に残ったものをまとめていきたいと思います。 スライド画像多めに載せているので、ざーっと流し見するも良し、気になるものがあればURLから飛んで詳細を見るも良しです。 この記事が、少しでも誰かのお役に立てば幸いです 掲載トーク一覧 大規模リファクタリングの極意 agoraを使ってライブ配信機能を1ヶ月半でリリースした話 振り返りながら学ぶPackage Manager 初めてのハードウェア対応 Appleプライバシー保護の最新事情と適応戦略 noteのiOSアプリで実装したアクセシビリティの全て Hello, S

        iOSDC 2021 印象に残ったトークまとめ🎉 - Qiita
      • 週刊Railsウォッチ: Turbo 8のTypeScriptがJavaScriptに置き換わるほか(20230914後編)|TechRacho by BPS株式会社

        こんにちは、hachi8833です。DHHがレース出場のために来日していたんですね。 We had the pace for a podium in the 6 Hours of Fuji, but missed out on strategy. Regardless of the result, loved signing all those REWORK books for fans, meeting some Japanese Rails programmers, and what an absolutely gorgeous place to race on a clear day 😍 pic.twitter.com/zKpjDQBOYm — DHH (@dhh) September 11, 2023 DHHにサインもらった!!!! pic.twitter.com/8sep4SR

          週刊Railsウォッチ: Turbo 8のTypeScriptがJavaScriptに置き換わるほか(20230914後編)|TechRacho by BPS株式会社
        • Lambda×Go並列処理で100万回APIを呼び出す | フューチャー技術ブログ

          はじめにこんにちは。TIG DXチームの後藤です。2021年7月に新卒でフューチャーに入社しました。 業務でAPIを通して数万~100万のデータのバッチ処理を行うLambdaの開発を行ったので、学びを共有したいと思います。 システム構成参画しているプロジェクトでCSVデータをデータベースに登録する必要がありLambdaの開発を行いました。ちなみに所属しているチームではGo言語を採用しているので、Go言語で開発を行いました。データを登録するためのAPI(API Gateway + proxy統合Lambda)を活用してバッチ処理を行います。データの件数は数百件から数十万件と幅が広く、「数十万件ものリクエストをLambdaの実行時間制限である15分以内に処理しきれるのか?」というところから開発を始めました。 ちなみに、1Web API呼び出しに大体30ms~80msほどかかります。 AWS L

            Lambda×Go並列処理で100万回APIを呼び出す | フューチャー技術ブログ
          • UnitOfWork - Qiita

            ここからは「オブジェクトリレーショナル振る舞いパターン」に属すパターンの紹介です。 Unit Of Work パターンは、Domain Model 内で起こるさまざまな変更を、都度データベースに随時反映させず、一連のビジネスロジックが完了した後に、Domain Model の外で最終的な結果をまとめて反映させる方式を指します。 いくつもの構成要素が連携する Domain Model パターンでは、互いに他のオブジェクトのロジックがどうなっているかの詳細には踏み込みません。責務を満たすなら詳細を問わないのが、オブジェクト指向を活かしたモデリングです。が、もし連携するビジネスロジックが SQL を発行していると、それは思わぬパフォーマンス問題につながるかもしれません。 別のオブジェクトにある「ひとつ処理する」のメソッドが便利だからと、軽い気持ちで 10 回呼び出してしまうと、場合によっては 1

              UnitOfWork - Qiita
            • ロブ・パイクのインタビュー:「Goは確かにクラウド・インフラの言語になっている」

              evroneより。 はじめに Goプログラミング言語の共著者であるロブ・パイクに、40年にわたるキャリア、過去10年間のGoの進化、そして将来についてお話を伺いました。 Evrone: 今日の多くの開発者とは異なり、あなたは数十年前にベル研究所でキャリアをスタートさせました。あなたの素晴らしい視点から考えると、私たちが考えることができるソフトウェアの開発方法の最大の変化は何でしたか? Rob: 規模は今の方がはるかに大きいです。コンピュータとネットワークだけでなく、プログラム自体の規模も大きくなっています。Unixバージョン6 (1975年頃)のすべてのプログラムは、1個のRK05ディスクパックに快適に収まり、2 MBをわずかに超えるストレージがあり、ユーザーソフトウェアのための十分なスペースが残されています。そして、それは素晴らしいコンピュータ環境でしたし、少なくとも当時はそのように見え

              • Pleromaはいいぞ - PartyIX

                この記事は分散SNS Advent Calendar 2019 の9日目です. ふだんはMastodon/Pleromaのクライアントアプリケーションである,Whalebirdの話が多いけど,実は https://pleroma.io というPleromaサーバも運用しています. なお,この記事は,分散SNSのサーバを自分で建てたい,管理したいという方に,Pleromaをおすすめする記事です. 利用者として登録するサーバとしてPleromaを強く薦めているわけではありません.もちろんPleromaサーバ管理者としては,Pleromaに登録してくれたら嬉しいけれども. Pleromaって? ja.mstdn.wiki ActivityPubを喋る分散SNSの一つですが,MisskeyやPixelfed等と違って,APIはできるだけMastodonに近づけようとしているため,Mastodonク

                  Pleromaはいいぞ - PartyIX
                • GoとRubyの言語特性を理解して構築した“いいとこどり“アーキテクチャとは? - Findy Engineer Lab

                  ファインディでは「次に学びたい言語」として注目集めるGoについて理解を深める『注目の言語Go、開発現場でどう使われる?活用企業の現場に聞く』を開催しています。 11月25日には第3回目を開催。ウォンテッドリーの竹野さん、マネーフォワードの櫻さんをお招きし、Goの特徴やメリット、採用理由について伺いました。モデレーターはファインディの大原が務めます。 パネリスト 竹野 創平さん/(ウォンテッドリー株式会社 開発チーム アーキテクト)[@Altech_2015] 2016年にウォンテッドリーに入社。プロダクトのグロースや機能開発・基盤開発を行なったのち、プロダクトの責任者としてプロダクトマネジメント・エンジニアリングマネジメントを行う。現在は開発チーム全体のアーキテクトとして、ソフトウェア・技術・組織の設計に携わっている。 櫻 勇人さん/(株式会社マネーフォワード バックエンドエンジニア[@y

                    GoとRubyの言語特性を理解して構築した“いいとこどり“アーキテクチャとは? - Findy Engineer Lab
                  • ACM会員になってオライリーの本が読み放題

                    O’reilly Online Learning(Safari Books Online)はたくさんの本が読めるサブスクサービスです。 前職では会社が契約したのですが、個人で申し込むと月額49ドルと、なかなかお高い。 そこで安く使う方法として、年額ACMの会員になると、特典としてこのサービスへのアクセス権がついてきます。ACMの会員費用は年額99ドルです。さらに、私は学生でもあるので、学生会員として登録することができます。その場合、なんと年額19ドル。会員になるしかない!! ACMといえば、コンピュータ分野全般を対象として国際学会で、チューリング賞なんかが有名ですね。SIGとしてはSIGGRAPH(コンピューターグラフィックスを扱う分科会)も有名です。 ※注意!! (追記: 2021/10/10) Beginning June 30, 2021 you will no longer hav

                      ACM会員になってオライリーの本が読み放題
                    • サーバCPUもArmの時代になりました - Qiita

                      vCPUあたりの価格はGraviton, Graviton2のほうが安価です。しかも、c5の2vCPUは物理1core 2threadなのに対しa1とc6gは物理2coreとなっており、物理CPU単価では半額以下です。 性能 a1インスタンスは性能が低いという記事を見たため検証しなかったのですが、Graviton2はAWSが自信ありそうな推し方をしていたので、業務を想定して様々な処理の性能を計測してみました。色々計測した結論としては、 全CPUコアを使い切って処理する場面ではGraviton2インスタンスのほうがスループットが高い シングルスレッド性能は既存のIntel CPUインスタンスのほうが高い です。詳細はこちらのスライドをご覧ください。ここでは特徴的な結果だけ抜粋して掲載します。 Go1.14.4で実装されたバッチをc6g、c5、c5aの12xlarge(48vCPU)インスタン

                        サーバCPUもArmの時代になりました - Qiita
                      • 「Ruby 2」の3倍の高速化を目指した「Ruby 3.0.0」が公開

                        Ruby開発チームは2020年12月25日、オープンソースプログラミング言語「Ruby」の最新メジャーリリース「Ruby 3.0.0」(以下、Ruby 3.0)を公開したと発表した。 Ruby 3.0はパフォーマンスの改善、並行処理、静的解析の3点を目標に開発されてきた。特にパフォーマンス改善については、「Ruby 3x3」として「Ruby 3はRuby 2の3倍速くする」ことが目標に掲げられてきた。 実際にRuby 3.0では、Optcarrotベンチマークで3倍の高速化を達成できた。 パフォーマンスを改善 Ruby 2.6で導入されたJIT(Just In Time)コンパイラアーキテクチャ「MJIT」にさまざまな改善が施された。これにより、AIやOptcarrotで性能を評価できるゲームなど、少数のメソッドを多数呼び出すことに多くの時間を費やすアプリケーションの性能をJITが改善でき

                          「Ruby 2」の3倍の高速化を目指した「Ruby 3.0.0」が公開
                        • Docker Desktopの大手企業向け無料期間が終了。有料版Docker Businessの利点はシングルサインオンや統合管理、サブスクリプションは日本円と請求書払いにも対応[PR]

                          Docker Desktopの大手企業向け無料期間が終了。有料版Docker Businessの利点はシングルサインオンや統合管理、サブスクリプションは日本円と請求書払いにも対応[PR] Dockerコンテナを開発環境や実行環境に用いることは、いまや多くの開発者にとって当然のこととなりつつあります。 その利点として、開発者自身が柔軟に開発環境やテスト環境を構築できて、しかもDockerコンテナ自身の高いポータビリティの実現によって「開発環境では動いたのに本番環境ではなぜか動かない」、などといった環境の違いによる問題が起きにくいことなどがあるためです。 さらに、CI/CDにおけるビルド、テスト、デプロイの自動化や、クラウドネイティブへの対応といった成長性や柔軟性の高いシステムへの準備が、自然な形で実現できることも挙げられるでしょう。 このDockerコンテナ環境を構築するための代表的なツール

                            Docker Desktopの大手企業向け無料期間が終了。有料版Docker Businessの利点はシングルサインオンや統合管理、サブスクリプションは日本円と請求書払いにも対応[PR]
                          • Terraform で人生を浪費しないためのチュートリアル

                            このページは Terraform という大変わかりづらくハマりやすい環境構築ツールで人生を浪費する人を減らすため、Terraform に対する愛情をこめて書きました。 Terraform とは 略 Terraform インストール ここでは GCP の Cloud Shell を使う前提とします。Terraform はすでにインストールされています。 AWS など、Cloud Shell 以外の設定はいつか書きます。 Terraform をはじめてみよう tf ファイルというものを作成します。 名前は何でもいいのですが、main.tf にしましょう。 # main.tf provider "google" { } resource "google_storage_bucket" "mybucket" { name = "mybucket223344" } provider “google”

                            • 出来ることは計算だけ?「WebAssembly」は一体なにが新しいのか~MIXIエンジニアが語る技術愛~

                              ミクシィには、探究心溢れるエンジニアがたくさん在籍しています。 その探究心は業務で扱う技術にとどまらず、趣味で書いているプログラムだったり、個人的に研究している言語だったりと、自身の気になった技術への追求も留まることを知りません。 そこで、社内のエンジニアに“好きな技術”について、思う存分に語ってもらうシリーズを始めました。 ルールはこの通り。 業務で使っている技術でも、使われていない技術でもOK あくまでも個人的な見解で その技術のどこが面白いのか 愛を込めて語り尽くしてもらう 第4回目は、新規プロダクトを目下開発しているSREグループの神谷に、「WebAssembly」の魅力をたっぷり語ってもらいました。 神谷 元太 開発本部 CTO室 SREグループ 2018年4月、株式会社ミクシィに新卒入社。モンスターストライクにてサーバーサイド、インフラの開発を経験したのち、現在は新規事業にてサ

                                出来ることは計算だけ?「WebAssembly」は一体なにが新しいのか~MIXIエンジニアが語る技術愛~
                              • なぜRuby 3は速くならなかったのか?

                                この記事は、著者の許可を得て配信しています。 https://www.fastruby.io/blog/ruby/performance/why-wasnt-ruby-3-faster.html 多くの人がRuby 3のスピートに失望しています。その理由はたくさんあると思いますが、それを考察するのも悪くないと私は思います。 では、なぜ Ruby 3 は速くなかったのでしょうか?約束を破ったのでしょうか?(ネタバレ: 私はそうは思いませんが、そう思う人がいるのは理解できます)。 早いとは:何と比較しているのか? 問題の原因は、あまりにも期待しすぎたところにあると思います。みんなが「3倍速」の意味を理解していませんでした。みんなが、その意味をしっかりと考えたとは思いませんが、その意味があまり明確に伝わっていなかったとも思います。 だから、約束されたことを理解していた人もいたけれど、理解していな

                                  なぜRuby 3は速くならなかったのか?
                                • asyncを使わずに並行処理をやる方法はないのか - yhara.jp

                                  メモです。 What Color is Your Function? – journal.stuffwithstuff.com async/awaitを実装した言語では、asyncな関数とそうでない関数が区別される つまり、async funcを受け取るメソッドにnormal funcを渡すことはできない(逆もしかり) そのために、.mapと.mapAsyncみたいに各APIにasync版と非async版が必要になる https://blog.yoshuawuyts.com/announcing-the-keyword-generics-initiative/ keyword genericsという案 なぜasyncな関数と普通の関数は互換性がないのか async funcはステートマシンにコンパイルされるから (いやまあ別にそういう決まりはないけど、JS/Rust/C#はいずれもそうして

                                  • ElixirConf US 2021 登壇のご報告 - pixiv inside

                                    こんにちは、福岡オフィスのエンジニア@imaimaです。 先日2021年10月12日から15日にわたって開催されたElixirConf US 2021にオンライン登壇し、ぶじに終わりましたので、そちらについてのお話をします。 ElixirConf US 2021について ElixirConfとは、プログラミング言語Elixirの開発者や愛好家が世界中から集う技術カンファレンスです。 2021.elixirconf.com 今年のElixirConf USは、テキサス州オースティンで開催され、 In-person(オフライン) 10月12日〜13日 Virtual(オンライン) 10月14日〜15日 の形式で行われました。 登壇に至るまでの経緯 Elixirそのものに関しては、imaimaがおもに趣味で書いてきており、その関係もあって社外で個人的にElixirの勉強会を定期〜不定期で行なって

                                      ElixirConf US 2021 登壇のご報告 - pixiv inside
                                    • 最も年収の高いプログラミング言語は? CAMELORSがランキングを発表

                                      本ランキングは、同社の運営するフリーランス・複業・副業の求人マッチングサービス「SOKUDAN」に2024年1月2日までの直近1年間に掲載された求人案件2289件から抜粋された一部を対象にしている。単価と稼働時間から平均時給を計算し、その平均時給から1日8時間、月21日稼働で想定月収と想定年収を試算している。 ランキングによると、1位はGoで年収1362万円、時給6755円となった。2位はKotlinで年収1308万円、時給6489円。続く3位はPython(年収1249万円、時給6197円)であった。 2024年エンジニア言語の年収ランキング フリーランス副業編 1位のGoは、高いパフォーマンスと並行処理の容易さにより、大規模なサーバーサイド開発で広く採用されている。Googleによって開発された同言語は「クラウドインフラストラクチャ」「マイクロサービス」「分散システム」の構築に適してお

                                        最も年収の高いプログラミング言語は? CAMELORSがランキングを発表
                                      • CPUとGPUの計算処理をリアルタイム切り替え、全体の処理を効率化 富士通が世界初

                                        富士通は、複数のプログラム処理を実行中に、GPUが必要なプログラムとCPUでいいプログラムを区別し、優先度の高い処理に対してリアルタイムにGPUを割り振る「アダプティブGPUアロケーター技術」を開発したと発表した。 富士通は11月9日、複数のプログラム処理を実行中に、GPUが必要なプログラムとCPUでいいプログラムを区別し、優先度の高い処理に対してリアルタイムにGPUを割り振る「アダプティブGPUアロケーター技術」を開発したと発表した。世界初の技術という。GPU利用を効率化でき、世界的なGPU不足に対応できるとしている。 例えば、3つのプログラム処理をCPU×1台、GPU×2台で効率的に行いたい場合、まず「プログラム1」(以下「1」)と「プログラム2」(以下「2」)にGPUを割り振る。その後、「プログラム3」(以下「3」)のリクエストに応じ、GPUの割り当てを「1」から「3」に切り替えてG

                                          CPUとGPUの計算処理をリアルタイム切り替え、全体の処理を効率化 富士通が世界初
                                        • Pythonの実行を高速化する方法を一覧でまとめてみた - Qiita

                                          1. クラスタレベル 複数のマシンを使用するクラスタレベルで分散処理することで高速化する方法です。 もうここまでくると Python というプログラミング言語レベルではなくなりますが、高速化の選択肢として説明します。 Hadoop 大量のデータを複数マシンに分散して処理させるオープンソースのプラットフォーム。 Google社内基盤技術をオープンソースとして実装したものらしいです。 Apache Spark カリフォルニア大学バークレー校で開発された分散処理フレームワーク。 Hadoopよりもメモリをうまく使うことで、機械学習を高速で実行できるようにしたものです。 2. コンピュータレベル 1台のコンピュータの中で高速化する方法です。 高速化のアプローチとしては、並列化、GPGPU、ハードウェアの選択があります。 2-1. 並列化 一つのマシンの中で、プログラムを並列化して実行して高速化する

                                            Pythonの実行を高速化する方法を一覧でまとめてみた - Qiita
                                          • goroutineの同時実行数に制限をかける - kaznishi I/O

                                            Goにはgoroutineという強力な仕組みが備わっています。goroutineを使うことによって並行処理を簡単に実装することができます。 例えば次のような、実行に時間がかかる関数doSomethingがあったとします。 func doSomething(input string) { time.Sleep(1 * time.Second) // (何か時間がかかる処理) fmt.Println("input is " + input) } これを次のように直列に実行すればinputsの数分だけ時間がかかります。 func Baseline(inputs []string) { for _, v := range inputs { doSomething(v) } } しかし、次のようにgoroutineで並行化することで実行時間を大幅に短縮することができます。 func Concurre

                                              goroutineの同時実行数に制限をかける - kaznishi I/O
                                            • 「Contextを完全に理解する」というテーマでGo Conference 2021 Autumnに登壇しました | フューチャー技術ブログ

                                              contextを発表資料に選定した意義contextはGoでアプリケーションを実装する上でお世話にならない方が少ないくらいのパッケージだと思います。 一方使いやすいインターフェースであるため、仕組みをよく分かっていなくてもとりあえず使っておけば機能は実装できます。そういったものを自分自身良く知りたい、学べるコンテンツを作りたい、というモチベーションがありました。 またcontextはgoのパッケージの中では極めてシンプルかつ少ない行数で完結したパッケージです。そしてGoをスマートに実装するテクニック、並行処理の実装方法が少ないコードに詰め込まれています。そのためコードリーディングのコンテンツに適しており、40分の枠内で全てのコードを紹介する事が出来ました。 contextの基礎的な利用方法も発表の前半に組み込むつもりでしたが、zennの無料書籍が登場したため、発表はコードの読み取りとそこか

                                                「Contextを完全に理解する」というテーマでGo Conference 2021 Autumnに登壇しました | フューチャー技術ブログ
                                              • 簡単なサーバを実装しながら WebSocket のキャッチアップ

                                                実用ではなく学習目的で WebSocket の簡単なサーバを書きつつ、その後 RFC で仕様の背景を理解する流れがいい感じだった。 先日読んだ ハイパフォーマンスブラウザネットワーキング で取り上げられていたプロトコルについて深堀りしていこうと思い、一番仕様が薄そうな WebSocket をとっかかりとして選んだ。詳細の理解と、この本の刊行後にあった動きをキャッチアップすること、そして周辺の技術や仕様にも yak shaving 的に枝を広げていきたいなと言う意図。 キリが良いところまで来たので、整理のため一度まとめる。 進め方 WebSocket は 仕様がまとまってからもう 10 年くらい経っている ので、いきなり RFC から入るのではなく MDN でざっと概要と API を知るところから始めた。中でも Writing WebSocket servers - Web APIs | M

                                                  簡単なサーバを実装しながら WebSocket のキャッチアップ
                                                • Java 19でようやくプレビュー版公開された JEP 425 Virtual Threads の要約 - A Memorandum

                                                  はじめに 概要 目標 非目標 動機 1リクエスト-1スレッド方式 非同期方式 仮想スレッドによる1リクエスト-1スレッド方式 説明 仮想スレッドとプラットフォームスレッドの使い分け 仮想スレッドの有効化 仮想スレッドにスレッドプールは不要 仮想スレッドの監視 仮想スレッドのスケジューリング 仮想スレッドの実行 メモリの使用とガベージコレクションとの相互作用 変更点の詳細 java.lang.Thread Thread-local variables java.util.concurrent Networking java.io Java Native Interface (JNI) Debugging (JVM TI, JDWP, and JDI) JDK Flight Recorder (JFR) Java Management Extensions (JMX) java.lang.Th

                                                    Java 19でようやくプレビュー版公開された JEP 425 Virtual Threads の要約 - A Memorandum
                                                  • エミュレーターの作り方(はりぼてOSが動く) - KazuminEngine

                                                    私について はじめに 筆者の開発したエミュレーターについて 開発のススメ はりぼてOSとは? プロテクトモード突入するための、16bitモード実装 その前に 少し具体的な話 実装についての話 コード vram コード セグメンテーション far-jump命令 メモリチェックルーチン LGDT、GDTR IN命令 PortIO 割り込み・PIC 1 input output (IO) 1.1 画面出力 1.3 キーボード 1.2 マウス 10 Tips 10.1 デバック デバック方法 筆者がつまずいた点 ※この記事は、どんどん書き換えていきます。つまり、まだ途中です。 私について 私は、@warugaki_k_kと申します。 はじめに この記事は、はりぼてOSが動くi386 PCエミュレータの作り方の解説記事です。ただし、「OtakuAssembly vol.1」@OtakuAssembl

                                                      エミュレーターの作り方(はりぼてOSが動く) - KazuminEngine
                                                    • WebWorkerでゴリゴリの重い処理をさせて横から制御したい時の手段 | g200kg Music & Software

                                                      これは Javascript のかなり細かい部分の話なので似たようなケースで困った事がある人以外にとってはどうでも良い話だと思いますが......。 JavaScript は元々シングルスレッド構造なのであまり重い処理をさせるには向いていないのだ、という事は昔から言われていました。 重い処理をしようとした時にまず影響を受けやすいのは UI 周りの動作です。 UI をちゃんと動かしつつ重い処理をさせるためには、処理を小分けにしてタイマーから駆動する等の手法がとられます。 またこの時、コールバックで小分けにした処理を繋げるとソースが見づらくなるので Promise や async/await を使う、という手段が定石となっていったのですが、そもそも、ひとまとまりの重い処理をやらせたいならやっぱり別スレッドで走らせたい、という事で WebWorker というものが作られました。 これによって J

                                                        WebWorkerでゴリゴリの重い処理をさせて横から制御したい時の手段 | g200kg Music & Software
                                                      • JavaScriptエキスパートになるための36の概念 - Qiita

                                                        習得には時間がかかる。でも何をすべきか分かれば簡単になる。 Photo by Angela Compagnone on Unsplash はじめに 「JavaScriptはヘンで、時に無価値だ」という不満を多くの人が耳にするでしょう。このような文句が出るのは、それが内部でどのように動作するかを理解していないからです。JavaScriptのシナリオのいくつかが異なる方法で処理されていることには同意します。でもだからと言って、それがヘンなものになるわけではなく、むしろそれ自体が素晴らしいのです。 あるプログラミング言語を好きになるには、まずその奥深くに目を向け、概念を一つ一つ習得していくことから始めましょう。 ここでは、総合的なJavaScriptエキスパートになるために習得すべき36の概念を紹介します。 これは私の記事の中では最も長い部類ですが、読む価値があることを保証します。リソースを提供

                                                          JavaScriptエキスパートになるための36の概念 - Qiita
                                                        • 内部実装から理解するgRPC - Qiita

                                                          概要 目的 gRPCはDocumentにあるように以下の特徴があるかと思います。 protocol buffer のようなインターフェース定義語 (IDL) から生成されたコードを利用してRPCができる HTTP/2で通信することができ、リクエストとレスポンスをそれぞれ分割できる 多言語に対応している しかし、この記事ではこれらの機能の紹介ではなく、gRPCの仕組みを理解することを意図しています。 なぜそれを意図したかというと普段の開発でgRPCを利用しているものの、どのような仕組みでRPCが実現できているのかイメージが持てていなかったためです。そのために、grpc-goの内部実装(2019/5時点)を読み解きながら、実際の通信の中身を覗いてみました。 そして結果的には以下の効用がありました。 protoc-gen-goがprotocol-buffersから生成したコードがどのように利用さ

                                                            内部実装から理解するgRPC - Qiita
                                                          • ウィリアム・ギブスン・インタビュー (2001年1月5日、バンクーバーのギブスン邸にて)

                                                            【前口上】 文藝春秋の月刊誌『TITLE』のIT特集号(2001年3月号)の取材のため、2001年1月5日、カナダのバンクーバーにあるウィリアム・ギブスン氏の自宅をたずねて、主にITに関するインタビューをさせていただいた。掲載誌では、SFに関する質問等はばっさりカットされているが、元原稿が残っていたので、TBSラジオ「アフター6ジャンクション」のサイバーパンク特集を記念して、そのロングバージョンを20年ぶりに掲載する。リードは「TITLE」掲載のもの。この半分ぐらいが雑誌に掲載されたと思うが、入稿原稿のファイルが行方不明なのでよくわからない。 ちなみに当時の大森ウェブ日記の取材こぼれ話では―― ギブスンの仕事場になってる地下室(といっても半地下)はこんな感じ。をを、PowerMac G4 Cube! しかし執筆は右の方のパフォーマを使ってるらしい。しかもプリンタはスタイルライターII(爆笑

                                                              ウィリアム・ギブスン・インタビュー (2001年1月5日、バンクーバーのギブスン邸にて)
                                                            • 非同期処理とは? 同期処理との違い、実装方法について解説 | クラウド導入・システム運用ならアールワークスへ

                                                              非同期処理について詳しく説明する前に、まず同期処理について説明します。 同期処理とは、複数のタスクを実行する際に一つずつ順番にタスクが実行される方式のことです。同期処理の場合、必ずプログラムに記載したとおりの順番でタスクが処理されます。そのため処理全体を把握しやすいメリットがあります。 一方でデメリットは、タスクの処理完了までに時間がかかり、ユーザーにとってはストレスとなる場合があることです。 「タスク1」「タスク2」を非同期処理するアプリケーションに、ユーザーAから「タスク1,2」を処理するリクエスト、ユーザーBから「タスク1」のみを処理するリクエストがあった場合で説明します。 非同期処理は、あるタスクを実行している最中にその処理を止めることなく別の処理を実行できるため、上図のように、ユーザーAのリクエストを処理中にユーザーBからのリクエストがあっても、ユーザーBはユーザーAの処理完了を

                                                                非同期処理とは? 同期処理との違い、実装方法について解説 | クラウド導入・システム運用ならアールワークスへ
                                                              • 『コンセプトから理解するRust』 - Don't Repeat Yourself

                                                                『コンセプトから理解するRust』を一足お先に読みました。Rust に関する日本語書籍の発刊が増えてきており、読むより発売するペースが上がっている気がします。私もだんだん精読するより積むほうが増えてきてしまいました。 今回も例のごとく、全体に目を通した上で感想などを書いていきたいと思います。本自体は2/12発売のようです。 コンセプトから理解するRust 作者:原 旅人技術評論社Amazon 本書はアプリケーションを実装しながら Rust を学んでいくというより、Rust に登場する特有の概念を解説しながら Rust を学んでいくというコンセプトになっています。その過程で他のプログラミング言語の実装と比較しながら、他の言語と Rust で違う点を説明したり、あるいは共通しているポイントを見つけたりしながら Rust 特有の概念を理解していきます。特有の概念というのは、代表的なものは本書の表

                                                                  『コンセプトから理解するRust』 - Don't Repeat Yourself
                                                                • Goにおける複数エラーのハンドリング

                                                                  はじめに Goにはgoroutineにより並行処理を簡便に記述できるという特徴があります(簡便に正しく動かせるとは限らないですが)。 この時問題になるのがエラーハンドリングで実際のアプリケーション実装では大きく いずれかのgoroutineでエラーが発生したら他のgoroutineを中断したい 各goroutineの処理が終わるまで待機し、発生したエラーは個別に処理したい という要件がよく発生するかと思います。 これらを充足する処理を自前で実装することも勿論可能ですが、それぞれに適したライブラリがあるため記法のサンプルと共に紹介したいと思います。 errgroupが適したケース・使い方 Go公式の実験パッケージとして提供されているgolang.org/x/sync/errgroupでは主に単一のエラーをハンドリングすることに焦点を当てており標準のsyncパッケージに近い使い方、もしくはエラ

                                                                    Goにおける複数エラーのハンドリング
                                                                  • paizaが「プログラミング言語に関する調査」(2021年上期)の結果を発表。2021年エンジニアが学びたい開発言語1位はPythonで企業が求める言語と乖離

                                                                    paizaが「プログラミング言語に関する調査」(2021年上期)の結果を発表。2021年エンジニアが学びたい開発言語1位はPythonで企業が求める言語と乖離 ITエンジニア向け国内最大の転職・就職・学習プラットフォーム「paiza(パイザ)」を運営するpaiza株式会社(本社:東京都港区、代表取締役社長 片山良平)は、2021年3月に現役のITエンジニア向けに開発言語調査を実施しました。 この調査では、一番得意な言語や学びたい言語のほか、自分がサービスを作る際に使いたいフレームワークなどをITエンジニアに質問しました。 ■調査結果の概要 ・ITエンジニアが一番得意な開発言語は、Javaが19.8%で1位、以下、Python(12.5%)、C言語、C#(ともに10.0%)と続いた。 ・一番学びたい言語は、1位はPythonで26.6%、2位はRust(16.3%)、3位はGo言語(11.7

                                                                      paizaが「プログラミング言語に関する調査」(2021年上期)の結果を発表。2021年エンジニアが学びたい開発言語1位はPythonで企業が求める言語と乖離
                                                                    • Go言語(Go)転職事情とは?Go言語(Go)エンジニアの転職需要や資格など解説!

                                                                      今後Go言語(Go)を習得してGo言語(Go)エンジニアとして転職を希望している方もいるのではないでしょうか。 Go言語(Go)が未経験な初心者にとって転職できるのか心配になる方もいるかと思います。 Go言語(Go)は、A SMALL PLACE TO DISCOVER LANGUAGES IN GITHUBで2020年第2期で第4位に位置しているプログラミング言語です。 しかしGo言語(Go)の転職事情はどうなのでしょうか。 今回の記事では、Go言語(Go)エンジニアの転職ニーズ、Go言語(Go)エンジニアの求人・案件情報、Go言語(Go)エンジニアの年収、Go言語(Go)未経験からの転職は出来るのか、Go言語(Go)エンジニアとして転職する上で抑えておくべきポイント、転職する上でおすすめの資格、Go言語(Go)エンジニアとして転職する方法、Go言語(Go)エンジニアとしておすすめのフリ

                                                                        Go言語(Go)転職事情とは?Go言語(Go)エンジニアの転職需要や資格など解説!
                                                                      • プログラミング言語大全

                                                                        2020年4月18日紙版発売 2020年4月18日電子版発売 クジラ飛行机 著 B5変形判/216ページ 定価1,980円(本体1,800円+税10%) ISBN 978-4-297-11347-6 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 プログラミング言語の大全集! 100以上のプログラミング言語や処理系,関連言語を幅広く解説。C,Java,Python,PHP,Ruby,JavaScript...主要言語はもちろんマイナー言語まで収録。初心者にも経験者にも楽しい一冊です。 こんな方におすすめ どの言語を学ぶべきか知りたいプログラミング初心者,新人プログラ

                                                                          プログラミング言語大全
                                                                        • ちょっと先のプログラミング言語を予想する

                                                                          先日κeen@blackenedgoldさんのこちらのブログを読んで、 自分もプログラミング言語について考えていることを書いてみたいと思ったので久しぶりに更新します。 https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/ 半年ほど前からプログラミング言語を作ってみたいと思っていて、 言語デザインを考える過程で色々な言語を触っているので、それを元にプログラミング言語のごく近い未来を予測してみたいと思います。 基本的には元記事の内容に概ね賛成です。 あまり型レベルプログラミングを突き詰めてしまうと抽象度が増して初心者にとっての参入障壁になってしまわないか心配ですが それもうまく隠蔽されながら進化していくんだと思います。 次にこんな言語がくるぞ!というよりもこうあってほしいという願望に近いので、そのつも

                                                                            ちょっと先のプログラミング言語を予想する
                                                                          • 並行処理を支えるGoランタイム|Goでの並行処理を徹底解剖!

                                                                              並行処理を支えるGoランタイム|Goでの並行処理を徹底解剖!
                                                                            • Reactの将来性はVue超え?できることやメリット・デメリットも解説

                                                                              最新版はReact 182022年3月29日に、React 18.0がリリースされました。その後のマイナーリリースにより、2023年2月時点での最新版は、React 18.2となっています。 【参考】:react/CHANGELOG.md at main · facebook/react · GitHub React 18の大きな特徴が、並行レンダリングです。従来のReactでは、これまで一度始まったレンダリングが完了するまで、別のレンダリングを始めることができませんでした。 React 18の並行レンダリングでは、レンダリングを実行中に別のレンダリングを始めたり、レンダリングを途中で停止して破棄できるようになりました。この並行レンダリングにより、React 18では数々の新機能が実現されています。 この並行レンダリング機能はオプトインで、並行処理機能を使う時のみ動作します。そのため、ユー

                                                                                Reactの将来性はVue超え?できることやメリット・デメリットも解説
                                                                              • AWS Fargateで並行処理をした話

                                                                                RailsのDB作成とマイグレーションを複数サイトで同時実行しました。 AWSのサービスを利用すると簡単に実装できました。 Fargate最高! 吉岡です。11月に開催されるRubyWorld Conferenceに登壇することが決まりました。弊社が提供する「Redmine」のクラウドサービス「My Redmine」のインフラストラクチャーを、Rubyと最新のクラウド技術を活用した構成へと再構築したことについて発表します。ぜひ会場までお越しください! さて、今日のブログはAWSのFargateを利用して、RailsのDB作成とマイグレーションを複数サイトで同時実行したことについての話です。 目的 AWSのFargateというサービスを利用して、複数のサイト(複数のDB)に対して同時にバッチ処理を実行します。 今回はサンプルとして rails db:create と rails db:mig

                                                                                  AWS Fargateで並行処理をした話
                                                                                • script タグの書き方でウェブベージの表示速度やスクリプトの実行順序はどう変化するのか - 30歳からのプログラミング

                                                                                  ウェブベージで JavaScript ファイルを読み込むためには<script>タグを使うが、その際にasync属性やdefer属性を設定することができる。 そして、これらの属性を使うかどうかで、ウェブベージの表示速度や JavaScript ファイルの実行順序に違いが生まれる。 この記事の内容は、Google Chrome のバージョン83.0.4103.97で動作確認している。 サーバは Node.js のv12.17.0で構築している。 デフォルトでは script タグは逐次処理される まず、asyncもdeferも設定しないケースについて見てみる。このケースのことを、便宜上defaultと呼ぶことにする。 以下の HTML ファイルと JavaScript ファイルを用意した。 <html> <head lang="en"> <meta charset="utf-8"> </he

                                                                                    script タグの書き方でウェブベージの表示速度やスクリプトの実行順序はどう変化するのか - 30歳からのプログラミング