並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 106件

新着順 人気順

grep 除外の検索結果1 - 40 件 / 106件

  • なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記

    会社の中でシェルスクリプトについての話をすることにしたので、このエントリはそのためのものです。 個人的な好みとかもいろいろ入ってしまっているので、そのあたりは取捨選択してください。 なぜ今シェルスクリプトを学ぶのか 公開されているSRE本をマルっとPDF化する SpotBugsのViolationレポートをMerge Requestのコメント投稿する ぼくの互換性についての考え方 何で書くか シェルスクリプトをうまく書くには ShellCheckを使う バッドパターンとその修正 line-by-lineの処理が多い lsを使う ls /directory | grep mystring ls | grep -v 'log$' lsの結果をループさせる 良いシェルスクリプトを書くためのTIPS set -euする 文字列は基本的にクオートする 局所変数にはlocalを使う 定数は読み取り専用

      なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記
    • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

      個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後本当に自分が必要なやつだけ sparse-

        git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
      • XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog

        2024年3月29日、Linux向け圧縮ユーティリティとして広く利用されているXZ Utilsに深刻な脆弱性 CVE-2024-3094 が確認されたとして、研究者やベンダがセキュリティ情報を公開しました。この脆弱性は特定の条件下においてバックドアとして悪用される恐れがあるものとみられており、当該ソフトウエアのメンテナのアカウントにより実装されたソフトウエアサプライチェーン攻撃の可能性が指摘されています。ここでは関連する情報をまとめます。 脆弱性の概要 xzとは主要なLinuxディストリビューションに含まれる汎用的なデータ圧縮形式で、今回問題が確認されたのはその圧縮・解凍ユーティリティであるliblzma(API)を含むXZ Utils。CVE-2024-3094が採番されており、Red Hatによって評価されたCVSS基本値はフルスコアの10。影響を受けたライブラリをリンクしているssh

          XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog
        • WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ - Qiita

          (2021.1.26 追記) 本稿の続きを書きました。 時系列で見る:WordPressを運用中のサーバが丸ごとPHPマルウェアに感染する流れ https://qiita.com/Ayutanalects/items/e7919afadc7d8394820f 制作会社から「自社で管理中のサイトがおかしい」との連絡を受けて、 中をのぞいたら、PHP製の複数種類のマルウェアに感染していたので対応をメモ。 以下の内容は、あくまでも自分の対応時のものです。 攻撃者がスクリプトを変更すれば同じ方法では検出できなくなるのでご注意ください。 初期状態 症状 自社管理中のWordPressサイトにアクセスすると、全く知らないサイトにリダイレクトされる 今回は allc〇〇ling.shop というEC風サイト。Kasperskyを使っていると、「警察機関指定の危険サイト」の警告あり https://sup

            WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ - Qiita
          • 【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい

            CTF Advent Calendar 2019 - Adventarの25日目の記事です。 1つ前は@ptr-yudai氏の2019年のpwn問を全部解くチャレンジ【後半戦】 - CTFするぞでした。 はじめに 対象イベント 問題数 読み方、使い方 Cross-Site Scripting(XSS) SVGファイルを利用したCSPバイパス GoogleドメインのJSONPを利用したCSPバイパス サブリソース完全性(SRI)機能を利用した入力チェックバイパス Chrome拡張機能のパスワードマネージャーKeePassの悪用 HTML likeコメントを使用したコメントアウト jQuery.getJSONのJSONP機能を使用したスクリプト実行 DOM Clobberingによるコードハイジャック Service Workerを利用したスクリプト実行 XSS Auditor機能のバイパス

              【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい
            • Mozcdic-UT (Mozc-UT)が終わった話と、代替品を開発してる話 - Chienomi

              序 2023-01-12にLinux界隈に激震が走ったらしい。 Linux環境(Unix環境を含む)の日本語入力を支えていた、Mozcdic-UTプロジェクトが終了したからだ。 まず、前提として私の立場を明確にしよう。 私は2017年から、従来のMozc-UTに代わる新しい(ライセンス上の懸念のない)Mozc辞書として誕生したMozc-NEologd-UTのFcitxバインディング、fcitx-mozc-neologd-utのAURパッケージをメンテナンスしてきた。 その後新生Mozc-UTが誕生してからはfcitx-mozc-ut-unifiedとfcitx-mozc-ut-unified-fullというふたつのパッケージを加え、計3つパッケージをメンテナンスしてきた。 その後、mozcdic-ut自体がfcitx4をサポートしなくなったこと、fcitx5は既にメンテナーがいたことから私

              • Pythonでの開発・CI/CDの私的ベストプラクティス2022

                はじめに 2021年、Pythonで複数の暗号系ライブラリを開発してPyPIで公開してきました。その過程で、setuptools、flit、poetryと、幾つかのパッケージ管理をわたり歩き、GitHub上でのCI/CDも色々試す中で私的なべスプラが定まってきたので、2022年初に備忘録としてまとめておきます。 具体的には、pyenv、poetry、pre-commit、tox、GitHub Actions を活用し、低コストで(=なるべく自動で)、高品質のプロダクトをPyPIにデプロイする方法・設定を共有します。個別のツールの記事はよく目にするのですが、開発ライフサイクル全体をカバーする記事がなかなか無かったので。 開発環境の整備 - pyenvで複数のPythonバージョンでの開発環境を整備 パッケージ管理 - poetry/pyproject.tomlでの一元的なパッケージ管理 静的

                  Pythonでの開発・CI/CDの私的ベストプラクティス2022
                • Latest topics > GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた - outsider reflex

                  Latest topics > GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « ポジショントークに騙されないようにしたいし、狭い視野でポジショントークじみた極論を言うよりも、メリットとデメリット両方を把握した上でソフトランディングを図っていきたい Main Chromiumのコミットメッセージの「よりinclusiveにする」とはどういう意味か、GitHubがしている事の何がキナ臭いのか » GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた - Jun 12, 2020 Gitのデフォルトブランチ名

                  • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                    技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                      プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                    • AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!

                      はじめに 先日、僕が担当する業務でECS/Fargate利用を前提にDevSecOpsアーキテクチャをデザインし、社内のAWS勉強会にて登壇する機会をいただきました。 本ブログでも内容をかいつまんでご紹介できればと思います。 AWSによらず、コンテナを利用されている方にとって、一つのプラクティス例としてご参考になれば幸いです。 ※コンテナ自体の説明や必要性に関する内容は省略していますm(_ _)m そもそもDevOpsとは? DevSecOpsの導入意義をお伝えするた前に、まず軽くDevOpsの意義をお伝えします。 ※とは言え、この記事をご訪問されている方にとっては「何をいまさら...」な内容かもしれませんし、ググればDevOps自体の情報はたくさん見つかりますので、重要なポイントのみ述べることにします。 DevOpsとは、一言で述べれば、開発チームと運用チームが協力してビジネス価値を高め

                        AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!
                      • 「1から100の偶数の和を求めるワンライナー」まとめ - Qiita

                        2019年8月11日頃にTwitterで「1から100の偶数の和を求める方法」(ワンライナー)が話題になったので 各言語ごとにまとめてみました。 私の独断と偏見ですが 「2550を直接出力するもの」「公式を使って総和を計算するもの」は 除外しています。 あくまでそれぞれのプログラミング言語の特色が現れるものをまとめたいと考えています。 以前あったズンドコきよしのまとめみたいなノリです。 https://qiita.com/shunsugai@github/items/971a15461de29563bf90 編集リクエスト歓迎です。 新しいワンライナーはコメント欄ではなく編集リクエストにて追加していただけると助かります! --- 8/15 11:30 コメント欄を取り込み&新たにツイートを拾いました。 --- 発端のツイート まにゃです。 いきなり問題! ここまでのツイートを手がかりに P

                          「1から100の偶数の和を求めるワンライナー」まとめ - Qiita
                        • 動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG

                          こんにちは!株式会社VOYAGE MARKETINGで働くエンジニアの yopidax です。 約20年ほど続くサービス、ECナビの技術的負債の返済に取り組んでいます。 ecnavi.jp 今回は直近で、レガシーコードを大量に削除したので、そのアプローチをご紹介したいと思います。 目次 目次 解析の対象と抱える課題 アプローチ 実行されるファイルを洗い出す ログを出力するモジュール 実行 ログのサンプル いざ、大量削除 Perlファイルをgrepする リリース単位を細かくする 結果 工数 実績 まとめ 合わせて読みたい 解析の対象と抱える課題 ECナビを長年支える、Perlで書かれたバッチが対象です。コードはGitLabのリポジトリで管理されていて、規模をまとめるとこんな感じです。 ファイルの数 バッチ関連全体 : 3,315 うち、Perlファイル(.pm, .pl) : 1,111 P

                            動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG
                          • Rust製コマンドでTerminal操作を快適にしよう! | DevelopersIO

                            はじめに CX事業本部のshuntakaです。 Terminalで作業をする人に馴染みの深いlsやfindといったOSコマンドの改善や拡張を目的としたRust製CLIが多く公開されています。 本記事は、自分がTerminal操作で利用しているRust製CLIとその利用例を紹介したいと思います。 Rust製ですが、紹介するツールは基本brewでインストール可能なので、気軽に試せます。 お盆が終わる前に入れておくと、お盆開けから一味違う自分になれます。 コマンド紹介 exa 該当するOSコマンド ls, tree 特徴 出力の色付けに加え、Gitのステータス表示もしてくれます(後述) 利用例1 lsを使う局面 exa -ahl --git aliasに登録しています alias ls='exa' alias ll='exa -ahl --git' 動作イメージ Gitのステータス上差分があるフ

                              Rust製コマンドでTerminal操作を快適にしよう! | DevelopersIO
                            • 第743回 Ubuntuの標準ブートローダーであるGRUBを改めて見直す | gihyo.jp

                              Ubuntuは、標準のブートローダーとしてGRUBを採用しています。ほとんどの利用者は、インストール時に自動設定されるGRUBをそのまま利用し続けていることでしょう。今回は初心者向けに、このGRUBがどう動いているのか、そしてどのように設定可能なのかを紹介します。 図1 Ubuntuインストール時の無骨なGRUB セキュアブート時代のGRUB GNU GRUB(GRand Unified Bootloader)は、言わずとしれたLinuxをはじめとする各種OSを起動するための「ブートローダー」です。一般的なコンピューターは電源が入ると、CPUを含む最低限のデバイスのリセットが解除され、ROM上にある小さなプログラムが実行されることによりRAM上に大きなプログラムがロードされ、さらにいくつかのデバイスのリセットが解除されて最終的に必要なプログラムが実行されるという、「⁠ブートストラップ」な方

                                第743回 Ubuntuの標準ブートローダーであるGRUBを改めて見直す | gihyo.jp
                              • Gitリポジトリ内をgrepする git grep はシンプルで超便利 | DevelopersIO

                                Gitリポジトリ内を検索する機会はよくあると思います。git grepコマンドを使えば、git管理下のファイルのみを対象としてgrepができます。シンプルなコマンドですが、利便性はとても高いと思います。 「このメソッドって、どこで使われてるんだっけ?」 「その定数の定義って、値は何だっけ? どこにあるんだっけ?」 「あのURLって、何箇所で使われているんだろう?」 Gitリポジトリ内を検索する機会はよくあると思います。 このメソッドって、どこで使われてるんだっけ? その定数の定義って、値は何だっけ? どこにあるんだっけ? あのURLって、何箇所で使われているんだろう? git grepコマンドを使えば、Git管理下のファイルのみを対象としてgrepができます。 シンプルなコマンドですが、利便性はとても高いと思います。 なお、grep対象はカレントブランチのみです。 目次 シンプルな例 特定

                                  Gitリポジトリ内をgrepする git grep はシンプルで超便利 | DevelopersIO
                                • キーボードから手を離さずにVS Codeで開発したいという気持ちを大切にしています

                                  みんな~。今日も元気にVS Code使っとるかな?ワシは使っとるよ。 VS Codeはショートカットキー(ホットキー)を駆使するとイイ感じにカッコいいアレが感じるの気がしてるです。 だから教えてやるよ。無料でな! 俺が良く使うものだけ紹介するから、俺の知らない便利機能は出てこない。「これ便利あるよ」ってのがあったら教えていただきたい。 あと、伴ってWindowsやChromeの操作のはなしもする。キーボードから手を離さずに作業しよう。 ◆エディタ自体の操作 ▼Alt 分かってると思うけど、ツールバーにアクセスできる。単純かつ強力だけど意外と忘れがち。 ツールバーにフォーカス当たってる状態で例えば「T」って押すと「ターミナル」カーソル当たるんで、そっから↓キーでメニュー開いたりすりゃいい。 ▼Ctrl + P ほんとこれ。キーボードから手を放す時間を極力減らしたい人はこれ。 Ctrl + P

                                    キーボードから手を離さずにVS Codeで開発したいという気持ちを大切にしています
                                  • 松本の地でSass/SCSSの邪悪なアンパサンドを撲滅するために立ち上がった - メドピア開発者ブログ

                                    メドピアCTO室フロントエンドエンジニアの小宮山です、よろしくおねがいします。 趣味はボルダリングとヨガとピラティスです、よろしくおねがいします。 6月某日、長野県松本市の地にて開催されたメドピア開発合宿で取り組んだことについて紹介していきたいと思います。 アンパサンドへのウラミツラミ タイトルにも挙げたとおり、今回立ち向かったのはSass/SCSSのアンパサンド(&)です。 メドピアのリポジトリはほぼSCSSで統一されているので、この記事ではSCSSの記法ベースでコード例を載せていきます。 アンパサンド記法は、BEMライクなセレクタを書くときによく利用されるのではと思います。 例えばこのようなものです。 .header { &__foo { color: green; } &--bar { color: blue; } } アンパサンドを使い、冗長な記述を限りなく減らしたスマートな書き方

                                      松本の地でSass/SCSSの邪悪なアンパサンドを撲滅するために立ち上がった - メドピア開発者ブログ
                                    • ZOZO TECH BLOGを支える技術 #2 執筆をサポートするCI/CD - ZOZO TECH BLOG

                                      はじめに こんにちは、CTO/DevRelブロックの堀江(@Horie1024)です。本記事はZOZO DevRelチームによる連載「ZOZO TECH BLOGを支える技術」の2本目の記事です。 前回の記事ではZOZO TECH BLOGの概要とその運用について紹介しました。今回の記事ではTECH BLOGの運用プロセスのうち記事の執筆に焦点を当て、執筆とそのレビュー体制を支えるCI/CDフローの整備について紹介します。 目次 はじめに 目次 ZOZO TECH BLOGでのCI/CDの活用 記事の静的解析と文章校正 記事のプレビュー環境へのデプロイ CI/CDフローの構築 CI/CDフローの概要 文章校正 プレビュー環境へのデプロイ フォーマット・画像のアップロード プレビューへの記事の反映 公開済みの記事一覧を取得 記事の新規投稿または更新 事例紹介 文章校正 textlint-di

                                        ZOZO TECH BLOGを支える技術 #2 執筆をサポートするCI/CD - ZOZO TECH BLOG
                                      • 第814回 1500円以下で買えるRaspberry Pi PicoサイズのRISC-VボードなMilk-V DuoでUbuntuを動かす | gihyo.jp

                                        Ubuntu Weekly Recipe 第814回1500円以下で買えるRaspberry Pi PicoサイズのRISC-VボードなMilk-V DuoでUbuntuを動かす Ubuntu 24.04 LTSではRISC-Vボードのひとつである「Milk-V Mars」をサポートしました。これは中国のRISC-V製品のベンダーであるMilk-Vが作っているRaspberry Piライクなシングルボードコンピューターです[1]。ただしこのMarsはなかなか入手できない状況が続いています。Milk-Vでは他にも64コア搭載されたPCライクなPioneer、10GbEのネットワークスイッチとして使えるVegaなどもリリースしています。今回はRaspberry Pi Picoサイズの小さなボードで、比較的安価で入手性が高いMilk-V Duoシリーズに、Ubuntuをインストールしてみましょう

                                          第814回 1500円以下で買えるRaspberry Pi PicoサイズのRISC-VボードなMilk-V DuoでUbuntuを動かす | gihyo.jp
                                        • 第801回 続・USBメモリ型SSD選手権!長時間の書き込みにも強いデバイスはどれだ | gihyo.jp

                                          第三種目 限界突破8GB走(書き込み部門) 第一種目の8GB走(シーケンシャル書き込み部門)では、NVMe SSDとUSBメモリ型SSDの間であまり差がつかず、360MB/sあたりに限界があるように見受けられました(図2、図3⁠)⁠。 図2 USBメモリ型SSDは、従来型USBメモリ(茶色の線)に比べて8GBの書き込みに必要な時間(横軸)が格段に短かかった 図3 しかし、NVMe SSDとUSBメモリ型SSDの間では最高速度(縦軸)の面であまり差はつかず、360MB/s付近に天井があるように見受けられた そこで第三種目では限界の突破を試みます。速度の壁はSSD自体の性能に起因するものではなく、テストに使用していたUSBポートが5Gbpsまでにしか対応していないことが原因と考えられます。 特にノートPCにおいては、USB Type-CポートとType-Aポートの両方が搭載されている場合に、T

                                            第801回 続・USBメモリ型SSD選手権!長時間の書き込みにも強いデバイスはどれだ | gihyo.jp
                                          • ripgrep は {grep, ag, git grep, ucg, pt, sift} より速い (翻訳) - inzkyk.xyz

                                            これは Andrew Gallant 著 ripgrep is faster than {grep, ag, git grep, ucg, pt, sift} の翻訳です。英語版は UNLICENSE と MIT ライセンスのデュアルライセンスで公開されています。 この翻訳は UNLICENSE の許諾に基づいて公開されます。 この記事では新しいコマンドライン検索ツール ripgrep を紹介する。ripgrep は The Silver Searcher (ack クローン) の利便性と GNU grep の高い性能を併せ持つ。ripgrep は高速で、クロスプラットフォーム (Linux, Mac, Windows 用のバイナリが利用可能) で、Rust を使って書かれている。 ripgrep は Github で公開されている。 この記事では不可能なことを試みる: いくつかの有名なコ

                                              ripgrep は {grep, ag, git grep, ucg, pt, sift} より速い (翻訳) - inzkyk.xyz
                                            • SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog

                                              ミラティブでiOS開発をしている福山(@fokotate)です。 今回はSwiftFormatをMirrativのiOSプロジェクト(約1500のSwiftファイル)へ導入したときのことを話します。 導入にあたって 私は当初、SwiftFormatについてよく知らなかったため導入にはあまり乗り気ではありませんでした。 しかし調べてみると、実行タイミングによってはチームにとってほぼストレスなくソースコードを綺麗に保てることがわかってきました。 コミット実行時にSwiftFormatがコードを変更してコミットを中断、その変更を取り入れて再度コミットするといった一手間だけです。 導入したい気持ちが高まってきたものの、いきなり新しいツールを持ち込むのはチームから反発も受けそうだったので、Slack上で様子をみたり、ドラフトPRを書いたり、勉強会を開いて徐々に受け入れられる状況を作りました (実際は

                                                SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog
                                              • 第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp

                                                数多くあるUnixコマンドの中でも、もっとも利用頻度の高いもののひとつがgrepではないでしょうか。設定ファイルやログから該当する箇所を調べたり、ソースコードを検索したり、あるいはパイプラインのフィルタとして利用したりと、あらゆる場面で活躍する超基本ツールです。 とはいえgrepは機能がシンプル過ぎるため、もう少し空気を読んだ、賢い検索をしてくれる代替ツールもまた数多く存在します。たとえば本連載287回ではThe Silver Searcher(ag)を紹介しました。 とはいえこれはもう6年も前の記事です。ag以降も、いろいろな検索ツールが登場しています。そこで今回はさらに高速な検索ツールである、ripgrepを紹介します。 ripgrepとは ripgrepとは、公式サイトによると「ripgrep recursively searches directories for a regex

                                                  第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp
                                                • フロントエンドのLinterやCIを改善した話

                                                  この記事は 株式会社エス・エム・エス Advent Calendar 2023 の21日目の記事です。 介護事業者向けの経営支援サービス「カイポケ」のリニューアルプロジェクトでフロントエンド開発をしている @hush_in です。 今年の4月にエス・エム・エスに入社しました。 入社してからフロントエンドのLinterやCIを改善した話をします。 忙しい人向けまとめ ESLint の recommended 系 extends を追加 全般 eslint:recommended plugin:import/recommended TypeScript plugin:@typescript-eslint/recommended-type-checked plugin:@typescript-eslint/stylistic-type-checked plugin:import/typescri

                                                    フロントエンドのLinterやCIを改善した話
                                                  • dotfilesのこだわりを晒す - エムスリーテックブログ

                                                    Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、本記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 本記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス

                                                      dotfilesのこだわりを晒す - エムスリーテックブログ
                                                    • TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く

                                                      TL;DR: JavaScriptで使われるネイティブパーサーは、言語間の余分な作業のために常に速いとは限りません。これらのオーバーヘッドを回避し、マルチコアを使うことが性能にとって重要です。 Rustは、そのパフォーマンスと安全性の特徴から、JavaScriptエコシステムの中で急速に選択肢の一つになっています。しかし、RustをJavaScriptツールに統合することは、特に効率的で移植性の高いプラグインシステムを設計する際に、固有の課題をもたらします。 「JavaScriptツールをRustで書き直すことは、広範な外部貢献を必要としない速度重視のプロジェクトにとって有利です。」 ESLintの作者であるNicholas C. Zakas Rustは、その急な学習曲線のために難しいものになりがちで、さらにコンパイルされたバイナリを異なるプラットフォームに配布することも簡単ではありません

                                                        TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く
                                                      • 第641回 LXDとmicrok8sでシングルサーバーをKubernetesクラスターにする | gihyo.jp

                                                        第560回の「microk8sでお手軽Kubernetes環境構築」では、「⁠シングルノードのみに対応したKubernetes環境構築ツール」としてmicrok8sを紹介しました。その後、このmicrok8sは大幅な進化を遂げて「特定のプロダクション用途でも使える」までになっています。今回はそのmicrok8sに最近追加された、高可用性クラスター機能について紹介しましょう。 密に開発されクラスターにも対応したmicrok8s 第560回の記事が公開されたのはmicrok8sのv1.13がリリースされ、Canonicalとしてもmicrok8sの利用をアピールしだした時期でした。当時はシングルノードにしか対応していないことに加えて、ARM64のサポートを拡充していったことからもわかるように、開発者によるKubernetesの学習用や組み込み用のシンプルなアプリケーションの実行用を主なユースケ

                                                          第641回 LXDとmicrok8sでシングルサーバーをKubernetesクラスターにする | gihyo.jp
                                                        • Ruby 3.2のParser目玉機能 - かねこにっき

                                                          今年の後半は久しぶりにRubyに機能を追加したりしており、Ruby 3.2に3つの機能(もしくは変更)をいれたので紹介したい。 Ruby 3.2リリースまであと一ヶ月くらいあるので、現時点でBugなどをみつけたら教えてほしい。 1. RubyVM::AbstractSyntaxTreeにkeep_tokensオプションを追加した 名前の通りtokenの情報を保持するようにし、あとでNodeからtokenを取得できるようにするためのオプション。 RubyVM::AbstractSyntaxTreeの.parse, .parse_file, .ofの3メソッドで使うことができる。 とりだすときはRubyVM::AbstractSyntaxTree::Nodeの#tokensもしくは#all_tokensでtokenを取得できる。 root = RubyVM::AbstractSyntaxTre

                                                            Ruby 3.2のParser目玉機能 - かねこにっき
                                                          • Bottlerocket、1 年間のあゆみ | Amazon Web Services

                                                            Amazon Web Services ブログ Bottlerocket、1 年間のあゆみ この記事は Bottlerocket, A Year in the Life を翻訳したものです。 先日、Amazon Elastic Kubernetes Service (Amazon EKS) がマネージド型ノードグループでの Bottlerocket のサポートを開始したことを受け、この機会に Bottlerocket とその機能について改めてお話したいと思います。私は以前、商用の UNIX OS に携わる多くのエンジニアの一人でした。その数年前、Linux が有力な選択肢として確立され、その後の市場においてかなりの部分を占めるようになりました。お客様が徐々に Linux に移行していく中、「OS はまだ重要ですか?」という質問を聞くようになりました。私たちの答えはいつも「Yes」でした。私

                                                              Bottlerocket、1 年間のあゆみ | Amazon Web Services
                                                            • 第63回ビッグハンドタウンシェル芸勉強会の問題と解説 - NTT Communications Engineers' Blog

                                                              はじめに シェル芸勉強会について 問題と解説 Q1(@butackle66さんから) 解答例1 解答例2 Q2(@butackle66さんから) 解答例1 解答例2 Q3 解答例1 解答例2 Q4 解答例1 解答例2 Q5 解答例 Q6 解答例 LT LT1 curlでTelegram botを操作 (やべえ @yabeenico) LT2 音声合成してみよう (たいちょー @xztaityozx_001) おわりに はじめに こんにちは。デジタル改革推進部データドリブンマネジメント推進部門の江川尋喜 (Hiroki Egawa / @yabeenico) です。 第63回ビッグハンドタウンシェル芸勉強会が2023年02月25日に開催されました。 今回は NTT Com のオフィスビル、大手町プレイスを会場提供させていただきました。 このブログエントリでは、勉強会で出題された問題の解答と解

                                                                第63回ビッグハンドタウンシェル芸勉強会の問題と解説 - NTT Communications Engineers' Blog
                                                              • はじめての自然言語処理 T5 によるテキスト生成の検証 | オブジェクトの広場

                                                                前回はテキストマイニングの手法と OSS を用いた実践について紹介しました。今回は、Google の T5(Text-to-Text Transfer Transformer) によるテキスト生成について、学習や推論のコード例と実験結果を交えてご紹介します。 1. はじめに 本記事では Google の T5(Text-to-Text Transfer Transformer) 1によるテキスト生成について、学習や推論のコード例と実験結果を交えてご紹介します。実験としては livedoor ニュースコーパス2での文章分類、やさしい日本語コーパス3及びやさしい日本語拡張コーパス4を用いたやさしい日本語変換を行いました。今回も Google Colaboratory で動かすことを想定したコードスニペットを入れていきますので、実際に動かしたり対象を変えてみたりして試して頂けると良いかと思います

                                                                  はじめての自然言語処理 T5 によるテキスト生成の検証 | オブジェクトの広場
                                                                • 第597回 UbuntuのルートファイルシステムをZFSにしてみる | gihyo.jp

                                                                  Ubuntu 19.10ではデスクトップのインストール時にファイルシステムとしてZFSを選択できる機能が実験的に導入されました。そこで今回はそのZFSを実際に使ってみましょう。 なぜZFSをデスクトップに? Ubuntu Weekly Topicsの2019年8月9日号でも紹介しているように、Ubuntu 19.10からインストール時に「デスクトップ」のルートファイルシステムとして、ZFS on LinuxのZFSを選択できるようになりました[1]⁠。これはあくまで実験的な機能であり、ZFS特有の機能がすぐに活用できる状態になるわけでもありませんし、環境や使い方によっては不安定になる可能性もあります。将来の可能性に向けたお試し機能であることを十分に理解しておいてください。 ZFSそのものはUbuntu 15.10の頃から利用可能でした。その後、19.10に向けて次の対応が行われます。 GR

                                                                    第597回 UbuntuのルートファイルシステムをZFSにしてみる | gihyo.jp
                                                                  • Kubernetesを止めてもワークロードは止まらない? | IIJ Engineers Blog

                                                                    社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 もう2年前のエントリになりますが、IIJがKubernetesの活用を始めたきっかけを紹介したのがこの記事でした。 ようこそ、Kubernetes沼へ。商用サービスSREの現場から このとき、「不安を感じることなく、確実にシステムをアップデートする手段をKubernetesがもたらしくてくれるものと期待して使い始めた」と書きました。今振り返ってみると、その効果は期待を上回るものでしたが、いい意味で予想と大きく異なっていたことが一つありました。それは、言い方が難しいのですが、Kubernetesが思った以上にコンフィグレ

                                                                      Kubernetesを止めてもワークロードは止まらない? | IIJ Engineers Blog
                                                                    • Mozcdic-UT (Mozc-UT)が終わった話と、代替品を開発してる話 - Chienomi

                                                                      序 2023-01-12にLinux界隈に激震が走ったらしい。 Linux環境(Unix環境を含む)の日本語入力を支えていた、Mozcdic-UTプロジェクトが終了したからだ。 まず、前提として私の立場を明確にしよう。 私は2017年から、従来のMozc-UTに代わる新しい(ライセンス上の懸念のない)Mozc辞書として誕生したMozc-NEologd-UTのFcitxバインディング、fcitx-mozc-neologd-utのAURパッケージをメンテナンスしてきた。 その後新生Mozc-UTが誕生してからはfcitx-mozc-ut-unifiedとfcitx-mozc-ut-unified-fullというふたつのパッケージを加え、計3つパッケージをメンテナンスしてきた。 その後、mozcdic-ut自体がfcitx4をサポートしなくなったこと、fcitx5は既にメンテナーがいたことから私

                                                                      • Raspberrypi zero WとABEJA Platformを活用した侵入者通知アプリを作る - Y's note

                                                                        やりたいこと 家庭で簡単に防犯カメラを作りたいと思い、下記のアイテムを利用して作ってみました。 僕の家はマンションの1階にあり、5〜6畳分の庭が付いています。庭内には植物・野菜を栽培したり洗濯物を干しているので、1階に住む住人としては不審者が入ってこないかどうかが気になったりします。そこで、Raspberrypi zero W, camera module, ABEJA Platform, LINE Messaging APIを用いて、不審者が庭内で検出された場合にLINEに通知が来る仕組みを作りたいと思います。LINEに通知するのは極力リアルタイムで検知したいというのと、写真で証拠を記録し通報に利用できるというメリットがあります。家庭のセキュリティサービスを展開しているものもありますが、初期工事費用や月額でそれなりにするので、もっと簡易な防災通知ができたらと思って試してみました。今回のR

                                                                          Raspberrypi zero WとABEJA Platformを活用した侵入者通知アプリを作る - Y's note
                                                                        • The SYZBOT CTF

                                                                          目次 第0章 概要 0.1 syzbot とは? 0.2 主な登場人物紹介? 0.3 自己紹介:熊猫の Linux との関わりについて 0.4 今日のお話「バグハンティング」 第1章 Linux カーネルについて 1.1 Linux カーネルの規模について 1.2 Linux カーネルの制約事項について 1.3 Linux カーネルのデバッグ支援機能について 第2章 カーネルメッセージを読めるようにするための試行錯誤について 2.1 printk() に求められているものとは? 2.2 複数行分のメッセージをバッファリングする試み(2017年4月~) 2.3 メッセージ本文中にコンテキスト情報を埋め込む試み(2018年4月~) 2.4 1行分のメッセージをバッファリングする試み(2018年6月~) 2.5 再び1行分のメッセージをバッファリングする試み(2018年9月~) 2.6 再挑戦(

                                                                          • Go の学習に参考になった資料集

                                                                            Credit to Renée French for the Go Gopher logo 概要 この記事では、自分が Go について学ぶために参考になった学習リソースについて紹介します。 自身が初学者のときから今まで、ずっと参考になっているものを集めました。 幅広く参考になれば幸いですが、自分が過去に戻って Go を学び始める自分におすすめするならというような気持ちで書いています。 → メインの想定読者は Go の初学者 リソースについてですが大きく「公式」「書籍」「コード」の3観点(+その他)でまとめました。 結論から言うと、「公式から学ぶ」は誰にでもおすすめできます!それ以外は自分の状況や好みでぜひ参考にしてみて下さい。 というような温度感です。 ※ Go の開発環境の構築やプログラミング基礎の tips などはこの記事でわかりません 公式から学ぶ A Tour of Go 「何も考

                                                                              Go の学習に参考になった資料集
                                                                            • 第738回 リモートのLXDインスタンスの画面をローカルから操作してVDI環境を構築する | gihyo.jp

                                                                              LXDが仮想マシンに対応したことで、気軽にデスクトップ環境やWindowsマシンを構築できるようになりました。しかしながらその操作にあたってはvirt-viewerをはじめとするSPICEクライアントが必要になります。そこで今回はリモートマシンで動いているLXDのデスクトップインスタンスを、ローカルからSPICEプロトコルを利用して操作する方法を紹介しましょう。これができればLXDだけで、簡易VDI(Virtual Desktop Infrastructure)を構築できます。 なぜRDPではだめなのか 本連載ではこれまでにも、LXDで仮想マシンを構築し、その上にデスクトップ版のUbuntuやWindowsをインストールする方法を紹介してきました。 第736回「vTPMに対応したLXDで、Windows 11とWSLの新機能であるWSLgとsystemdを試してみる」 第679回「LXD上

                                                                                第738回 リモートのLXDインスタンスの画面をローカルから操作してVDI環境を構築する | gihyo.jp
                                                                              • git checkoutするブランチ名をpecoで選択する git エイリアス - Qiita

                                                                                ブランチ選択面倒ですよね git branch して、あるいは git branch --remote してブランチ一覧を確認 ブランチ名をコピーして、remoteブランチだったら remotes/origin/ などのプレフィックスを外して git checkout そんなゴニョゴニョは peco に任せましょう。 前提条件 peco コマンドがインストールされていること tr, grep , sed, xargs などのunixでは標準的なコマンドが使える環境であること alias に設定するコマンド [alias] cop = !"git branch --all | tr -d '* ' | grep -v -e '->' | peco | sed -e 's+remotes/[^/]*/++g' | xargs git checkout" コマンドの詳細 git branch -

                                                                                  git checkoutするブランチ名をpecoで選択する git エイリアス - Qiita
                                                                                • 今年のオープンソース活動振り返り @ 2023

                                                                                  2023年のオープンソース活動の振り返り記事です。 2023年のオープンソース活動の振り返り記事を書きました! - textlint/secretlint: 継続的にアップデート - jsprimer: 第二版の改訂出した、Open Collectiveやっていきたい - Notionに色々集約するツール書いてた "今年のオープンソース活動振り返り @ 2023 | Web Scratch"https://t.co/iwUCQfFWiu pic.twitter.com/7qgDjitpQm — azu (@azu_re) December 31, 2023 今までの振り返りの一覧です。 今年のオープンソース活動振り返り @ 2022 | Web Scratch 今年のオープンソース活動振り返り @ 2021 | Web Scratch 今年のオープンソース活動振り返り @ 2020 | W

                                                                                    今年のオープンソース活動振り返り @ 2023