並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 20685件

新着順 人気順

Cacheの検索結果281 - 320 件 / 20685件

  • import * as 構文とパフォーマンス最適化 - Qiita

    JavaScriptには、import * as という構文があります。これは、インポート先のモジュールの中身全部をオブジェクト(モジュール名前空間オブジェクト)として取得できる構文です。 import * as mod from "./some-module"; console.log(mod.foo, mod.bar); たまに、「この構文を使うとTree Shakingが効かなくなる」といった説明が見られることがありますが、必ずしもそうではありません。そこで、この記事ではimport * as構文とパフォーマンス最適化に関連する正しい知識と、その背景をご紹介します。 webpackで検証してみよう Tree shakingを行うのはモジュールバンドラであることが知られています。そこで、webpackを使って色々と構文を検証してみましょう。今回は次のような設定を用います。これは最適化を

      import * as 構文とパフォーマンス最適化 - Qiita
    • GitHub Actionsにおける設定ミスに起因したGitHubスタッフのアクセストークン漏洩

      (You can read this article in English here.) 免責事項GitHubはBug Bountyプログラムを実施しており、その一環として脆弱性の診断行為をセーフハーバーにより許可しています。 本記事は、そのセーフハーバーの基準を遵守した上で調査を行い、その結果発見した脆弱性に関して解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 GitHub上で脆弱性を発見した場合は、GitHub Bug Bountyへ報告してください。 要約GitHub Actionsのランナーのソースコードをホストするactions/runnerリポジトリにおいて、セルフホストランナーの使用方法に不備があり、結果としてGitHub Actionsに登録されているPersonal Access Tokenの窃取が可能だった。 このトークンはGit

        GitHub Actionsにおける設定ミスに起因したGitHubスタッフのアクセストークン漏洩
      • ラッキービジター詐欺で使用されるPHPマルウェア - JPCERT/CC Eyes

        JPCERT/CCでは、国内のWebサイトが改ざん被害を受け、不正なページが設置される事例を継続して観測しています。これらの事例では、不正に設置されたPHPスクリプト(以下、PHPマルウェア)により、ページにアクセスした訪問者が詐欺サイトや不審な商品販売サイトなどに誘導されることがわかっています。 今回は、複数の調査事例から得られた知見をもとに、国内のWebサイト改ざんで頻繁に見られているPHPマルウェアの詳細について紹介します。 被害事例 PHPマルウェアが設置されたWebサイトでは、アクセスした訪問者を詐欺サイトや不審な商品販売サイトなどに転送する不正なWebページが多数サーバー上に作成されます。図1は、ページにアクセスした際に表示されるラッキービジター詐欺サイトの例です。 図1:転送先の詐欺サイトの例 攻撃者は、コンテンツマネジメントシステム(以下、CMS)の脆弱性を悪用して、PHP

          ラッキービジター詐欺で使用されるPHPマルウェア - JPCERT/CC Eyes
        • Highlights from Git 2.23

          CommunityOpen SourceHighlights from Git 2.23Take a look at some of the new features in the latest Git release. The open source Git project just released Git 2.23 with features and bug fixes from over 77 contributors, 26 of them new. Here’s our look at some of the most exciting features and changes introduced since Git 2.22. Experimental alternatives for git checkout Git 2.23 brings a new pair of e

            Highlights from Git 2.23
          • Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス

            こんにちは、SSTでWeb脆弱性診断用のツール(スキャンツール)開発をしている坂本(Twitter, GitHub)です。 先日の記事では Linux のネットワークインターフェイス名を出発点として systemd や udev について調査しました。 どうやって調査したかというと、 検索キーワードをあれこれ試してみて、見つかった記事から気になるコマンドや設定ファイルがあれば、実際の内容を確認し、 そこからmanページを辿ってパッケージ情報にさかのぼり、パッケージがインストールした他のコマンドや設定ファイルの一覧から構成を把握し、 さらに関連するコマンドや設定ファイルをmanページで辿って・・・ というサイクルを繰り返しました。 時には同じmanページを数度に渡って辿り直し、読み直したりして自分の中の情報を整理しました。 読者の皆様は、そのような時どうされますか? 初めて触るLinuxディ

              Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス
            • 汎用的な継続的デリバリーツール PipeCD が出たぞ | DevelopersIO

              https://pipecd.dev/docs/faq/#4-what-are-the-differences-between-pipecd-and-fluxcd https://pipecd.dev/docs/faq/#5-what-are-the-differences-between-pipecd-and-argocd Getting Started 「せっかくなので、軽く GitOps の雰囲気が感じられるチュートリアルをやってみましょう」 バージョン kubectl: 1.18.0 eksctl: 0.29.2 Kubernetes: 1.17.9 Helm: 3.3.4 alias k="kubectl" alias ek="eksctl" Kubernetes クラスタを作成 $ ek create cluster \ --name test-kim \ --version

                汎用的な継続的デリバリーツール PipeCD が出たぞ | DevelopersIO
              • 脆弱性を探す話 2023 - Qiita

                最近年2回のサイボウズ以外はほぼバグバウンティしていない現状であるが、やる気が起きたときようにメモ 主にWebアプリに関すること 診断と自分で勝手に脆弱性を探す行為との違い 網羅性は全く必要ない 診断は網羅してないと怒られることがあるが好きな脆弱性だけ探せる。 期間が永遠 診断期間は自由なので後で気づいて頭を抱えることはない 攻撃に到るまでを説明する必要がある 「バージョンが古いのでダメです」だけでは許してもらえない 変なことすると逮捕される可能性がある 無闇にツール回すと不正アクセス禁止法に引っかかるので だがしかし海外勢は法律の違いもあるのか好きなサイトに気軽にツールを回すので太刀打ちできない 日本人としては許可されたところかローカルに環境作って攻撃するのが心理的安全性が高い 2023年度の傾向 コモディティ化が進む 自分だけしか知らないような脆弱性はない まだ知られていない手法もほぼ

                  脆弱性を探す話 2023 - Qiita
                • GitHub Actions 使ってみた感想 - mizchi's blog

                  やっときたので使ってみた。 CI マニアから見た GitHub Actions(Beta)の使い所 - くりにっき https://github.com/mizchi/frontend-gh-action-playground で素振りして挙動を確かめた後、会社の結構重めのリポジトリに突っ込んでみた。まだ 2 日目なので、実際そこまで経験値足りてない。 とりあえず困ったらここ読む GitHub Actionsのワークフロー構文 - GitHub ヘルプ 良い点 sue445 さんの記事でも書いてあるが、ジョブが 20 個まで並列になるので、並列に分解できるようなものに強い。 GitHub に完結してる点。checks タブで CI の結果が見える。 circleci.com/dashboard とか行かなくていい。外部 CI はアカウント取得やらリポジトリごとの設定やらなんやらもあるので、

                    GitHub Actions 使ってみた感想 - mizchi's blog
                  • Redisに耐久性が加わったAmazon MemoryDB for Redisが登場 | DevelopersIO

                    MemoryDB はElastiCache の約1.5倍、Aurora の約1.2倍と若干高価です。 耐久性を重視するMemoryDBはElastiCacheで言うところの「クラスターモード」しか存在しないため、{シャード数} x {ノード数/シャード} x {インスタンス利用費} 分の利用費が発生する点にもご注意ください。 最後に Redisを永続的なデータストアとしても使える Amazon MemoryDB for Redis が爆誕しました。 データ耐久性のトレードオフとして書き込み速度は低下したものの、読み取りの速さはまさにRedisです。 クライアントはRedisコマンドを投げるだけで、MemoryDBが良しなにやってくれるため、使い勝手が良さそうです。 今後はDynamodB+DAXの代替として検討したり、RDB+キャッシュRedisなシステムを MemoryDB に集約すると

                      Redisに耐久性が加わったAmazon MemoryDB for Redisが登場 | DevelopersIO
                    • Terraform管理されたステージング環境・本番環境の差異を検出したくて頑張っている話 - KAYAC engineers' blog

                      SREチームの橋本です。今回はステージング環境の運用でありがちな本番との差分に対処する試みを紹介します。 背景 ステージング環境について、例えばIT用語辞典では ステージング環境とは、情報システムやソフトウェアの開発の最終段階で検証用に用意される、実際の運用環境と変わらない環境のこと。 と説明しています。検証用ですから、インフラ面で言っても本番環境となるべく一致した構成であってほしいということになります。 しかし実際にはさまざまな経緯(ステージング環境を後から立てたり!)から、たとえTerraform管理していたとしても差異が発生してしまうことがあります。 こうしたとき、その差異を検出する一つの方法としてはTerraformの.tfファイルを比較することですが、これにもいろいろな書き方がありえます。 例えばaws_db_proxy_endpointはterraform-provider-a

                        Terraform管理されたステージング環境・本番環境の差異を検出したくて頑張っている話 - KAYAC engineers' blog
                      • 💡 Node.jsのバージョン管理ツールを改めて選定する【2021年】 - Qiita

                        開発者「すみません、なんかnpm iとかnpxコマンドがうまくいかなくて…」 ワイ「でたー、cb.apply is not a functionって書いてません?」 開発者「書いてます」 ワイ「ちょっと見てみますね」 ワイ「……これはnpm入れなおしたほうが早そうですね…」 カタカタ… ワイ(うーん…なぜ未だにnodistで消耗しているのか…😨) TL;DR nodistはもうやめよう 選定するときは、まず選定基準を決めよう 関連技術の特徴を洗い出そう それらが自分たちの環境にどれくらいマッチするかで比較しよう Windowsならfnmがオススメ1! ※ バージョン管理ツールがなんだかわからない方は「Node.jsのバージョン管理ツールとは」からお読みください。 うわっ…私の現場、nodist使いすぎ…? Node.jsの利用が本格化してきたころ、私の周りでは圧倒的にnodistが流行し

                          💡 Node.jsのバージョン管理ツールを改めて選定する【2021年】 - Qiita
                        • Grafana Lokiで構築する大規模ログモニタリング基盤 / Grafana Loki Deep Dive

                          CloudNative Days Tokyo 2021での登壇資料です https://event.cloudnativedays.jp/cndt2021/talks/1252

                            Grafana Lokiで構築する大規模ログモニタリング基盤 / Grafana Loki Deep Dive
                          • 半年間の開発環境の改善を振り返る - メドピア開発者ブログ

                            こんにちは、メドピアCTO室 SREの侘美(たくみ)です。 普段はRails/Vue.js/terraform/Lambdaなどを書いています。 趣味は飼い猫と遊ぶことで、生傷が絶えません。 入社してから約半年間、Railsのプロジェクトで実装をしつつ、合間に開発環境の改善をいろいろとやってきました。けっこうな分量となったので、紹介したいと思います。 なお、本記事で扱う開発環境とは下記2つを指すこととします。 ソースコードの修正/テストの実行/静的解析の実行環境 サービスを起動し、ブラウザでデバッグする環境 特徴 主な改善対象である、「MedPeer」サービスの特徴をご紹介します。 Ruby on Rails製 社内では最も巨大なRailsプロジェクト モデル数693 認証サービス、旧サービス(PHP製)と連携している 開発環境はDocker for Macを利用 コンテナ数は旧システム、

                              半年間の開発環境の改善を振り返る - メドピア開発者ブログ
                            • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog

                              こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

                                株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog
                              • Dev Containerを使ってステップバイステップで作るPythonアプリケーション開発環境 - 電通総研 テックブログ

                                みなさんこんにちは、電通国際情報サービス(ISID)Xイノベーション本部ソフトウェアデザインセンターの佐藤太一です。 この記事では、VS CodeのDev Containerを使ってOSに依存しないPythonの開発環境を構築する方法をステップバイステップで丁寧に説明します。 VS Codeの利用経験があり、またPythonによるアプリケーション開発に興味のある方を想定読者として記述しています。Pythonの初心者から中級者向けを意識して書いていますので、意図して冗長な説明をしています。 すでにPythonによるアプリケーション開発に十分に詳しい方は、まずはまとめだけ読んでみてください。私自身それほどPythonのエコシステムに詳しいわけではありませんので、知識の抜け漏れは恐らくあるでしょう。そういった事に気が付いたら、XなどのSNSでこの記事のURLを付けてコメントをしていただけると幸い

                                  Dev Containerを使ってステップバイステップで作るPythonアプリケーション開発環境 - 電通総研 テックブログ
                                • Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita

                                  この記事では、Web アプリケーションにおけるデータ取得(データフェッチング)やレンダリングに関する各手法について比較・整理することを目的として、特に最近注目度が高まっている Next.js における SSG(静的サイト生成)や ISR(インクリメンタル静的再生成)、それ以外の手法(SSR、CSR 等)を具体的なテーマとしてお話しします。 Twitter もやっているのでよかったらフォローおねがいします! @_thesugar_ 記事内の解説は正確性を期すよう注意を払っておりますが、誤っている部分などがございましたらコメント欄や Twitter 等でご指摘ください はじめに Web アプリケーションを作るとき、レスポンスの速さをはじめとしたパフォーマンスの問題は開発者にとって大きな関心事となります。 たとえば、最近では Google が Core Web Vitals という Web のパ

                                    Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita
                                  • Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                    Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット

                                      Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                    • Delta Lake とは何か - connecting the dots

                                      はじめに 環境情報 Delta Lake (デルタレイク) とは Delta Lake の実体 Delta Lake の構造 Parquet と Delta の相違点 Parquetとは何か Parquetの構造 Parquet と Delta の違い Delta Lake が生まれた経緯: データレイクと Delta Lake の違い データレイクのメリット データレイクの課題 *Parquetで構築した場合 Delta Lake の特徴 ACIDトランザクションの担保 スケーラブルなメタデータ管理 バッチとストリーミングワークロードの統合 タイムトラベル (バージョン管理) CONSTRAINT句のサポート DML (データ操作言語) のフルサポート UPDATE DELETE MERGE 柔軟なスキーマ管理 1. スキーマ エンフォースメント 2. スキーマ エボリューション ストレ

                                        Delta Lake とは何か - connecting the dots
                                      • S3は巨大なKVSなのでRailsのCache storeとしても使える | うなすけとあれこれ

                                        S3 is a Key-Value store Amazon S3 は、一意のキー値を使用して、必要な数のオブジェクトを保存できるオブジェクトストアです。 Amazon S3 オブジェクトの概要 - Amazon Simple Storage Service Amazon S3の基礎技術は、単純なKVS(Key-Value型データストア)でしかありません。 Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする | DevelopersIO Amazon S3の実体はKey-Value storeという事実は、既にご存知の方々にとっては何を今更というようなことではありますが、それでも初めて聞くときには驚かされたものです。 さて、Key-Value storeと聞いて一般的に馴染みが深いのはRedisでしょう。そして、RailsにおけるRedisの役割としてCac

                                          S3は巨大なKVSなのでRailsのCache storeとしても使える | うなすけとあれこれ
                                        • Mackerelでは計画メンテナンスをどう実施しているか? RedisをElastiCacheに移行した裏側をご紹介 - Hatena Developer Blog

                                          こんにちは。MackerelチームSREのid:heleeenです。 Mackerelでは、2020年10月14日に計画メンテナンスを実施しました。今回は告知ブログに記載の通り、Mackerelが利用しているRedisをAmazon ElastiCache for Redis(以下、ElastiCache)へ移行しました。 本記事では、この10月の計画停止の裏側を紹介します。 どのようにElastiCacheへ移行するか 大半のRedisを無停止で移行 最後はElastiCacheへのオンライン移行を使用 メンテナンスに向けたさまざまな準備 メンテナンス手順書のチーム内レビュー メンテンス実施中の役割分担 なぜタイムキーパーが必要になったのか リモートで停止メンテナンスを実施する方法 検証環境を利用して事前にリハーサルも実施 Redisを安全に効率よく切り替えるために 参照するRedisを

                                            Mackerelでは計画メンテナンスをどう実施しているか? RedisをElastiCacheに移行した裏側をご紹介 - Hatena Developer Blog
                                          • The Ultimate Guide to handling JWTs on frontend clients (GraphQL)

                                            The Ultimate Guide to handling JWTs on frontend clients (GraphQL) JWTs (JSON Web Token, pronounced 'jot') are becoming a popular way of handling auth. This post aims to demystify what a JWT is, discuss its pros/cons and cover best practices in implementing JWT on the client-side, keeping security in mind. Although, we’ve worked on the examples with a GraphQL clients, but the concepts apply to any

                                              The Ultimate Guide to handling JWTs on frontend clients (GraphQL)
                                            • Next.jsをサーバーレスでやっていくためのServerless Next.js Component - Sweet Escape

                                              今回は最近その存在感がますます上がっているNext.jsとサーバーレスの話です。 はじめに サンプルアプリ Serverless Next.js Component デプロイ 作成されるリソース CloudFrontのディストリビューション Lambdaファンクション S3バケット 大まかな挙動 できないこと まとめ はじめに この投稿は2020年11月27の21時から開催予定のイベント(ライブストリーミング)で話す内容です。 serverless-newworld.connpass.com もし間に合えば、かつ時間があればぜひライブ配信のほうにも参加ください。 さて、今回は11/9に登壇させていただいたFront-End Studyでの話でも少し紹介したServerless Next.js Componentについて取り上げます。 僕は昨今のフロントエンドWeb周りの技術では最近は一番N

                                                Next.jsをサーバーレスでやっていくためのServerless Next.js Component - Sweet Escape
                                              • Denoのフロントエンド開発の動向【2021年春】

                                                はじめに ここ最近、Denoのフロントエンド向けのエコシステムについて、色々試してみたり、調査などをしていました。 そこで、この記事では、2021年現在のDenoのフロントエンド開発の状況であったり、所感などについてまとめます。 フレームワークについて Node.jsにおけるフロントエンド開発では、以下のフレームワーク[1]が使われることが多いと思います。 React Vue.js Preact これらのフレームワークは、すでにDenoでも動作します。 またこれらをベースにしたフレームワークがいくつか開発されています。 Aleph.js Aleph.jsはNext.jsに影響を受けたReactベースのフレームワークです。 以下のような機能が提供されています: HMRをサポートするdevサーバを提供 ファイルシステムベースのルーティング SSR/SSGをサポート CSS Modules 開発

                                                  Denoのフロントエンド開発の動向【2021年春】
                                                • 北森瓦版 - Intel 14nmプロセスとTSMC 7nmプロセスを電子顕微鏡で比較した結果

                                                  Intel 14nm and AMD/TSMC 7nm transistors micro-compared(HEXUS) Intel 14 nm Node Compared to TSMC's 7 nm Node Using Scanning Electron Microscope(techPowerUp!) 14nm and 7nm are NOT what you think it is - Visiting Tescan Part 3/3(der8auer / YouTube) 名高いオーバークロッカーとして知られるder8auer氏がYouTubeで非常に興味深い検証を行っている。その内容はCore i9 10900KとRyzen 9 3950Xを比較するというもので、製造プロセスは前者がIntel 14nm+++、後者がTSMC 7nmとなる。そしてこれらを電子顕微鏡を用いて比

                                                  • CPUキャッシュがGoのコードに与える影響(翻訳)|TechRacho by BPS株式会社

                                                    繰り返しますが、正確な図はプロセッサモデルによって異なります。ここでは見積もりのため、以下の目安で考えます。メインメモリのアクセスに60ns(ナノ秒)かかり、L1キャッシュへのアクセス速度はその約50倍高速だとします。 さて、プロセッサの世界には「参照の局所性(locality of reference)」と呼ばれる重要な概念があります。プロセッサがメモリ上の特定の場所にアクセスするとき、以下のように予測を立てます。 近い将来、メモリ上の同じ場所にアクセスする可能性が非常に高い これは「時間的局所性(temporal locality)の法則」です 近い将来、メモリ上のその場所からごく近い場所にアクセスする可能性が非常に高い これは「空間的局所性(spatial locality)の法則」です CPUにキャッシュが存在する理由のひとつが、この時間的局所性です。では空間的局所性を高めるにはど

                                                      CPUキャッシュがGoのコードに与える影響(翻訳)|TechRacho by BPS株式会社
                                                    • 機械学習のための環境構築とその管理 - nykergoto’s blog

                                                      機械学習プロジェクトでは python を始めとした言語 + それに付随したライブラリを使います。 僕も python 触りたての頃はローカルマシン上にひとつ python 環境を作り、必要なライブラリをインストールして使っていました。環境の分離ということはあまり意識しておらず、やったとしてもプロジェクトごとに anaconda や pyenv, venv などで個別環境を作って切り分けるレベルでした。 しかし上記の方法だと困ったことが起ることがあります。例えば… global な環境が壊れてしまってすべて壊れる。 これは各環境が global な環境に依存しているために起こります。 python 以外の変更で環境は突如として壊れます。例えば brew install hoge したら Mecab が使えなくなっちゃったとかはあるあるだと思います >_< linux / Mac / Win

                                                        機械学習のための環境構築とその管理 - nykergoto’s blog
                                                      • Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog

                                                        こんにちは、バックエンドエンジニアの夏(なつ)です。今回はMirrativのバックエンドで使っているライブラリをご紹介します。 これらの記事のバックエンド版になります!(2年越し) tech.mirrativ.stream tech.mirrativ.stream ライブラリ一覧 https://pkg.go.dev/ オリジナルの The Go gopher(Gopherくん) は Renée French によるデザイン cloud.google.com/go/bigquery 分析チームが生成したユーザの特徴量などがBigQuery上に存在しているため、それらをバッチ処理でMySQL上に取得する際に利用しています。 tech.mirrativ.stream cloud.google.com/go/compute/metadata 開発環境などでしか動いてほしくない処理が本番環境上で動

                                                          Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog
                                                        • Rustのビルドを高速化する方法 | POSTD

                                                          Rustコードのコンパイルが遅いことは誰でも知っています。しかし筆者は、世の中のほとんどのRustコードはコンパイルをもっと速くできると強く感じています。 例えば、つい最近の記事にこのように書かれていました。 一方、Rustでは、プロジェクトやCIサーバーの性能にもよりますが、 CIパイプラインの実行に15~45分かかります。 これは筆者には理解できません。GitHub Actions上にあるrust-analyzerのCIの所要時間は8分です。しかも、これは100万行の依存関係に加え、20万行の独自コードが記述されたとても大規模で複雑なプロジェクトでの話です。 確かに、Rustは根本的な部分で非常にコンパイルが遅いのは間違いありません。Rustはジェネリクスのジレンマにおいて「遅いコンパイラ」を選び、全体的な設計思想としてコンパイル時間よりもランタイムを優先しています(この点に関する優れ

                                                            Rustのビルドを高速化する方法 | POSTD
                                                          • MeCab互換な形態素解析器Vibratoの高速化技法 - LegalOn Technologies Engineering Blog

                                                            こんにちは。LegalForce Researchで研究員をしている神田 (@kampersanda) です。 LegalForce Researchでは、MeCab互換の形態素解析器Vibrato(ヴィブラ〰ト)を開発しています。プログラミング言語Rustで実装しており、高速に動作することが主な利点です。Vibratoはオープンソースソフトウェアとして以下のレポジトリで公開しています。 github.com 本記事では、Vibratoの技術仕様を解説します。以下のような方を読者として想定します。 自然言語処理の要素技術に興味のある方 データ構造・アルゴリズムに興味のある方 Rustでの自然言語処理に興味がある方 Vibratoについて 最小コスト法による形態素解析 単語ラティスの構築 最小コスト経路の計算 高速化の取り組み 辞書引きのキャッシュ効率化 実装での注意点 連接コスト参照のキャ

                                                              MeCab互換な形態素解析器Vibratoの高速化技法 - LegalOn Technologies Engineering Blog
                                                            • ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG

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

                                                                ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG
                                                              • Ryzen 7 7800X3DやRyzen 9 7950X3Dが焦げて死亡。ASUS製マザーボードで発生。AM5ソケットも焦げる | ニッチなPCゲーマーの環境構築Z

                                                                AMD Ryzen 7 7800X3DやRyzen 9 7950X3Dなどの3D V-Cacheモデルと、ASUS製マザーボードとの組み合わせで、CPUとマザーボードが死亡するという報告が出ています。その写真がこちら。 上記写真を投稿したのはRedditユーザーのSpeedrookie氏。CPUはRyzen 7 7800X3Dでオーバークロック(OC)はしておらず定格使用。マザーボードはASUS ROG STRIX X670E-E GAMING WIFI。 同氏は24時間ずっとPCを付けっぱなしにしており、外出から帰宅したらマザーボード上のQ-Codeが『00』(CPUの異常)と表示されていて動作しなくなっていたため、バラしてみたところ上記写真のようにCPUとマザーボードのAM5ソケットが焦げ付いて破損していました。また、CPUの焦げ付いた部分には膨張が見られました。 同氏は、Ryzen

                                                                  Ryzen 7 7800X3DやRyzen 9 7950X3Dが焦げて死亡。ASUS製マザーボードで発生。AM5ソケットも焦げる | ニッチなPCゲーマーの環境構築Z
                                                                • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                                                                  技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                                                                    プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                                                                  • DockerとPodmanの比較 [Container Runtime Meetup #3]

                                                                    Container Runtime Meetup #3 発表資料 「DockerとPodmanの比較」PodmanとはPodmanは、Red Hat社を中心とするコミュニティが開発している、Docker互換のコンテナエンジンです。RHEL、CentOS、Fedora などの Linuxディストリビューションに標準で付属しています。 Podmanの使い方は、コマンド名が docker ではなく podman である点を除けば、Docker とほぼ同じです。(例: podman run -p 80:80 --name nginx docker.io/library/nginx ) “Podman”は “Pod Manager” を意味しますが、Podmanを用いてKubernetesのPodを管理することは、基本的にはできません。ただし、CRIランタイムとしてCRI-Oを用いている場合に限り、

                                                                      DockerとPodmanの比較 [Container Runtime Meetup #3]
                                                                    • Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog

                                                                      こんにちは。 クラシル開発部、バックエンドエンジニアの松嶋です。 delyに入社してから約3年間、私はSREチームに所属していましたが、昨年10月にバックエンドに転向しました。バックエンドに転向してからは、主にクラシルアプリの公式レシピおよびCGMコンテンツの検索機能に関する開発・改善に取り組んでいます。 クラシルは、2016年2月にサービスを開始してから、管理栄養士監修の「誰でも安全に・おいしい料理を作ることができるレシピ動画」を5万件以上提供してきました。 昨年12月には、クラシルのブランドリニューアルを行い、今後はシェフや料理研究家を中心としたクリエイターとともに多様化したユーザーの食の好みや課題解決に応えられるよう、幅広い食のコンテンツを提供するプラットフォームを目指しています。 ブランドリニューアルの詳細に関しては、こちらを御覧ください。 www.kurashiru.com この

                                                                        Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog
                                                                      • Incremental Static Regeneration で実現する次世代のサーバーアーキテクチャ

                                                                        next.js 9.4 に Incremental Static Regeneration という実験的な新機能があります。 Blog - Next.js 9.4 | Next.js パッと見、「段階的な静的サイト生成…?なんのことだろう…」となったのですが、手元で試してみた感じ、これが既存のサーバーの実装アプローチを変える、革命的な機能ではないかと思いました。 解説を書きつつ、どのような応用があるか解説します。 next.js の Incremental SSG を試してみる リポジトリはここです。 mizchi/issg-playground 解説にあたっては、必要なのはほぼこのファイルだけで、短いのでそのまま貼ります。 // pages/[slug].tsx import { GetStaticProps, GetStaticPaths } from "next"; type Pro

                                                                          Incremental Static Regeneration で実現する次世代のサーバーアーキテクチャ
                                                                        • “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳

                                                                          私が働いているAniqueという会社では、1年前に全てのソフトウェアでTypescriptを採用することにしました。私たちが開発している進撃の巨人のNFTサービス “Attack on Titan: Legacy” でも採用しています。 TypescriptではNestJSという素晴らしいAPIフレームワークを利用することができ、生産性高く開発を続けることができます。また、私たちはフロントエンドでNext.jsを利用しています。言語レベルでのコンテキストスイッチを抑えることで、一人のエンジニアがフロントエンドとバックエンドのどちらもの機能を開発する環境が作れました。 しかし、Nodeならではの作法や設計について、Web上にはたくさんの情報があるものの、あまりにも情報が多すぎて、まとまったプラクティスになかなか出会うことができませんでした。そのため、最初はチーム内での共通認識を作るのに苦労し

                                                                            “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳
                                                                          • 有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です

                                                                            tl;dr キーワードは「monotonic clock」です。 あらすじ Goで以下のようなコードを書いていた*1*2。あるAPIを叩くクライアントで、APIコールに必要なアクセストークンを4時間キャッシュしている。c.getToken() で得られたトークンを使ってAPIコールを行えばよい。 type Client struct { mu sync.RWMutex expiresAt time.Time token string } // トークンのキャッシュがあればキャッシュから返し、なければ更新してから返す func (c *Client) getToken() string { if cachedToken, ok := c.getTokenFromCache(); ok { return cachedToken } return c.refreshToken() } // トー

                                                                              有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です
                                                                            • Next.js App Router (app ディレクトリ) の逆引き辞典

                                                                              2023/05/05 追記 v13.4.0 をもって App Router は安定版になりました! https://nextjs.org/blog/next-13-4 公式ドキュメントもベータ→正式版にマージされました。 内容が充実してきている様子ので、そちらを確認してください。 https://nextjs.org/docs 加えて、公式ドキュメントの改善で分かったポイントもいくつか修正しています。 Next.js v13 から App Router 機能 (app ディレクトリ) が新しく追加されました。 (v13.3.0 現在はベータ版です。 v13.4.0 をもって安定版になりました!) ファイルベースの Layout 機能 処理の一部を Server Component に移しバンドルサイズを削減できる 例: remark を利用した Markdown のパース が有名なところだ

                                                                                Next.js App Router (app ディレクトリ) の逆引き辞典
                                                                              • 私のチームで行っているドキュメント管理方法の紹介(GitHub Actions, S3, AsciiDoc) | DevelopersIO

                                                                                ドキュメントツールのインストール(Windows) Macの場合の設定方法は、本項の後に記載 PowerShellの起動 各種ツールをインストールするため、PowerShellを管理者として実行 Windowsボタンを押下 powershell と入力 右クリックで管理者として実行 を選択します Chocolateyのインストール 本手順は前述で起動したPowerShellを利用 1.Chocolatey のサイトにアクセスし、インストールコマンドをクリップボードへコピー 2.前項でコピーしたコマンドをPowerShellにペーストして実行します Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServiceP

                                                                                  私のチームで行っているドキュメント管理方法の紹介(GitHub Actions, S3, AsciiDoc) | DevelopersIO
                                                                                • TrivyでAWSアカウントのセキュリティスキャンができるようになりました | DevelopersIO

                                                                                  中山です trivyのv0.31.0でAWSアカウントのセキュリティスキャンができるようになりました。 feat: Add AWS Cloud scanning (#2493) Releases / v0.31.0 なお、v0.31.0でスキャンを実行するとクラッシュするバグがあり、すぐにv0.31.2がリリースされました。 Releases / v0.31.2 どんな感じか気になったので、軽く触っておこうと思います。 ドキュメントを確認 まずはドキュメントを確認します。 Amazon Web Services ポイントになると思った点をまとめます。 CIS AWS Foundations Benchmark standardに準拠したチェックが可能 認証方法はAWS CLIと同じ すべてのAWSリソースに対する参照権限が必要 (ReadOnlyAccess) サービス・リージョン・リソー

                                                                                    TrivyでAWSアカウントのセキュリティスキャンができるようになりました | DevelopersIO