並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 310件

新着順 人気順

イテレータの検索結果1 - 40 件 / 310件

  • JavaScript入門: 基礎知識をGIFアニメで分かりやすく解説 -総まとめ

    JavaScript QuestionsのLydia Hallie氏の「JavaScript Visualized」シリーズすべての翻訳を完了したので、まとめて紹介します。 JavaScriptエンジンの仕組みをはじめ、イベントループ、スコープチェーン、プロトタイプ継承、非同期処理、ジェネレータ関数、Hoisting(巻き上げ)など、GIFアニメを使用して詳しく解説しています。 シリーズ7本すべてと、プラス1として楽しく学べるクイズもあります。 JavaScript イベントループの仕組み JavaScriptでエラーの原因となるHoisting(巻き上げ)の仕組み JavaScriptのスコープチェーン・変数参照の仕組み JavaScriptエンジンの仕組み JavaScript プロトタイプ継承の仕組み JavaScriptのジェネレータ関数とイテレータの仕組み JavaScriptの

      JavaScript入門: 基礎知識をGIFアニメで分かりやすく解説 -総まとめ
    • 機械学習が独学できる日本語Youtube難易度別まとめ - Qiita

      こんにちは。 在宅の機会が増えて以来Youtubeを見る機会が増え、機械学習などが勉強できるチャンネルをいくつか探しては見ていました。探した中でよかったと思ったものをメモしていたのですが、せっかくなので公開したいと思います。日本語のソースがあるもののみ対象にしており、『これ無料でいいのか?』と思ったチャンネルを紹介したいと思います。主観で以下のレベルに分けましたがあくまで参考程度にお願いいたします。 基本:Pythonを触ってみた人 Pythonの説明・動かし方などを解説していて、動画によっては踏み込んだ内容になる 応用:アルゴリズムを使いこなしたい人 「model.fit(X, y)して動かしてみた」よりも踏みこみ、Python自体の説明は少ない 発展:研究開発もしたい人 最新の手法の仕組みの理解などが主眼であり、Pythonの解説はほぼ無い もしおすすめのチャンネルございましたらぜひコ

        機械学習が独学できる日本語Youtube難易度別まとめ - Qiita
      • フロントエンドエンジニア御用達の MDN web docs を網羅した

        このリストは何? MDN web docs を、あたかも書籍の目次かのごとく整理しなおしたものです。それぞれ MDN web docs の記事へリンクしています。 なぜこれが必要になったかというと、人材市場でフロントエンドエンジニアが少なすぎる現状をどうにかするべく教育体制を整えるところから考え始めたのですが、それならまずは日頃お世話になっている MDN web docs を教材として扱いたいなと思ったからです。慣れてきてもよく参照するし「アレどこだっけなぁ?」を軽減もしやすいかなって。 MDN web docs は内容そのものはかなり充実しているものの、リンクがあらゆる方向に張り巡らせられており ある一定の流れに沿って読む ということが少々難しい側面もあります。特に初学者にとっては、迷子になりやすいかもしれません。 ですので、初学者でも学習しやすいように MDN web docs 全体の

          フロントエンドエンジニア御用達の MDN web docs を網羅した
        • JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説 - ICS MEDIA

          JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説 JavaScriptの仕様であるECMAScriptは年次で仕様が更新されています。ECMAScript 2020(ES2020)は2020年6月にリリースとなりました。現行のすべてのブラウザでES2020の機能は利用できますが、フロントエンドエンジニアにとって使いこなしたい記法ばかりです。 本記事ではES2020に焦点をあて、JavaScriptの新しい記述方法のメリットと使いどころを解説します。 オプショナルチェーン Optional Chaining(オプショナルチェーンやオプショナルチェーニングと呼ばれています)とは、?.構文を用いてnullやundefinedになりうる値へ安全にアクセスできる仕組みです。 利用シーン nullやunde

            JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説 - ICS MEDIA
          • 2020年版Pythonを学習するためのオススメ本10冊と学んだことのQiitaへのメモ - karaage. [からあげ]

            Pythonの勉強をしています 今年の2月29日「PyCon Mini Shizuoka」というイベントでキーノートスピーカーとして登壇予定です(詳細は以下参照下さい)。 キーノートスピーカーを引き受けたものの。よく考えると、私はPythonがあんまり分かっていません。「これは、幾ら何でもまずいのでは?」というお気持ちになりました。そこで、今年の年末年始を中心にPythonの本をいくつか読んで、PyConの議論についていけるように、少しでもPythonへの理解を深めておくことにしました。 学んだことは、折角なので以下のQiita記事にまとめていきます(随時追加中)。 この記事では、学習に使用した本と、簡単な感想を書いてみます。興味ある方は参考にしてみて下さい。 私のブログから買うのが嫌だ!という人は、タイトルをコピーしてAmazonで検索してもらえば大丈夫ですし、もちろん買わなくても大丈夫

              2020年版Pythonを学習するためのオススメ本10冊と学んだことのQiitaへのメモ - karaage. [からあげ]
            • プログラミングの超基本的な考え方をド文系の人に説明した動画|shi3z

              哲学者の東浩紀さんと思想史と近代科学史(特にコンピュータ史)の本を一緒に書いてみようという企画が今年から立ち上がった。 すると東さんがある日の生放送で、「しかし俺も最低限プログラムくらいかける必要があるんじゃないか。しかし最低限のプログラムとは何か」と言っていたところ、シラスの桂さんが「エラトステネスの篩ふるいとかですかねえ」と言っていて、もうエラトステネスと聞いたら黙ってはいられない吾輩が怒涛の勢いで生放送したところ、東さんが一番乗りで入ってきてくれたのでその場でライブコーディングしながらプログラムの書き方を簡単に教えることにした。 https://shirasu.io/t/zelpm/c/shi3zlab/p/20240105163405 プログラミング言語習得のコツプログラミング言語は、言語であるため、マニュアルを頭からお尻まで読んで内容を暗記するよりも、「これってどうやんの?」「こ

                プログラミングの超基本的な考え方をド文系の人に説明した動画|shi3z
              • jqのGo実装 gojq を作りました! ― スタックマシン型インタープリタによるイテレータセマンティクスの実装 - プログラムモグモグ

                jqはとても便利なコマンドです。 JSONを返すAPIを実装するときや、SaaSのAPIから特定の情報を抜き出してシェル変数に代入するときなど、web開発や運用には欠かせないツールとなっています。 しかし、私にとってjqのクエリを一発で書くのは容易ではなく、思い通りの出力が得られないことがよくありました。 難しいエラーメッセージに悩まされて、jqで書くのを諦めて別の言語で書き直すこともありました。 jqの十八番と思える場面で使いこなせないのは、なかなか悔しいものがあります。 ツールを使うのが難しいなら、同じものを作ってしまえばよいのです。 jqの全ての機能を実装する jqを言語としてきちんと書けるようになる jqを完全に理解する jqの全ての機能を自分で実装してしまえば、jqがどういうものか、クエリがどのように処理されるのか、詳しくなれるはずです。 jqを得意な言語と言えるようになって、ク

                  jqのGo実装 gojq を作りました! ― スタックマシン型インタープリタによるイテレータセマンティクスの実装 - プログラムモグモグ
                • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

                  1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能(AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋のAIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

                    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
                  • 安全なシステムプログラミング言語Rustへの招待 | κeenのHappy Hacκing Blog

                    # 安全なシステムプログラミング言語Rustへの招待 ---------------------- [IIJ Labセミナー](https://iijlab-seminars.connpass.com/event/152079/) === # About Me --------- ![κeenのアイコン](/images/kappa.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * Github: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア + 2年半くらい仕事でRustを書いている

                    • Deno のめっちゃ難しいバグを修正した - Qiita

                      2022年4月、Deno に以下のバグが報告されました。 fetch API を使って 300KB ぐらいあるファイルをアップロードすると、一定確率でアップロードされたファイルが壊れるというバグの報告です。 報告者によれば、1.20.6 まではバグは発生しておらず、1.21.0 から発生するようになったという事です。1.20.6 の次のリリースが 1.21.0 なので、パッチバージョン1個分まで、バグの発生時期が特定されている状態です。 fetch 周りは自分はほぼ実装していないので「担当範囲ではない」感覚だったので、普通にスルーしていました。 自分に限らず、Deno Land コアチームの誰もこの issue にピンと来る人が居なかったようで、stale ボット (数ヶ月進捗の無い issue を自動的にクローズしようとするボット) に2回もクローズされかけていました。Deno の st

                        Deno のめっちゃ難しいバグを修正した - Qiita
                      • 使いやすさを重視したHTMLスクレイピングライブラリを作った - 純粋関数型雑記帳

                        TL:DR レポジトリ https://github.com/tanakh/easy-scraper ドキュメント 背景 このところ訳あってRustでHTMLからデータを抽出するコードを書いていたのですが、 既存のスクレイピングライブラリが(個人的には)どれもいまいち使いやすくないなあと思っていました。 HTMLから望みのデータを取り出すのはいろいろやり方があるかと思いますが、 ツリーを自力でトラバースするのはさすがにあまりにも面倒です。 近頃人気のライブラリを見てみますと、CSSセレクターで目的のノードを選択して、 その周辺のノードをたどるコードを書いて、 欲しい情報を取り出すという感じのものが多いようです。 RustにもHTMLのDOMツリーをCSSセレクターで検索して見つかったノードをイテレーターで返してくれたりする、 scraperというライブラリがあります。 例えば、<li>要素

                          使いやすさを重視したHTMLスクレイピングライブラリを作った - 純粋関数型雑記帳
                        • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                          はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                            【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                          • Rust Cookbook for Beginners - CADDi Tech Blog

                            こんにちは😉 @ryokotmngです。 今日は社内ドキュメントの、Rust初心者向けのクックブックを公開しようと思います。 私自身コードを書くのに四苦八苦していた頃にとても助けられたので、Rustをはじめたばかりの方の参考になれば嬉しいです。 目次 [toc] はじめに この記事では、The Bookに記載されている知識を前提としています。 Rustを全く書いたことがない方は、先に読んでみることをお勧めします。 サンプルコードが結構長いこと、実行環境があった方が良い内容も多いことから、サンプルコードは大体Rust Playgroundのリンクとなっています。 ぜひご自身で修正して遊んでみてください。 単位つきの計算を型で厳格に縛る 例えば複数の長さの単位 (mm, cm, mなど) を扱う場合に、単位が合っていない長さ同士の計算をする場合、単位を揃える必要がありますね。 この時、最終的

                              Rust Cookbook for Beginners - CADDi Tech Blog
                            • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

                              みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

                                おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
                              • コーディングインタビューの対策とその意義 (1/2) - 16bitのメモランダム

                                1.コーディングインタビューとは何か コーディングインタビュー(Coding Interview、またはProgramming Interview)とは、1時間ほどの制限時間内に小さなプログラミング問題を解かせる面接形式のことをいう。プログラマー、またはデータサイエンティストなどの採用試験として、米国を含むいくつかの国で用いられている。「物理的なホワイトボード上にプログラムを書く」という形式で実施されることが多い。「オンライン上の共有エディタで書く」といった形式のこともある。Googleなどは自社のYoutubeチャンネル動画でも説明している。 出題される問題としては、例えば、「複数の数字numbersと整数kが与えられたとき、合計がkとなる数字の組を1つ出力せよ」といったものがある。この問題は有名なので通称が付いており、Two Sumと呼ばれる。 Two Sumの一例。与えられた数値の並

                                  コーディングインタビューの対策とその意義 (1/2) - 16bitのメモランダム
                                • Typescriptの次はRustかもしれない

                                  Introduction Rustを学び始めたのは多分今年の3月くらい。 なぜ急にRustに興味を持ったのかは後述しますが、半年ほどRustをいじくりまわしてみて、まだまだ学び途中でもRustの素晴らしさを語らずにはいられず、記事を書くことにしました。 Rustは「Cの正当な後継」なんてよく言われますが、WebエンジニアからみてもRustは本当に素晴らしいってことが少しでも伝わればいいなと思います。 RustとTypescript 「なぜRustとTypescript?」って思う方は多いと思うので、順に話していきたいと思います。 2020年のフロントエンドの流行 まず2020年今日時点のフロントエンドについて雑に書くと React・Vueが主流 Typescriptがデファクト、babelなどでトランスパイルは言わずもがな サーバーサイドもNodeで書くならTypescript Jest、

                                    Typescriptの次はRustかもしれない
                                  • jq 1.7をリリースしました - プログラムモグモグ

                                    jqがjqlang organizationに移譲され、数名の新たなメンテナーを入れた開発体制に移行してから三か月が経ちました。 私にとってこの三か月はとても濃厚で、これまでのOSS活動の中でも特に大変な期間でした。 itchyny.hatenablog.com github.com リポジトリの管理権限をいただいてからまずやったことは、既存のissueやPRの整理でした。 500ほどのissueとPRに目を通し、ラベルをつけて、解決済みのものを閉じて、直近で入れたいものを独断でリリースマイルストーンに入れていきました。 この整理がついた頃には他のメンテナの活動も活発になり、私の作ったマイルストーンのissueやPRを確認してくれました。 そして先日、ようやく1.7をリリースしました。 1.6から実に五年弱、一時は開発が完全に止まってしまいプロジェクトの存続を危ぶむ声も上がるような状況から

                                      jq 1.7をリリースしました - プログラムモグモグ
                                    • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                      ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

                                        RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                      • Python 3.8 の概要 (その1) - Assignment expressions - atsuoishimoto's diary

                                        古来、Pythonでは「代入は文であるべき!」と一貫して主張してきました。 C言語などでは、代入は足し算や掛け算と同じ、値を計算する「式」で、たとえば a = (b=100) / 2; と書くと、b には 100 を代入し、a に 100/2=50 を代入します。1+1 は 2 という値になる 式 ですが、b=100 も同様に値が 100 となる 式 なのです。 Pythonでは、代入は式ではないので、こういう書き方はできません。 Pythonの代入は、足し算などの演算子の仲間ではなく、if や for のような制御文の仲間で、あまり自由な書き方は出来ないのです。 Python FAQ では、その理由として Python の式中での代入を許さない理由は、この構造によって起こる、他の言語ではありがちで見つけづらいバグです: if (x = 0) { // error handling } e

                                          Python 3.8 の概要 (その1) - Assignment expressions - atsuoishimoto's diary
                                        • YouTubeにあるライブコーディング動画を見て Rust を学ぼう

                                          この記事は Rust Advent Calendar 2020 2日目の記事です。 1日目は Rust で競技プログラミングの作問支援ツールを作った話 (@kobae964 さん) 3日目は Rustの日本語書籍紹介 (@dalance さん) ライブコーディング動画の良さ こんにちは、@magurotuna です。 みなさん、ライブコーディング動画はご覧になりますか?僕は結構頻繁に見ていて、たとえば寝る前、例えば作業用BGM代わりに垂れ流す、といった感じで視聴しています。 熟練のエンジニアによるライブコーディングを見ることで、彼ら/彼女らが 何を考えながらコーディングをしているのか どのような順番で順番でコーディングするのか エディタ、ターミナルをどのように操っているのか ドキュメントをどのように読んでいるのか など、数多くのことを学ぶことができます。 もちろん上記に加えて、取り上げられ

                                            YouTubeにあるライブコーディング動画を見て Rust を学ぼう
                                          • 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
                                            • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

                                              技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

                                                プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
                                              • 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
                                                • 一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog

                                                  この記事は一休.com Advent Calendar 2023 25日目の記事です。 一休レストランでは、よりスムーズな予約体験の提供を目的とするシステムのリニューアルを進めています。その一環として、2023年10月から、レストラン個別ページの表示から予約までのスマートフォンビューにおいて、バックエンドのサーバをRustで書かれたものに置き換えました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) October 4, 2023 本番運用が始まって3か月近く経ちましたが、これまで安定して継続的な開発と運用ができています。これはRustだからと構えることなく、「ふつう」のバックエンド

                                                    一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog
                                                  • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

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

                                                      Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                                    • ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG

                                                      こんにちは。ZOZOテクノロジーズZOZOTOWN部 検索チーム 兼 ECプラットフォーム部 検索基盤チームの有村です。 ZOZOTOWNでは先日公開した記事の通り、すべての検索をElasticsearchへ置き換えました。置き換え直後は順調に見えたのですが、実際に数%ずつリリースしていく中で一部時間帯、一部リクエストでレスポンス速度の低下がみられました。 本記事ではその解決のために行ったパフォーマンス調査、チューニング方法についてご紹介します。なお、一般的に行われるであろうElasticsearch本体のパラメータチューニングの話ではなく、クエリやmapping、setting面の話がメインとなります。 改善前後の速度について 詳細な内容の前に、本改善によるレスポンス速度の最終的な改善結果を示します。 今回の計測では、一定パターンのリクエストを10秒間繰り返し、95%tileのレスポンス

                                                        ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG
                                                      • コンセプトから理解するRust

                                                        2022年2月12日紙版発売 2022年2月7日電子版発売 原旅人 著 B5変形判/360ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-12562-2 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 Rustはメモリ安全,スレッド安全を保ちつつ,高パフォーマンスなプログラムを開発できるプログラミング言語です。また,手続き型,オブジェクト指向型,関数型でのプログラミングに対応できるマルチパラダイムの言語でもあります。ただ,そういったRustのポテンシャルを引き出すには,所有権やライフタイム,ジェネリクスやトレイトといった特徴的な

                                                          コンセプトから理解するRust
                                                        • 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
                                                          • ワイ「なに!?ジェネレーター関数を使えば複雑なCSSアニメーションも簡単やと!?」 - Qiita

                                                            業務中ワイ ワイ「お、また株式会社ブラックはんからお仕事依頼のメールが来てるで」 ワイ「どれどれ・・・」 暗井「お世話になっております。株式会社ブラックの暗井 暗人(くらい・あんと)です」 暗井「クリックするとフワフワっとだんだん縦横に大きくなるボックスを作ってください」 暗井「予算は800万円です」 ワイ「これまた何ちゅうフワフワっとした指示や」 ワイ「でもjQueryのanimateメソッド使えば余裕やろ」 ワイ「かしこまりました」 ワイ「何とか800万円以内に抑えます」 ワイ「送信っと」 ワイ「お、早速お返事や」 暗井「なお、発注元の都合でjQueryの使用はできません」 ワイ「ファッ!?」 ワイ「まじか・・・jQuery禁止か」 ワイ「800万円で出来るかな・・・」 社長「(それは出来るやろ・・・何年かける気や・・・)」 ザコーダーワイ、jQuery禁止で困る ワイ「jQueryな

                                                              ワイ「なに!?ジェネレーター関数を使えば複雑なCSSアニメーションも簡単やと!?」 - Qiita
                                                            • 富士通C++コンパイラの最適化機能の改善について

                                                              watanabe-chiba-report.md 2.4 富士通C++コンパイラの最適化機能の改善について 東京大学物性研究所 物質設計評価施設 渡辺宙志 富士通株式会社 次世代テクニカルコンピューティング開発本部 千葉修一 ※ 本稿はメニーコア時代のアプリ性能検討WG 成果報告書にて公開された内容を整形したものです。 2.4.1 はじめに HPC分野においては、FortranないしC/C++言語が広く使われている。Fortran、C言語、C++言語のいずれも活発に仕様が改定され、現在も発展し続けている言語ではあるが、数値計算向けの「普段使いの言語」としては、おそらくPythonやJuliaなどの方が広く使われていると思われる。特にPythonは、昨今の機械学習ブームの牽引役として広く使われているようである。今後、PythonやJuliaといった言語によるスパコン利用も増えていくと思われる

                                                                富士通C++コンパイラの最適化機能の改善について
                                                              • 機械学習について一回挫折してしまったエンジニアが何とかお仕事で機械学習を使えるようになるまで - Qiita

                                                                初めに 4x歳越えのエンジニアにとって機械学習は何やらややこしいもの、本を開けば数式があり、pythonがあり、何それおいしいの?5年ほど前にCourceraで機械学習を学ぼうとしたがあっさりAndrew Ng先生はWeek4で挫折。"教師付き学習"と"教師なし学習"のちがいなんだっけ? 想定している読者 IT業界で別のキャリアを持っていて機械学習のキャリアをみにつけたい、あるいは身につけようとしたが挫折してしまった人 自分のキャリアについて ホストの開発エンジニアから始まり、クライアントサーバー、Webアプリと開発系を云十年。その後ネットワーク、インフラ系を主な仕事にしています。 機械学習とのかかわり 5年ほど前に機械学習の勉強をしようとしたが、何をやっているか意味が分からず、あっさり挫折。その後は雑誌などで読む程度。 注)データ分析・機械学種・人工知能については、この文章では厳密に分け

                                                                  機械学習について一回挫折してしまったエンジニアが何とかお仕事で機械学習を使えるようになるまで - Qiita
                                                                • プログラミングは一生安泰のスキルではない

                                                                  プログラミングという言葉がアフィブロガー御用達になって、SNSでプログラマーを名乗るのが憚られる感じの昨今。 プログラミングを勉強すればフリーランスで一生困らないみたいなこと書いてあるけど、そんな夢のスキルじゃないよ。 それなりにベテラン()を見てきたけど、結局はマネジメント層になれなければ会社にしがみつくことになる人が多い。 なぜなら概念レベルでの流行というものがあるから。 これはvueかReactか、javaかRubyかみたいな話じゃなくて、もう少し基本的な部分。 例えば大きいのはオブジェクト指向とクラス/インスタンスの概念。 他には、ガベージコレクタ、例外処理、マルチスレッド、デリゲートやラムダ式、非同期処理、バインディングとビューモデル、イテレータ、null安全。 今プログラミングを学んでる人には当たり前かもしれないけど、これらは十数年かけて徐々に当たり前になっていった。 ITバブ

                                                                    プログラミングは一生安泰のスキルではない
                                                                  • 「コンセプトから理解するRust」を読んでRustに入門する - パンダのプログラミングブログ

                                                                    3年前に抱いていた Rust に対するイメージ 「コンセプトから理解するRust」(Amazon)という書籍を読んで Rust に再入門してみました。 実は2019年に Rust のチュートリアルである「The Rust Programming Language」(通称 TRPL)を写経したことがあります(GitHub)。 しかし、当時の自分は PHP のバックエンドエンジニアとしての経験が2年ちょっとあるくらいで、TypeScript にもまだ入門しておらず静的型付け言語の経験はほとんどなかったように記憶しています。 当時から Rust は所有権などの概念が難解で初心者を拒むものの、 Stack Overflow のアンケートで開発者から人気な言語として高い地位を誇っているというイメージがありました。 自分自身、PHP 以外にもサーバーサイドで使える言語があるといいなという思い、Rust

                                                                      「コンセプトから理解するRust」を読んでRustに入門する - パンダのプログラミングブログ
                                                                    • 『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善) - Qiita

                                                                      『リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック』を読んで、実践的に活用するための問題集を作りました。 使用している言語はJavaScriptもしくはTypeScriptで、範囲は第Ⅰ部「表面上の改善」の2章から6章までです。 問題を4つ掲載した後に解答例を記載しています。腕試しとして解いてもらったり、改善や感想のフィードバックもらえたりすると嬉しいです! 問題1 適切な変数名 ウェブページの読み込み時間を計測する以下のようなコードがある。変数名についてどのような問題点があるかを指摘した上で書き直せ。 const start = (new Date()).getTime(); // webページを表示する処理(記載省略) const elapsed = (new Date()).getTime() - start; console.log(`読み込み時間:${el

                                                                        『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善) - Qiita
                                                                      • プログラミングTypeScript

                                                                        プログラミング言語TypeScriptの解説書。TypeScriptの型に関する基礎的な内容からその応用、エラー処理の手法、非同期プログラミング、各種フレームワークの利用法、既存のJavaScriptプロジェクトのTypeScript移行の方法まで、言語全般を総合的に解説します。本書全体を通じて、TypeScriptの洗練された型システムを最大限活用するために、コードをどのように記述すべきか、なぜそうすべきかを学べます。 賞賛の声 監訳者まえがき まえがき 1章 イントロダクション 2章 TypeScript:全体像 2.1 コンパイラー 2.2 型システム 2.2.1 TypeScript対JavaScript 2.3 コードエディターのセットアップ 2.3.1 tsconfig.json 2.3.2 tslint.json 2.4 index.ts 2.5 練習問題 3章 型について

                                                                          プログラミングTypeScript
                                                                        • これまでとこれからのGo | gihyo.jp

                                                                          Goの歴史 本連載では、筆者(tenntenn)と周囲のGoエンジニアで、Goに関わる今アツい話を取り上げていきます。最新のGoの機能やこれからリリースされるGoの機能はもちろん、実際の開発現場で用いられているノウハウや自作ライブラリやツールについてご紹介します。第1回目はtenntennがこれまでとこれからのGoについて取り上げます。 Goは2009年にGoogleによって公開されたプログラミング言語です。2012年にGo1として正式公開されました。2022年現在では、GoogleやNetflixをはじめとする海外企業だけはなく、筆者の所属するメルカリなど国内の企業でも多く用いられるようになってきました。海外のGoの導入事例は公式サイトのケーススタディで確認できます。国内企業の導入事例はGoの公式Wikiに掲載があります。これらを見るとスタートアップからメガベンチャー、大企業までさまざま

                                                                            これまでとこれからのGo | gihyo.jp
                                                                          • トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備

                                                                            Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2022-03-04 11:33 LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイ

                                                                              トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
                                                                            • 「Python実践データ分析100本ノック」を写経してみた - Qiita

                                                                              » Python実践データ分析100本ノック | 下山輝昌, 松田雄馬, 三木孝行 はじめに この本を手にした動機 元々データ分析に以前から興味があったものの、次に繋げられなかった 非エンジニアがR言語を始めるときの手引き|Kaggle Masterによるデータ分析技術者養成講座【R言語版】Day1メモ|中野ヤスオ|ARI |note 2021年10月から12月まで受講した初級Python講座で得たことをなにか繋げたかった 講座受講の経緯等こちら:若手エンジニア成長支援No1企業を目指して|中野ヤスオ|ARI |note コードを書くことが楽しくなってきたので、毎日少しづつ出来るテーマを見つけたかった 今回の読み方 冒頭にある「本書の効果的な使い方」を参照し、それに準拠 各章各ノックの内容を「写経」しつつ、本文とコードを読み進め、分からないところをGoogleで調べる感じ 人それぞれだが、

                                                                                「Python実践データ分析100本ノック」を写経してみた - Qiita
                                                                              • Python関連記事まとめ | note.nkmk.me

                                                                                環境情報・設定 Pythonのバージョンを確認、表示(sys.versionなど) Pythonが実行されている環境のOSやバージョン情報などを取得 カレントディレクトリを取得、変更(移動) 実行中のファイルの場所(パス)を取得する__file__ 環境変数を取得・追加・上書き・削除(os.environ) 再帰回数の上限を確認・変更(sys.setrecursionlimitなど) コードの書き方・ルール Pythonはインデント(スペース4文字)でブロックを表す 識別子(変数名など)として有効・無効な名前、命名規則 キーワード(予約語)一覧を確認するkeyword 長い文字列を複数行に分けて書く メソッドチェーンを改行して書く pip(パッケージ管理) パッケージ管理システムpipの使い方 pipでrequirements.txtを使ってパッケージ一括インストール pip list /

                                                                                  Python関連記事まとめ | note.nkmk.me
                                                                                • 【オフショア】ベトナムメンバと理解する「PHPリーダブルコード」 〜第1回 表面的な改善〜 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                                  本稿では、ベトナムとのオフショア開発において利用できるよう、"リーダブルコード" の内容をもとに筆者が解釈したものを、社内用資料として日本語とベトナム語の両方で解説したものです。*1 この記事を日本チームとベトナムチームのメンバに読んでもらうことで、"リーダブルコード" の知識がチーム間の共通認識となり、プログラムコードの品質が向上することを目的としています。 全2回を予定しており、第1回である本稿は、「表面上の改善」について解説します。 Trong bài post này, tôi sẽ tóm tắt nội dung của "Readable code" và giải thích bằng cả tiếng Nhật và tiếng Việt, để có thể sử dụng trong việc phát triển Offshore với Việt Nam. Khi

                                                                                    【オフショア】ベトナムメンバと理解する「PHPリーダブルコード」 〜第1回 表面的な改善〜 - RAKUS Developers Blog | ラクス エンジニアブログ