並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 11649件

新着順 人気順

Execの検索結果201 - 240 件 / 11649件

  • ISUCON 9 参加記 - kyuridenamidaのブログ

    使用した言語 解析ツールの準備 本番前 一ヶ月前 一週間前 本番 開始前 00:00 開始 01:00 - 様々なツールの整備が完了 01:30 最初の気づき bcryptは遅い 03:00 平文保存のコードが一応完成 03:30 バグが取れる 03:30 ベンチ走らせまくり 04:00 第2の気づき: getNewCategoryListが遅い 04:00 第3の気づき: MySQLのチューニングが効きそう 04:20 大量に平文パスワードをかきあつめおわる + MySQLのチューニングをしたりする 04:30 getCategoryByIDをバグらせる 04:35 getCategoryByIDが直る 04:40 getSimpleUserByIDのオンメモリ化に取り組む 05:00 第4の気づき: getNewCategoryList内のクエリは非効率的 05:00 第5の気づき:

      ISUCON 9 参加記 - kyuridenamidaのブログ
    • 転置インデックスの圧縮技法

      転置インデックスは、検索エンジンの実装において、中心的な役割を果たすデータ構造である。 転置インデックスのデータ構造とアルゴリズムは、クエリ処理アルゴリズムとともに、検索エンジンの性能に直結する。とくに大規模な検索エンジンにおいては、キャッシュ効率を高めてクエリ処理を高速化するために、転置インデックスの圧縮は必要不可欠となっている。 この記事では、転置インデックス、とくにポスティングリストの圧縮について、近年の手法を簡単にまとめる。 目次 転置インデックスの基本 転置インデックスのデータ構造と特性 転置インデックスのアクセスパターン 近年のインデックス圧縮技法 Variable-Byte Family VByte Varint-GB Varint-G8IU Masked-VByte Stream-VByte Opt-VByte Simple Family Simple9 Simple16

        転置インデックスの圧縮技法
      • eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog

        κeenです。以前の記事の続きで、 /proc を監視するのではなくeBPFで取得してみます。ついでにRustのコードをeBPFで動かせるライブラリのayaも使ってみます。 以前の記事では /proc 以下の監視をビジーループで回すという力技で新しく作られたプロセスを補足していました。これだとCPU使用率が上がって美しくありませんし、何より原理的には見逃しもありえてしまいます。そこでカーネルの機能を使って全てのプロセスの作成を監視して低CPU使用率かつ捕捉率100%の実装を目指します。 eBPFとは? なんかLinuxカーネルでユーザの書いたコード動かせるやつです。私は説明できるほど詳しくないので適当にググって下さい。 1つやっかいな点として、独自のバイナリを動かすのでカーネル内で動かすコードはコンパイラがeBPFに対応したものでないといけません。また、カーネル内で動かすコードをユーザラン

          eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog
        • 『フォートナイト』担当者、任天堂キャラとコラボ交渉するもうまくいっていないと認める。元米任天堂広報は「だってメリットがない」とコメント - AUTOMATON

          Epic Gamesの『フォートナイト』エコシステム統括責任者のSaxs Persson氏はAxiosとのインタビューで『フォートナイト』の現状と今後について回答。その中で、任天堂とのコラボ交渉がうまくいっていないことを明かした。 『フォートナイト』はもともとPvEゲームとしてスタート。バトロワゲームとして華麗な転身をはたし、超人気運営型ゲームとなった。同作においてはコラボも活発。他社IPとコラボしスキンやエモートをゲーム内で使えるようにするという施策。『フォートナイト』は大人だけでなく子供にも人気があり、IPを貸し出す他社としても、普段ターゲットとしているユーザー以外とのタッチポイントを作れる良い機会なわけだ。 そうした経緯もあり、大規模ゲームや人気IPとのコラボが続々実現されている。最近では「レゴ」をゲーム内ゲームとして登場させることに成功。プラットフォーマーも例外ではなく、PlayS

            『フォートナイト』担当者、任天堂キャラとコラボ交渉するもうまくいっていないと認める。元米任天堂広報は「だってメリットがない」とコメント - AUTOMATON
          • 第590回 Windows/macOS/Linuxで使える仮想マシン管理ツール『multipass』 | gihyo.jp

            multipassはWindows/macOS/Linuxで使える仮想マシン管理ツールです。特にUbuntuサーバーのインストールされた仮想マシンを気軽に用意したい時に、その効果を発揮します。今回は「オンプレミスで動くなんちゃってAWS EC2」的に利用できるmultipassのかんたんな使い方を紹介しましょう。 LXDのようなインターフェースを備えたCLIツール multipassはCanonicalが開発している、Windows/macOS/Linuxで使える仮想マシン管理ツールです。まだ「ベータ版」という扱いではあるものの、次のような機能を備えており、気軽にUbuntuがインストールされたサーバーインスタンスを構築できるのが特徴です。 CLIをメインにしたUI コマンド1つで仮想マシンを作成&起動できる 仮想マシンの作成・起動・停止・削除に加えて、ログインやファイルのやり取りもコマン

              第590回 Windows/macOS/Linuxで使える仮想マシン管理ツール『multipass』 | gihyo.jp
            • AWS Vaultで端末内のAWSアクセスキー平文保存をやめてみた | DevelopersIO

              AWSアクセスキーセキュリティ意識向上委員会って何? 昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。 そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。 アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。 AWS Valutとは AWSのアクセスキー/シークレットキーを安全に保存・利用するためのOSSソフトウェアです。 AWS CLIだけではなく、boto3等AWS SDKを用いた開発、 Terraform等のサードパーティアプリケーションでも利用することが出来ます。 AWS VaultはIAM認証情報をOSのキーストアに保存し、認証情報の利用時

                AWS Vaultで端末内のAWSアクセスキー平文保存をやめてみた | DevelopersIO
              • 「リーダブルコード」を読んでTerraformの可読性について考える | フューチャー技術ブログ

                こんにちは。TIGの伊藤太斉です。 この記事は、読書感想連載の6日目です。 今回取り上げる書籍は、多くのエンジニアが通過するであろう、「リーダブルコード」についてです。 最近、「もし「リーダブルコード」を弁護士が読んだら?」という記事をたまたま見かけて読んでみました。記事としては契約書にも同じことが言える、と自分が知らない世界でも使える部分はあるのだと読んでいました。そして、ふと考えてみると、「うちにも本があったじゃないか。しかも積読している。」と思い出し、今回積読解消の機会としてこの連載に参加しました。 リーダブルコードを書評や感想については既に多くの方が書いている内容があるので、今回はTerraformと絡めて書いていければと思います。私は、俗にいうプログラミング言語に対しては明るくない方なので、自分が理解できうるTerraformにおいて考えたらどうなるか、について地震の頭の整理、理

                  「リーダブルコード」を読んでTerraformの可読性について考える | フューチャー技術ブログ
                • WSLの代わりにDockerを使う - ただのにっき(2020-07-23)

                  ■ WSLの代わりにDockerを使う 自宅で仕事をするようになって、さすがにWSLのI/Oの遅さに嫌気が差してきた今日このごろ。 世間的にはWindows10 2004*1のWSL2がたいへん評判が良くて、おれもはやく移行したいんだけど、2004にまだけっこう致命的なバグがあって、関係するデバイスを持つうちのPCにはまだ当てられそうにない。PCも古いので買い換える予定なんだけど、まだ機種選定中なものだから、WSL2までのつなぎとして、同じHyper-V上の仮想環境であるDockerをWSLの代わりに使うことにした。 といってもやったことはそんなに難しくはない。ちょっとした自作ツールはだいたいRubyで書いてあるので、ベースにするイメージを「ruby:2」にしてDockerfileを書く。rubyの公式イメージは使い慣れたdebianをベースにしているので都合がいい: FROM ruby:

                  • その実験、再現できますか?pyenvとpoetryによる “そんなに頑張らない” 再現可能な実験環境構築 - Gunosyデータ分析ブログ

                    Gunosy Tech Lab リサーチインターンの北田 (@shunk031)です。 深層学習の論文を読んでいるときに著者実装が公開されている旨を見ると嬉しい気持ちになりますよね。 いざ公開レポジトリに飛んだ瞬間その嬉しさは無となることが多いですが、くじけずにやっていきたいです。 著者実装のrequirements.txtをベースにpythonモジュールをインストールするとよく見るやつ こちらの記事は Gunosy Advent Calendar 2020 6日目の記事です。昨日は @625 さんの goで作るfirehoseのデータ変換lambda でした。 tech.gunosy.io その実験、再現できますか? リサーチインターンでは主にGunosyのデータを使った研究をしています。 特に私は深層学習による広告クリエイティブの評価や運用支援に焦点を当てて取り組んでいます*1。 深層

                      その実験、再現できますか?pyenvとpoetryによる “そんなに頑張らない” 再現可能な実験環境構築 - Gunosyデータ分析ブログ
                    • DockerfileのCMDとENTRYPOINTを読み解く(1/3) - Shell形式とExec形式とは何か #docker #dockerfile - クリエーションライン株式会社

                        DockerfileのCMDとENTRYPOINTを読み解く(1/3) - Shell形式とExec形式とは何か #docker #dockerfile - クリエーションライン株式会社
                      • GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社

                        概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Build images on GitHub Actions with Docker layer caching — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021-03-11 著者: progapandist (And[re]y Bar[a]nov)、dragonsmith (Kirill Kuznetsov) サイト: Martian Chronicles, Evil Martians’ team blog -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: 適切なDockerレイヤキャッシングでGitHub Actionsでイメージを構築する方法

                          GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社
                        • LinuxのSCHED_DEADLINEスケジューラについての話 - TIER IV Tech Blog

                          こんにちは、ティアフォーでパートタイムエンジニアをしている佐々木です。 今回はLinuxに搭載されているスケジューラの一つ、SCHED_DEADLINEについて紹介していきたいと思います。自動運転には多数のクリティカルタスクがあり、自動運転の安心・安全をしっかりと確保するためにはこのスケジューラを上手に設定することでこれらのクリティカルタスクが効率的にまた互いにコンフリクトすることなくリアルタイムに処理されることを担保する必要があります。なお、この記事で紹介するコードはLinuxカーネル5.4.0 (Ubuntu 20.04 LTSのベースカーネル) を元としています。 また、ティアフォーでは「自動運転の民主化」をともに実現していく、学生パートタイムエンジニアを常時募集しています。自動運転を実現するためには、Softwareに関してはOSからMiddlewareそしてApplication

                            LinuxのSCHED_DEADLINEスケジューラについての話 - TIER IV Tech Blog
                          • 巨大モノリスをKubernetesに移行してシングルクラスタ運用にするためにどうしたか | メルカリエンジニアリング

                            この問題を解決するため、もともとのコードベースであるところのモノリスもコンテナ化してKubernetesに乗せることにしました。ツールセットの統一をすることでよりシンプルな体系ができ、プラットフォームチームも一つの環境向けの改善に注力できるようになります。 プロジェクトの流れ PoC 計画についてあたため始めた際にちょうどよくUSチーム内でのハッカソンイベントがあったため、それに合わせて試しにKubernetesで動かすデモを発表しました。デモで見せる部分はごく限られたものだったため3人で3日くらい集中して開発したところ動くものができあがりました。 デモの評判は上々でEM、CTOに説明し実際にプロジェクトとしてすすめられることになりました。 現状分析 プロジェクト始動後、まず実施することは現状分析とどう移行するかの設計です。ここでのどの程度システムを把握できるかが計画の精度を決めます。しか

                              巨大モノリスをKubernetesに移行してシングルクラスタ運用にするためにどうしたか | メルカリエンジニアリング
                            • プログラミング言語 Ruby30 周年記念イベント レポート

                              プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                              • 既存リソースをTerraformでimportする作業を楽にする - KAYAC engineers' blog

                                SREチームの今です。 カヤックでは、クラウドリソースの管理にはTerraformを利用することが多いです。 クラウドリソースの構成や設定をコードで管理することで、リソースの変更内容の差分をレビューできる、意図しない設定変更を発見できるなどの利点があり、SREの目的であるサービスを安定して提供する上で重要な要素の一つです。 実際の作業として、既に運用中のサービスを新たにTerraform管理下に置く場合や、多くのリソースが既にweb consoleから作成されているものをTerraform管理下に追加する場合も多いと思います。 その際にはTerraform importをする必要があります。しかし、Terraform importは単純作業とはいえ時間と手間がかかり、優先順位を下げてついつい後回しにしてしまうことも多いのではないでしょうか。 今回は、手作業でTerraform import

                                  既存リソースをTerraformでimportする作業を楽にする - KAYAC engineers' blog
                                • Express と handlebars で動き続ける日経 — HACK The Nikkei

                                  Nikkei Advent Calendar 2023の 14 日目は IDE がやっていきます。いま Web チーム内の基盤改善を専門とするチームで活動しています。自分が入社するより前に作られてメンテナンスがあまりされていなかったシステムを、現代でも戦えるようにするお仕事をしています。メンテナンスを放置することはセキュリティ的によくないので、メンテナンスを専業で行っています。最近の自分の仕事は、今日紹介する rnikkei と呼ばれるマイクロサービス群の Node.js バージョンを、v12 から v18(一部は v20) まで引き上げることです。この rnikkei は当初「爆速の日経」と呼ばれていた頃に設計・実装されたサービスです。今日はそのような過去に作られたサービスにもう一度スポットライトを当ててみようと思います。 see: https://marketing.itmedia.c

                                    Express と handlebars で動き続ける日経 — HACK The Nikkei
                                  • Docker Compose入門 (2) ~ウェブサーバの開発環境を作るための準備~ | さくらのナレッジ

                                    前回(第1回)は、Dockerコンテナに対応するアプリケーションを開発・実行するために、Docker Composeというツールを使うのが便利ということで、例としてDocker Composeを使ってWordPressをコマンド1つで実行する方法を紹介しました。WordPressのような、しっかりとしたアプリケーション以外でもDocker Composeが使える場面があります。 今回は、Docker Composeを使ってウェブサーバ(Apache httpd)を実行し、コンテンツを表示する例を見ていきましょう。 なぜDocker Composeなのか? 単純にウェブサーバとして実行するアプリケーションであれば、Dockerだけで何ら困らないでしょう。例えば、Apache httpdサーバを実行するには、次のようにしてコンテナを実行できます。 docker run -d httpd しかし

                                      Docker Compose入門 (2) ~ウェブサーバの開発環境を作るための準備~ | さくらのナレッジ
                                    • ぼくのMac環境 ver.のんピ | DevelopersIO

                                      何年後かの自分へ こんにちは、のんピ(@non____97)です。 業務で使用する新しいMacが届きました。 新しいMacを初期セットアップするにあたって「今の設定どうだったっけ...」と調べる時間が結構かかってしまいました ということで何年後かの自分がまた新しいMacに乗り換える際に手間取らないように、設定した内容を書き記しておきます。 移行先のMacの情報は以下の通りです。M1 Max、嬉しい。 # OSのバージョンの確認 > sw_vers ProductName: macOS ProductVersion: 12.4 BuildVersion: 21F79 # カーネルのバージョン確認 > uname -r 21.5.0 # CPUのアーキテクチャの確認 > uname -m arm64 # CPUの詳細確認 > sysctl -a machdep.cpu machdep.cpu.

                                        ぼくのMac環境 ver.のんピ | DevelopersIO
                                      • Dockerやコンテナ関連を始めたいときにはじめに読む記事 - orangeitems’s diary

                                        はじめに KubernetesやOpenShift、VMware Tanzuなど、コンテナでのエンタープライズ運用の世界はどんどん先に進んでいるんですが、そういえば技術的にはまずはDockerのことをちゃんと使えるようにならないとどうしようもないなと痛感しております。 Dockerのインストール記事はたくさんあるので問題ないのですが、さて入れてから何をしていいかわからない。コマンドの紹介記事はたくさんあるけど、どんな意味なのかが頭に入ってこない。 そんなときのために記事を書いてみました(自分の勉強も兼ねて)。 インストールについては過去書いた通り。 www.orangeitems.com 今回はインストール直後の話です。 ローカルPCに入れたDocker for Windowsで「docker」というコマンドを叩くと、使い方がテキストで流れるんですがまずはここに書かれていることをきちんとお

                                          Dockerやコンテナ関連を始めたいときにはじめに読む記事 - orangeitems’s diary
                                        • コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck

                                          Transcript コンテナエンジンの作り方
 さくらの夕べ ~ ヤンジェネバトル ~
 さくらインターネット 株式会社 技術本部 大西 和貴 (C) Copyright 1996-2016 SAKURA Internet Inc 2019/10/08 自己紹介
 2
 大西 和貴 (@_k_onishi_)
 
 
 2017年度新卒
 SVOPチーム(運用) → レンタルサーバチーム(開発)
 
 サービスのコントロールパネルやメールソフトの
 バックエンドやフロントエンドを担当( Go / Typescript )
 
 
 Tech: 
 Linux / Unix / Kernel / File System / 仮想化 / コンテナ
 エミュレータ / バイナリ
 
 Lang: 
 C / Assembly / Perl
 
 Blog:
 レガシーガジェット研究所 Dock

                                            コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck
                                          • プログラムを「書き始める」「試しに実行する」コストを下げる工夫

                                            はじめに 物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。 このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。 本稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。 筆者が Ruby が好きなので、Ruby の例が多いですが、別に Ruby に限った話ではありません。 プログラミング言語による違い たとえば、C 言語ですと、プログ

                                              プログラムを「書き始める」「試しに実行する」コストを下げる工夫
                                            • docker-composeを詠唱する黒魔術「Makefile」入門 - Qiita

                                              はじめに dockerの研修をやってた時に、「うーん、docker-composeって毎回打つのめんどくさい。なにかいい方法ないかな~」で見つけたMakefileを紹介したいと思います。 Makefileとは? Makeというプログラムのビルド作業を自動化するツールのルールを記述したテキストファイルのことです。 魔導書(Makefile)の作成 Makefileという名前のファイルを作成して以下の内容を保存します。 .PHONY: setup up d b ps node setup: @make up @make ps d: docker compose down up: docker compose up -d ps: docker compose ps node: docker compose exec node bash makefileの中身ですが .PHONYを記載しないとコマ

                                                docker-composeを詠唱する黒魔術「Makefile」入門 - Qiita
                                              • Cosmopolitan Libc: build-anywhere run-anywhere C library

                                                Cosmopolitan Libc makes C a build-anywhere run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS on AMD64 and ARM64 with the best possible performance. Getting Started First, download the Cosmop

                                                • CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog

                                                  株式会社アンドパッドのアカウント基盤チームでテックリードをしているid:shiba_yu36です。 最近自分のサイドプロジェクトとして、生産性を向上するために、CI実行時間の短縮化を行っていました。その結果、とくに時間のかかっていたCircleCI上のRSpecによるテスト実行時間を、25min -> 12minに改善できました。そこで今回はどのような流れでCIの実行時間を改善していったかについて、具体的に書いてみたいと思います。実行時間改善の勘所について参考になれば幸いです。 改善の流れ: CircleCIでボトルネック調査し、大きいボトルネックを解消する 実行速度改善の前に: Flakyなテストを一斉に直す 速度改善1: bundle installのキャッシュがうまく効いていなかった問題を修正 -> 4minの短縮 速度改善2: developブランチ以外ではカバレッジを取らないよう

                                                    CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog
                                                  • MySQLで全文検索その1(Mroonga編) - 虎の穴開発室ブログ

                                                    こんにちは、お久しぶりです。虎の穴ラボのA.M.です。 前回の記事「全文検索エンジンについて調べてみた」から大分間が空いてしまいましたが、今回はとらのあなのサービスで使用頻度の高いMySQLで、実際に全文検索をやってみたいと思います。 MySQLで手軽に全文検索を実現するための手法としては、以下の2つが挙げられます。 MySQLのFULLTEXTインデックス:MySQLの標準機能。v5.7から日本語に対応。 Mroonga:GroongaベースのMySQLストレージエンジン。 ※FULLTEXTインデックスやMroonga、Groongaなどについて詳しくは前回の記事や、第3回ライトニングトークイベント記事をご参照ください。 toranoana-lab.hatenablog.com toranoana-lab.hatenablog.com 今回は、記事のタイトルにもあるように、Mroong

                                                      MySQLで全文検索その1(Mroonga編) - 虎の穴開発室ブログ
                                                    • 「Vanilla OS」を試す--セキュリティと使いやすさを両立させたLinux OS

                                                      Jack Wallen (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2023-01-16 07:30 筆者は考えられる限りのあらゆる「Linux」ディストリビューションを使用してきた。シンプルすぎるものから、見事なまでに複雑なものまで、さまざまなものを使った。OSに実装可能な仕掛けや小技はほぼすべて見てきたが、セキュリティと使いやすさを等しく高めた新しいLinuxがついに登場した。筆者のように、この2つを兼ね備えたLinuxを探していた人は、続きを読んでほしい。 「Vanilla OS」の初の公式リリースが、一般向けに先頃公開された。以前にこのLinuxディストリビューションをテストしたときは、大いに興味をそそられた。そのため、完成版のリリース準備が整ったと開発元が発表したとき、ぜひとも試したいと思ったことは分かってもらえるはずだ。 筆者はテスト体験を

                                                        「Vanilla OS」を試す--セキュリティと使いやすさを両立させたLinux OS
                                                      • pre-commitでこんな自動レビューをしています!手戻りが少なくて最高! - AppBrew Tech Blog

                                                        AppBrewでiOSエンジニアをしていますはるふ(@_ha1f)です。 2019/10にAppBrewに入社しまして、開発の傍らに、開発環境の改善などに取り組んでいます。 近年のiOS界隈を取り巻く「開発環境」といえば、Danger, mint, xcodegen, swiftlint等思い浮かべるかもしれませんが、 今回の記事ではそういうハイカラなツールではなく、iOSに限らず使えるpre-commitというGitの機能を紹介します。 pre-commitにより、コミットするブランチを間違えていないかや、コンフリクト未解消マーカーが含まれていないかなど、いろいろな制約を「ローカルでコミット前に」自動チェック出来ます。 Dangerなどを使っているとCIを待って修正して再度pushしないといけなかったり作業が煩わしいことがありますが、 ローカルなので手戻り少なく、レビューコストやミスを減

                                                          pre-commitでこんな自動レビューをしています!手戻りが少なくて最高! - AppBrew Tech Blog
                                                        • GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ

                                                          help.github.com この記事では、新しくなった GitHub Actions における、JavaScript アクション作成方法について解説します。 www.kaizenprogrammer.com GitHub Actions とはなんぞやという人は、先にこちらの過去記事をどうぞ。 目次 アクションについて アクションの保存場所 アクションのバージョニング 簡単な例 (Hello, World) メタデータ JavaScript アクションの使用する Node.js バージョン toolkit node_modules の管理 README.md 公式テンプレート 少し実践的な例 その他 GitHub 公式のアクション サードパーティーのアクション まとめ アクションについて 前回の記事で新しくなった GitHub Actions の使い方について簡単に解説しました。この記事

                                                            GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ
                                                          • Neural Audio Codec を用いた大規模配信文字起こしシステムの構築 - Mirrativ Tech Blog

                                                            こんにちは ハタ です。 最近Mirrativ上に構築した配信の文字起こしシステムを紹介したいなと思います 音声からの文字起こしは、各社SaaSでAPI提供されているものがあると思いますが、今回紹介するものはセルフホスト型(自前のGPUマシンを使う)になります 構築していく上で色々試行錯誤したのでそれが紹介できればなと思っています どんなものを作ったか 前提知識: 配信基盤 前提知識: Unix Domain Socket Live Recorder Archiver DS Filter VAD Filter NAC / Compress Transcriber NAC / Decompress Speach To Text コンテナイメージ まとめ We are hiring! どんなものを作ったか 今回作ったものは Mirrativで配信されるすべての音声を対象に文字起こしを行う シス

                                                              Neural Audio Codec を用いた大規模配信文字起こしシステムの構築 - Mirrativ Tech Blog
                                                            • Git管理 + CLI運用によるWindowsタスクスケジューラーの運用改善 - ZOZO TECH BLOG

                                                              こんにちは、WEAR部運用改善チームの三浦です。私たちのチームでは、WEARの日々の運用業務を安全かつ効率的に行えるよう改善を行っています。今回はバッチの定期実行に使用しているWindowsのタスクスケジューラーの運用改善について紹介します。 背景 WEARではバッチをWindowsサーバー上で定期実行させており、定期実行するために タスクスケジューラー を使用しています。WEARではバッチ実行用のサーバー(バッチサーバー)を用意しており、バッチサーバーへのアクセス権限を持つ人がタスクスケジューラーの設定を下記のような画面から変更していました。 しかしこの運用方法では次のような課題がありました。 バッチサーバーへのアクセス権限がある人しかタスクの設定を見ることができない タスクスケジューラー上ではタスクの変更履歴や変更した経緯が残らない GUI上での手動変更では操作ミスが起こる 引継ぎが手

                                                                Git管理 + CLI運用によるWindowsタスクスケジューラーの運用改善 - ZOZO TECH BLOG
                                                              • jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜

                                                                js実行環境であるnodeはV8を使っている jsエンジンはソースコードをどうやって実行しているのか ここからが本題です。jsエンジンの裏側をのぞいてみましょう👀 全体像 下記が基本的な流れ V8って書いてあるけど、下記の基本的な流れはエンジンによらずほとんど同じはず もちろんそれぞれのフェーズで実装の違いは在る。“Optimize & Compile it”の具体的な実装などはエンジンにより異なる Benedikt Meurer; “An Introduction to Speculative Optimization in V8”; jsの面白いところは、ASTから直接コンパイルして実行されるわけでもなく、単純なインタプリタのようにコンパイルを挟まずに実行しているわけでもないところ。それに、なんだか見慣れない”Get feedback”というフェーズさえある……!ここがJIT com

                                                                  jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜
                                                                • ECSタスクのコンテナ異常終了を検知する3つの方法 | DevelopersIO

                                                                  以降、それぞれの検知方法を紹介していきます。 検知方法①:サービスのランニングタスク数をメトリクスから検知 一番代表的な方法です。ECSコンテナエージェントは、タスク内のコンテナの状態をモニタリングしています。構成①と②においては、essential=trueのコンテナのみ含まれているので、コンテナの停止は即ECSタスクの停止となります。 あとは、ECSサービスにおけるDesiredTask Count(期待するタスク数)をしきい値としたランニングタスク数のCloudWatchメトリクスを用意しておき、しきい値を下回った時=タスクが異常終了したときにアラームを発火します。 一点、CloudWatch Alarmはある一定期間のメトリクスの状態からアラームを検知するものなので、検知までいくらかのタイムラグが有ることは注意しておきましょう。 基本的にECSのサービス運用においては、そのDesi

                                                                    ECSタスクのコンテナ異常終了を検知する3つの方法 | DevelopersIO
                                                                  • Low-level Container Runtime:Runc Internals - 鳩小屋

                                                                    参考 おさらい runc architecture file main.go and command process runc create setupSpec startContainer linuxContainer LinuxFactory createContainer CreateLibcontainerConfig loadFactory factory.Create runner.run newProcess linuxContainer.Start newParentProcess parentProcess.start() runc init nsenter nsexec runc init(After nsexec) linuxStandardInit.Init runc start 低レベルコンテナランタイムruncの内部処理のまとめです。 参考 2021/05現在:

                                                                      Low-level Container Runtime:Runc Internals - 鳩小屋
                                                                    • How to Set Up a Python Project For Automation and Collaboration

                                                                      How to Set Up a Python Project For Automation and Collaboration [ engineering production python productivity 🔥 ] · 20 min read As your Python project gets larger in scope, it can become difficult to manage. How can we automate checks (e.g., unit testing, type-checking, linting)? How can we minimise collaboration overhead (e.g., code reviews, consistency)? How can we maximise developer experience

                                                                        How to Set Up a Python Project For Automation and Collaboration
                                                                      • go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ

                                                                        2022年8月、Go 1.18対応版にアップデートしました 久しぶりのGoネタです。Go 5 Advent Calendar 2020の18日目が空いていたので書きました。 Goで実装されたコマンドでは、ビルドした時点のバージョンを埋め込むため以下のようなMakefileを用意することがあると思います。 .PHONY: build build: go build -ldflags '-X main.Version=$(VERSION)' しかしこの方法では、go installなどMakefileを経由せずビルドしたバイナリには適切なバージョンが埋め込まれない問題があります。個人的な意見では、可能な限りgo getでインストールできる状態を維持した方が良いと思っていますが、バージョンを埋め込むためには他に方法がないので仕方がないと理解していました。しかしGo 1.19現在、runtime/

                                                                          go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ
                                                                        • Everything you need to know from ES2016 to ES2019

                                                                          JavaScript is a language in constant evolution and in the past few years many new features have been added to the ECMAScript specification. This article is an extract of my book Complete Guide to Modern JavaScript and it covers the new additions of ES2016, ES2017, ES2018, ES2019. At the end of the article you will find a link to download a cheatsheet that summarizes everything. Everything new in E

                                                                            Everything you need to know from ES2016 to ES2019
                                                                          • Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ

                                                                            はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時はスピードを優先してプロジェクトメンバーの手に馴染んでいて分担もしやすいフレームワークとしてFlaskを採用しました。 一方で、JX通信社としてはFlaskよりもFastAPIを使うプロジェクトが増えてきており、今後もその傾向は続く見込みです。 そこで、特設ページ作成やAPI提供など初動としての開発が一段落したのを機に、JAWS DAYSで発表した仕組みを今後のために発展させる検証をしたので紹介します。 TL; DR; JAWSでは Serverless Framework+awsgi+Flaskな構成でスピーディに

                                                                              Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ
                                                                            • 150万レコードを持つ画像テーブルの移行 - spacelyのブログ

                                                                              株式会社スペースリー Railsエンジニアの大津です。 弊社サービスでは物件画像データの管理機能を提供しており、サーバーサイドのフレームワークにはRuby on Railsを、データベース管理にはMySQLを採用しております。これまで物件画像は用途ごとにテーブルを分けて管理していましたが、 アップロードした後に用途を変更できないため画像テーブルを1つに統合しました。 今回は統合する際に実施した旧テーブルから新テーブルへのレコード移行の手順をご紹介します。 統合前後の画像テーブルの構成 まず、統合前の物件画像の管理方法について説明します。 統合前は物件画像テーブルは部屋の写真を管理する内観画像テーブルと建物の写真を管理する外観画像テーブルの2つに分かれていました。 画像ファイルは各テーブルのimageカラムに格納され、Rails GemのCarrierWaveによりAWS S3バケットにアッ

                                                                                150万レコードを持つ画像テーブルの移行 - spacelyのブログ
                                                                              • Ansible の SSH の通信をデバッグする - 赤帽エンジニアブログ

                                                                                レッドハットの杉村です。Ansible のテクニカルサポートをしています。 今回は以前のお問い合わせいただいた事例から、SSH (Secure Shell Protocol) について一つ紹介しようと思います。Ansible は Linux サーバを制御対象とするときは SSH で接続して処理を実行しますので、SSH の通信についてのトラブルは問題に直結します。 RHEL 8.6 + Ansible Core 2.13 で確認しています。 Ansible の基本的な動作原理 まずは Ansible はどうやって動いているのかというのを軽く振り返ってみます。 Ansible が動作するサーバをコントロールノード、制御対象をマネージドノードと呼びます。流れを大まかに説明しますと、この図のようになります。 ① YAMLで書かれたプレイブックからタスクごとに小さなプログラムを生成する ② ①で生成

                                                                                  Ansible の SSH の通信をデバッグする - 赤帽エンジニアブログ
                                                                                • 自分のAWS環境について何でも教えてくれるエージェントが作れそう(Agents for Amazon Bedrock + Knowledge bases for Amazon Bedrock) - Qiita

                                                                                  ただし、LangChainが動作しているホストマシンの環境でPythonスクリプトを実行するので、誤って大事なファイルを消したりする危険性があります。 これをLambdaで動作させようと考えました。 Python REPLのLambda化 Python REPLの実装はとてもシンプルです。90行しかありません。 参考:GitHubのソースコード Lambdaへ移植する際に気をつけたのは2点です。 動作に不必要なLangChainの依存を削除する multiprocessing.QueueはLambdaで動作しないため、multiprocessing.Pipeに置き換える(参考) 出来上がったのが以下の3つの関数です。クラスですらなくしてしまいました。 import logging from multiprocessing import Process, Pipe import re imp

                                                                                    自分のAWS環境について何でも教えてくれるエージェントが作れそう(Agents for Amazon Bedrock + Knowledge bases for Amazon Bedrock) - Qiita