ブックマーク / qiita.com (138)

  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
    wtatsuru
    wtatsuru 2024/05/17
  • Mackerel の OpenTelemetry(ラベル付きメトリック)をオンプレサーバで試した備忘録 - Qiita

    動機 今更ながら Mackerel で OpenTelemetry(ラベル付きメトリック)を試したくなったが、探しても Docker + ECR とか K8S とか最近流行りの情報ばかり出てきて、現在の社内サーバの状況には合わなかったため、備忘録としてまず Nginx のラベル付きメトリックを投稿できるところまで書いておく。 サーバ情報 OS : Rocky Linux 8 まぁ使い始めてしまったのでしょうがない Nginx : 1.22.1 Nginx の準備 適当に stub_status を出せる location を用意。 (OpenTelemetry の nginx receiver が http_stub_status を元に投稿するらしいので)

    Mackerel の OpenTelemetry(ラベル付きメトリック)をオンプレサーバで試した備忘録 - Qiita
    wtatsuru
    wtatsuru 2024/03/28
  • 敵対的プロンプト技術まとめ - Qiita

    こんにちは@fuyu_quantです。 この記事はLLM Advent Calender 2023 17日目の記事です。 よかったらプライベートで作成したData Science wikiのGPTsも見て下さい! はじめに 今回は敵対的なプロンプト技術についてまとめました.まとめ方は主に,Ignore This Title and HackAPrompt: Exposing Systemic Vulnerabilities of LLMs through a Global Scale Prompt Hacking Competition というLLMに対する敵対的なプロンプト技術に関してまとめた論文を参考にしています.記事の内容が世の中のLLMを使ったサービスの機能向上の役に立てれば幸いです. ※世の中のLLMサービスが敵対的なプロンプト手法に対応できるように公開をしたものであり,利用を

    敵対的プロンプト技術まとめ - Qiita
    wtatsuru
    wtatsuru 2023/12/18
    いろいろ考えるんだな、おもしろい
  • コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita

    最近実際に開発現場にコンテナを導入してきた経験から、公式ドキュメントに記載されているベストプラクティスに実際どうなんだということを言ってみようと思います。公式に書いてあることを間違ってると指摘という意図はありません 発言は個人の見解に基づくものであり、所属組織を代表するものではありません。 2023/12/3更新: 燃えかけてるのでタイトルを変えました。 補足: こちらの環境は下記を想定しています。 Java CICD/番環境イントラネット内に整備 WF開発 マルチステージ・ビルドを使う マルチステージビルドの目的 公式ドキュメントには、下記のように記載があります。 マルチステージ・ビルド は、中間レイヤとイメージの数を減らすのに苦労しなくても、最終イメージの容量を大幅に減少できます。 つまり、最終イメージの容量を減らすことが目的であって、その一つの手段としてマルチステージビルドを進めて

    コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita
    wtatsuru
    wtatsuru 2023/12/03
  • Mackerel でなんでも監視しよう - Qiita

    Mackerel のサービスメトリックは時系列で値を持つものならなんでも扱うことが出来る。であればサーバやネットワーク以外のメトリックも監視してみよう。 Mackerel で監視することで、時系列数値をグラフ化することが出来る。つまり簡易 BI ツールとして使える。 Mackerel で監視することで、閾値を超えた際にアラートを出せる。 というような話です。 私は20年超の distributed.net ジャンキーですので(参考1、参考2)、RC5-72 の順位を Mackerel で監視してみようと思います。 まず Mackerel のサービスメトリックを送信する API を確認します。といっても API-key を添えて URL をたたくだけのシンプルなものとなっています。 監視対象となる私のの RC5-72 のランキングページはこちらです。 Rank: の右の「1500」という数値

    Mackerel でなんでも監視しよう - Qiita
    wtatsuru
    wtatsuru 2023/08/28
    distributed.net の監視なるほど。気になるランキングは監視しておくと楽しい
  • フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita

    ゴールデンウィークのはじめ(4月29日)に投稿された以下のツイートですが、5月7日20時において、1,938.8万件の表示ということで、非常に注目されていることが分かります。 我が名はアシタカ!スタバのFreeWi-Fiを使いながら会社の機密情報を扱う仕事をしてたら全部抜かれた。どうすればよい! pic.twitter.com/e26L1Bj32Z — スタバでMacを開くエンジニア (@MacopeninSUTABA) April 29, 2023 これに対して、私は以下のようにツイートしましたが、 これ入社試験の問題にしようかな。『スタバのFreeWi-Fiを使いながら会社の機密情報を扱う仕事をしてたら全部抜かれた』と言う事象に至る現実的にありえる脅威を説明せよ。結構難しいと思いますよ。 https://t.co/LH21zphCTV — 徳丸 浩 (@ockeghem) April

    フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita
    wtatsuru
    wtatsuru 2023/05/08
  • HTMLのカレンダー | Advent Calendar 2021 - Qiita

    edit_calendarHow to join the calendarYou can join the calendar by selecting an available date and registering the URL of the article you wish to link to. If a slot is available, you can go back to a past date to join!

    HTMLのカレンダー | Advent Calendar 2021 - Qiita
    wtatsuru
    wtatsuru 2022/01/20
    HTML Advent Calendar 2021 知らない情報ばかりですごかった
  • Intel MacBook Pro のサーマルスロットリングの状況を Mackerel で見てみる - Qiita

    これは Mackerel Advent Calendar 2021 の16日目の記事です。 Mackerel チームでアプリケーションエンジニアをやっている inommm です。 この記事では Intel MacBook Pro がサーマルスロットリングしている状況を Mackerel へ投稿し可視化した様子を紹介します。 サーマルスロットリングとは 昨今の CPU は動作周波数を動的に調整できるようになっています。 過度な発熱を防ぎ、システムを守るために動作周波数を落とすことを、サーマルスロットリング (Thermal Throttling) と呼ぶようです。 先日の @tatsuru さんの 記事 によると M1 チップはあまり発熱しないとのことですが、手元の Intel な MacBook Pro ではどの程度サーマルスロットリングが発生しているのかふと気になったので確認してみること

    Intel MacBook Pro のサーマルスロットリングの状況を Mackerel で見てみる - Qiita
    wtatsuru
    wtatsuru 2021/12/16
    pmset のメトリック、私も色々取って見てます (M1 になって熱のやつ取れなくなったけど...)
  • Mackerel での Mackerel による Mackerel のための Performance Working Group - Qiita

    Mackerel での Mackerel による Mackerel のための Performance Working Group Mackerel こんにちは これは Mackerel Advent Calendar 2021 の11日目の記事です. Mackerel チームでは Performance Working Group を定期的に行っているのですが, 今の状況も踏まえてアップデートしたので内容をまとめてみました. Performance Working Group とは グラフを眺めて最近のパフォーマンス変化を確認したり, パフォーマンスに影響を与えうるできごとや構成変更についての共有を行う会です. Mackerel のカスタムダッシュボードを主に利用しています. 少し長めの期間指定でパフォーマンスを確認することで, 障害の発生や SLO 違反を未然に防いだりキャパシティプラン

    Mackerel での Mackerel による Mackerel のための Performance Working Group - Qiita
    wtatsuru
    wtatsuru 2021/12/14
    ダッシュボードが日々進化していくのを眺めてます
  • レガシーシステムのインフラ作業自動化してみた! - Qiita

    はじめに はじめまして!こんにちは。 NTTドコモ サービスデザイン部の菱沼です。 普段の業務ではドコモの通信インフラを支えるCiRCUS/MAPSという大規模システムのインフラ開発を担当しています。 今回はいつものアドベントカレンダーとは少し雰囲気を変えて 長年運用されてきたレガシーシステムのインフラ作業自動化のお話をご紹介させていただきます。 ipv6シングルスタックの話に続き、ドコモの通信インフラを支える裏側を技術観点・プロジェクト推進観点織り交ぜつつお話できればと思います! それでは早速アドベントカレンダー2日目スタートです! CiRCUS/MAPSってどんなシステム? 題に入る前に私のチームが担当しているCiRCUS/MAPSって一体どんなシステムかご紹介します。 一言で表現すると、”ドコモの通信インフラを支えるミッションクリティカルシステム”になります。 ・・・で結局どんなシ

    レガシーシステムのインフラ作業自動化してみた! - Qiita
    wtatsuru
    wtatsuru 2021/12/10
    すごい。"苦労点" さらっと書かれてるけどものすごく大変だったんだろうな
  • terraform-provider-mackerel のデバッグ手法 - Qiita

    これは Mackerel Advent Calendar 2021 の6日目の記事です。 こんにちは。はてな Mackerel チーム SRE の hayajo です。 昨日は @tatsuru さんによる Apple Silicon MacBookCPU使用状況をMackerelで可視化する - wtatsuruの技術方面のブログ でした。私も M1 Mac が欲しいですねー。 今日は terrafrom-provider-mackerel のデバッグ手法についてご紹介します。 詳細なログ出力を有効にする terraform 体やプロバイダの詳細なログを出力してデバッグに役立てます。 ログ出力を有効化するには環境変数 TF_LOG を設定します。

    terraform-provider-mackerel のデバッグ手法 - Qiita
    wtatsuru
    wtatsuru 2021/12/08
    Terraform provider のデバッグこんな感じなんですね
  • Mackerelのカレンダー | Advent Calendar 2021 - Qiita

    The Qiita Advent Calendar 2021 is supported by the following companies, organizations, and services.

    Mackerelのカレンダー | Advent Calendar 2021 - Qiita
    wtatsuru
    wtatsuru 2021/11/15
    今年もやるのでみんな書いてくれ!!
  • Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita

    みなさん、ワンライナーで日語を簡単に処理したい場合、何を使うでしょうか。 ワンライナーで言語処理といえばPerlですよね[要出展]。 Perlでは、「ひらがな」「カタカナ」「漢字」といった文字にマッチする正規表現を簡単に書くことができます。 例えば、青春→鯖鰆みたいなやつという記事では、漢字にマッチさせるのに\p{Han}という正規表現を使っていました。 $ perl -Mutf8 -CSD -le 'print "漢" =~ m{\p{Han}} ? 1 : 0' 1 $ perl -Mutf8 -CSD -le 'print 1 if "あ" =~ m{\p{Han}} ? 1 : 0' 0 なんてこった。 "「"は明らかに漢字じゃないだろう? 調べてみると、perlunicodeに以下のような記述がありました。 Prior to Perl v5.26, the single for

    Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita
    wtatsuru
    wtatsuru 2021/04/15
  • マクドナルドで一日分の栄養を取れる組み合わせを計算したら衝撃の結果に - Qiita

    コレステロールは最低摂取基準量はないので0としています(実はこれが伏線になっている)。 そして目的は、一日必要な栄養素を満たす最もカロリーの低い商品の組み合わせとします。金に糸目はつけません。健康第一! 解く 商品の数が96個、栄養素の数が16個なので、とても人間の手では解けません。そこでコンピューターの力を借ります。幸いPuLPというPythonで無料で利用できるソルバーがあるので、これで計算します。ちなみにExcelにもソルバーが搭載されていますが、この程度の数の決定変数でもエラーになって計算できませんでした。 # Import PuLP modeler functions from pulp import * # A new LP problem prob = LpProblem(name="mac", sense=LpMinimize) # Variables AA = LpVar

    マクドナルドで一日分の栄養を取れる組み合わせを計算したら衝撃の結果に - Qiita
    wtatsuru
    wtatsuru 2021/03/03
    納得の結果
  • Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita

    はじめに エンジニアにとって、仕様書などの技術的な文章を書くこと(テクニカルライティングとも言います)は避けて通れません。ただ20年来多くのエンジニアの方々と同僚として接してきて思うことは、エンジニアの方の中には「文章を書く」ということに苦手意識がある方が一定数いるということです。 でもこの「テクニカルライティング」のスキルは、才能というよりは一種の「技能」だと思うんです。ある一定の原理原則を理解して実践を繰り返すことで、必ず一定レベルで習得できるものだと著者は信じています。 もしこのテクニカルライティングの原理原則をまだ体系的に学習したことがない、または過去学習したが改めて再学習したいという方に、お勧めのコンテンツを見つけたのでご紹介します。 https://developers.google.com/tech-writing Every engineer is also a write

    Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita
    wtatsuru
    wtatsuru 2020/05/27
  • perfから読み解くプロセッサトレースの仕組み (perf + Intel PT/ARM CoreSight) - Qiita

    諸事情でperfのソースコードを読んだのでせっかくなので簡単に解説。 今回はperfの中でもイベントの記録を担当するperf recordコマンドの処理を見ていく。特に近年はCPUがトレース機構を持っておりperfもその恩恵に預かっているため、記事ではperf recordの中でもCPUのプロセッサトレース機構との連携部分に注目したい。 音を言えば、perfよりIntel Processor Trace(Intel PT)やARM CoreSightといったプロセッサトレース自体に興味があるのだが、これらはLinux上ではperfイベントとして実装されているためperfコマンドの実装を皮切りに解析する腹づもりだ。 1. Perf アーキテクチャ 元々perfはPerformance counters for Linux (PCL)という名前の前身が存在しており、CPUの提供するパフォー

    perfから読み解くプロセッサトレースの仕組み (perf + Intel PT/ARM CoreSight) - Qiita
    wtatsuru
    wtatsuru 2020/01/05
    すごい気合入ってる
  • さくらのクラウド「エンハンスドLB」を作った話(前編) - Qiita

    この記事は さくらインターネット Advent Calendar 2019 4日目の記事です。 さくらインターネット研究所に所属している大久保です。お久しぶりです。 自分、研究は全くやってなくて、 ひたすら弊社のIaaSである「さくらのクラウド」の運用、開発、コーディング、お客様サポート、構築、ラックマウント、配線、障害対応、その他あらゆる全てをやっています。よろしくおねがいします 😇 せっかくAdvent Calendar空いてたので、最近作ってるサービスの紹介をさせていただこうと思います。 HTTPSの終端って大変だし面倒じゃないですか。 今回のネタは、お客様からご要望いただいて1年前から開発スタートしたサービスなんですね。当時、L4のロードバランサは提供していましたが、要件として、 インターネット向け大規模コンテンツ配信に使える高性能なもので、 DDoS対策ができて、 SSLの終端

    さくらのクラウド「エンハンスドLB」を作った話(前編) - Qiita
    wtatsuru
    wtatsuru 2019/12/06
  • Nov.2019 Green500について~ここがすごいよA64fx~ - Qiita

    これはポエムだよ! TL;DR A64fxはTSMC 7nmプロセスを採用し、また、ARMv8アーキテクチャにSVEを採用することでSIMD幅を伸ばし、電力効率を圧倒的に伸ばしたCPUだよ! Nov.2019 Top500/Green500について 今年もこんな季節がやってまいりました。SCの季節、そしてTop500/Green500の後期の季節でございます。 え、そもそもTop500/Green500をご存じない? そんな方がこの記事読むわけないでしょ。というわけで以下では知ってる前提で書きます。 もしご存じない方がいらっしゃいましたらロボ太先生の記事を読んでください。 ……とはいえ、Top500は最近面白みがないのが実情。というのも、June.2019から上位10システムについて変動がないのと、そもそも上位が移動するような場合は事前に調達計画が出るので(例外は中国ぐらいか……) 大まか

    Nov.2019 Green500について~ここがすごいよA64fx~ - Qiita
    wtatsuru
    wtatsuru 2019/11/21
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    wtatsuru
    wtatsuru 2019/11/08
  • あなたのネットワークスタック正しく設定されていますか? - Qiita

    はじめに Linux Advent Calendar 10 日目の記事です。 運用や研究開発の現場では、ソフトウェアの実験、または機器のテストや選定などのために、ベンチマークツールや自前のアプリケーションでコンピュータ間の通信速度を計測する機会が多々あると思います。一方で10Gbpsや40Gbpsといった昨今の高速ネットワークにおいては、これらの計測結果はアプリケーションの通信API部分の実装、カーネルパラメータまたはコンパイルオプションによって大きく変わってしまうため、正確な計測を行うためにはこれらを正しく設定/理解する必要があります。この記事では、ネットワーク周りのカーネルとアプリケーションの動作の概要と、その中の重要なポイントを理解することを目的にします。 ネットワークプログラミングのおさらい まず最初に、TCPを使う今時のサーバプログラムがどのようにできているか簡単におさらいします

    あなたのネットワークスタック正しく設定されていますか? - Qiita
    wtatsuru
    wtatsuru 2018/12/10