タグ

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

  • Not Found

  • Tips of Routing on the Host - Qiita

    はじめに FRR でサーバL3化を実践した場合に役に立ちそうなノウハウや注意点を備忘録としてまとめる. 実際のネットワーク環境や使用しているプラットフォームソフトウェアによって状況はかなり異なると思うので参考程度に. 結論を先に記載する. (must) サーバのIPアドレスはloではなくdummyインターフェースに付与する (must) サーバから広報される経路に注意を払うこと. 適切なフィルタリングが必要 (option) サーバ上のECMPをdisableにしたい時はLocal Preferenceが使える (option) サーバ上で複数のネットワークを実行する際は ルーティングデーモンで送信元NICを指定する 下準備が長いので Tips から見るのがいいです. 検証環境 GNS3 2.2.25 スイッチ: Cumulus-VX 3.7.11 サーバノード: Ubuntu18.04

    Tips of Routing on the Host - Qiita
  • PS4の設定でシェルスクリプトのデバッグが捗る - Qiita

    .bashrc とかに以下の設定を書いておくと、bash -x や set -x 状態でスクリプト実行したときに、出力がリッチになってデバッグが捗ります。 # PS4の設定でシェルスクリプトのデバッグが捗る http://bit.ly/1gncKrn export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME:+$FUNCNAME(): }'

    PS4の設定でシェルスクリプトのデバッグが捗る - Qiita
  • bash 配列まとめ - Qiita

    Help us understand the problem. What are the problem?

    bash 配列まとめ - Qiita
  • Linuxのdrop_cachesにwriteした時の動きを追う - Qiita

    はじめに drop_cachesにwriteしてみて、その前後での/proc/meminfoやfree(1)コマンド結果を観察するような記事はたくさんあるけど、drop_cachesにwriteしたときに何をやっているのかを詳しく解説したような記事が全然見つからなかったので、自分で調べてみることにした。 ・・・という間違いを犯して泥沼にハマり貴重な休みを潰してしまったとあるエンジニアの活動を記録した記事である(たぶん) なお、Linux-4.12くらい、procps-ng-3.3.12くらいを見ています。 ページキャッシュの概要 概要 そもそも通常は、あえてdrop_cachesに値を書いて操作する必要が出るような場面はないと思われる。敷いていえば、ページキャッシュに乗ってる場合と乗っていない場合とでのベンチマークをしたいときくらい? まれに/proc/meminfoのMemFreeが少な

    Linuxのdrop_cachesにwriteした時の動きを追う - Qiita
  • WebAssemblyとは - Qiita

    プログラミング言語やライブラリの名前ではなく、ブラウザでプログラムを高速実行するための、 「ブラウザ上で動くバイナリコードの新しいフォーマット(仕様)」 である。 Google, Microsoft, Mozzila, Appleによって仕様が策定され開発が進められている。 WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications. htt

    WebAssemblyとは - Qiita
  • マルチバイト(全角スペース等)対応のtrim処理

    ワリと需要のある処理だと思いますが、改めてググってみるとあまりマネして欲しくないコードが散見されたため、この記事を書いてみました。 検索結果上位のページのコードをコピペで使ってる人 正規表現の \A と \z や ++ や \p{C} という書き方を知らない人 などに参考にして頂ければ幸いです。 コード function mbTrim($pString) { return preg_replace('/\A[\p{Cc}\p{Cf}\p{Z}]++|[\p{Cc}\p{Cf}\p{Z}]++\z/u', '', $pString); } 解説 \A と \z 文字列の始端 と 文字列の終端 を表すエスケープシーケンスです。 始端と終端を ^ と $ で記述しているものが多いですが、\A と \z を使うようにしましょう。1 正規表現によるバリデーションでは ^ と $ ではなく \A と

    マルチバイト(全角スペース等)対応のtrim処理
  • LaravelでAD認証を導入する - Qiita

    環境 PHP : 7.3 Laravel : 5.8.2(5.5~対応) はじめに 注意 「adldap2-laravel」を利用してAuthの認証方法をActive Directory認証に変更する手順です。 Docker環境での手順となる為、後述のLDAP有効化手順部分については環境ごとに相違があるので必要であれば別途調べてください。 記事の実装内容 ADサーバからの取得項目 samaccountname usernameとしてUsersテーブルに格納 mail emailとしてUsersテーブルに格納 cn nameとしてUsersテーブルに格納 認証に使う項目 samaccountname パスワード 備考 samaccountnameには「ユーザ名@ドメイン」という値が入っている。 ログイン時に@以降まで入力するのはめんどくさいので 接尾辞を自動付与するように設定し、ユーザ名の

    LaravelでAD認証を導入する - Qiita
  • 初心者のHLS | 自宅のRaspberry Piでストリーミングサーバー - Qiita

    自宅のLAN内で,動画をストリーミングで見れるようにしたかったので, NginxとNuxtで,ストリーミング再生できる環境を構築しました. 記事概要 以下の内容を書いています. Nginxで, HTTP Live Streaming (HLS)ができる環境を構築 Nuxt.jsベースで,ストリーミング動画を再生できるWebコンテンツを作成 動作環境 Docker (Mac) Raspberry Pi (Dockerなし) できたもの Webアプリ システム構成 NginxでHSLの準備 ※ 再現性が高くなるように,Dockerで実装していきます. Raspberry Piで直接構築する場合は,Dockerコンテナと同じディレクトリ構成をRaspberry Pi上で構築すれば実現できます. 備考 簡単にするために, Nginxデフォルトの /usr/share/nginx/html以下で,W

    初心者のHLS | 自宅のRaspberry Piでストリーミングサーバー - Qiita
  • Pre-commitとAnsible-Lintを使ってcommit前にコード規約をテストする - Qiita

    記事は、Ansible Advent Calendar 2020 の24日目です。 はじめに ここではpre-commitとAnsible-lintを使って、コードをcommitする前に静的コード解析を行うための手法をご紹介します。 Ansibleを開発するにあたって、Ansible-lintや、yamllintを導入したことがある方は多いと思いますが、以下のような不満を目にしたことがあります。 開発メンバーにコードをpushする前にlintをかけてとお願いしたが徹底できない CI/CDを回してからSyntaxエラーが見つかる 他にも挙げればきりがないですが、よく聞く話ですとここら辺でしょうか。 特にCI/CDを回してからSyntaxエラーが見つかるって、やるせないですし、動かないコードが含まれたcommitがpushされること自体がストレスですよね。 そこで紹介したいのがpre-com

    Pre-commitとAnsible-Lintを使ってcommit前にコード規約をテストする - Qiita
  • イマドキの証明書は全部マルチドメイン証明書 - Qiita

    はじめに マルチドメイン証明書とワイルドカード証明書も、複数のドメインを1枚の証明書でSSL/TLS化できるということは同じ。ここのまとめはよくまとまっている。 https://www.bestssl.net/faq/hikaku-wild-sans/ このまとめに加えて、いくつか最近の事情について補足をした方がよさそうなので、以下に記載。 マルチドメイン証明書とは? 証明書には、CN(Common Name)という必須項目がある。例えば、ブラウザでのURL入力時にhttps://www.example.org/index.html にアクセスする際には、FQDN(www.example.org)がCNフィールドに設定されているFQDNと一致している証明書が使われていた(過去形にした理由は、後述を参照)。 しかし、CNというフィールドは1つのFQDNしか登録できない。 www.exampl

    イマドキの証明書は全部マルチドメイン証明書 - Qiita
  • PostgreSQLコマンドチートシート - Qiita

    よく使うPostgreSQLで利用可能なコマンドのチートシートです。 環境:psql (PostgreSQL) 9.5.0 端末上で使うコマンド サーバの起動 $ pg_ctl start -D /usr/local/var/postgres サーバの終了 $ pg_ctl stop -D /usr/local/var/postgres サーバが起動しているかの確認 $ ps aux | grep postgres データベース接続 $ psql -d database -U user -h host -d: データベース名(未指定だと、ログインユーザー名のデータベースに接続する) -U: ユーザ名(未指定だと、ログインユーザー名になる) -h: ホスト名(未指定だと、localhostになる) データベース一覧表示 $ psql -l PostgreSqlバージョン表示 $ psql -

    PostgreSQLコマンドチートシート - Qiita
  • rpmパッケージからファイルを取り出す - Qiita

    $ rpm2cpio hoge.rpm | cpio -t ./etc/hoge.txt ./etc/data/file1 ./etc/data/file2 ./etc/data/file3

    rpmパッケージからファイルを取り出す - Qiita
  • AnsibleでNWの疎通テストをやってみた - Qiita

    - hosts: commtest_network port: ${SSH_PORT} user: ${SSH_USER} tasks: - name: Communication test dsthost01:80 shell: 'nc 192.168.1.1 80 -w1' ignore_errors: true - name: Communication test dsthost01:443 shell: 'nc 192.168.1.1 443 -w1' ignore_errors: true - name: Communication test dsthost02:80 shell: 'nc 192.168.1.2 80 -w1' ignore_errors: true - name: Communication test dsthost02:443 shell: 'nc 192.

    AnsibleでNWの疎通テストをやってみた - Qiita
  • KVMのスナップショットによるゲストOSの状態管理 - Qiita

    KVM スナップショット概要 KVM スナップショットはKVM のとある時点の状態を保持する機能です。 スナップショットは普通のバックアップのように全データを保持しておくのとは異なり、ゲストOS 上への変更が発生した時に差分のみを保持することで、スナップショットを作成した時点の状態を保持します。 また、ゲストOS の全データをコピーするわけではないのでスナップショットの作成処理は高速です。 スナップショットは、ゲストOS 体もしくはスナップショットファイルのいずれかが破損してしまうと、元の状態に戻すことはできなくなるので、バックアップの代わりとして利用する場合は注意してください。 スナップショットの作成手順としては、external 親スナップショットを作成し、それから派生する子スナップショットを作成していくイメージです。 スナップショット(external)の取得 virsh snap

    KVMのスナップショットによるゲストOSの状態管理 - Qiita
  • trdsqlというコマンドラインツールを作った - Qiita

    trdsqlというコマンドラインツールを作りました。 Goで作ってます。 githubの trdsqlからダウンロード出来ます。 またLinux/Windows/macOSのバイナリもあります。 以下は、古くなっている内容もいくつかあります。 最新版に対応した、より詳細な内容は trdsql 目次 | Noboru Saito's page を参照して下さい。 これは何? 簡単に言えばCSV(TSV含む)やLTSVに対してSQLを実行できるツールです。 同様のツールが q や textql 等いくつかあります。 trdsqlはPostgreSQLドライバとMySQLドライバを含んでいて実際にDBに接続することでSQLite以上の機能を使用できるようにしています。 PostgreSQLMySQLの構文が使えるだけではなく、CSVファイルと実テーブルでJOINしたり、CSVファイルからテーブ

    trdsqlというコマンドラインツールを作った - Qiita
  • Cloudflare の ngrok的なサービスがあるらしい ⇒ $ cloudflared tunnel --url localhost:8080 といった使い方 - Qiita

    Cloudflare の ngrok的なサービスがあるらしい ⇒ $ cloudflared tunnel --url localhost:8080 といった使い方cloudflarengrokArgoTunnel 概要 タイトルの通りです。 ngrok とかが有名どころの、ローカルに立てたサーバをインターネット側からアクセスできるようにするやつです(Bot開発のプロトタイプを作る時とか、ローカルでテスト的に作ったサーバにインターネット側から HTTP リクエストを送りたい、とかそういう時に使う感じの)。 類似サービスもいろいろありますが、今回のものは自分は初めて見かけたように思います。 導入や使い方 cloudflared の導入方法 Mac で Homebrew を使ってるなら、以下のコマンドで簡単に導入できます。 その他の各OS での導入は、以下を見ると良さそうです。 ●Instal

    Cloudflare の ngrok的なサービスがあるらしい ⇒ $ cloudflared tunnel --url localhost:8080 といった使い方 - Qiita
  • POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
  • Red Hat Satelliteを使わずに、1台でRHEL7/6,CentOS7/6のリポジトリサーバをつくる - Qiita

    Red Hat Satelliteを使わずに、1台でRHEL7/6,CentOS7/6のリポジトリサーバをつくるredhatリポジトリspacewalkSatelliteKatello はじめに 直接インターネットに接続できない、RHEL7/6,CentOS7/6のサーバ達の為に、リポジトリサーバを立てたいと思ったのが事の発端になります。 単純なリポジトリサーバではなく、各種管理機能が含まれたソフトとして以下のようなものもあるが、今回はそこまでは求めていないので却下しました。 RHELの製品として、Red Hat Satellite。 Red Hat Satellite 5 のオープンソースとしてSpacewalk。 Red Hat Satellite 6 のオープンソースとしてKatello,Foreman,Pulp,Candlepin。 CentOSはrsyncで同期するやり方があった

    Red Hat Satelliteを使わずに、1台でRHEL7/6,CentOS7/6のリポジトリサーバをつくる - Qiita
  • bookmarkletでfetchとasyncとawait - Qiita

    はじめに 過去にブックマークレットでjQuery使ってajaxをする記事を書きましたが、今時はjQueryを引っ張ってくることもなく標準装備のfetchをするのが主流っぽいので、ブックマークレットからfetchするサンプルです。 今回のブックマークレット みんな大好き楽天市場の検索結果から、リンクを探すブックマークレットです。rakuten.co.jpを開いたブラウザで実行してください。 普通のコード 普通に書くとこんな感じになります。 javascript:( function(){ let URL = "https://search.rakuten.co.jp/search/mall/%E6%9C%AC/"; fetch(URL) .then((response)=>response.text()) .then((html)=>{ //HTMLからリンク探す部分 let regexp

    bookmarkletでfetchとasyncとawait - Qiita