はじめに ディレクトリ同士をdiffコマンドで再帰的に比較するときは、 diff -r <dir1> <dir2>みたいにしますよね。 その中で特定ファイル名の結果を除外したい場合は diff -r -x <filename> <dir1> <dir2>みたいにすればOK。 参考: https://linuxjm.osdn.jp/html/gnumaniak/man1/diff.1.html しかし!除外はできるくせに「特定ファイル名の結果だけを表示」ってのは diffコマンドの機能としては存在しないようです。 -qオプション付きであれば、diff -qr <dir1> <dir2> | grep <filename>でOKだけど、 ファイルの中身までちゃんと見たいときはそうは行かない。 やりたくなる度に調べては「やっぱないよなー。。。」ってガッカリしてたんですが、 無いならシェルスクリプ
こんにちは、臼田です。 みなさん、サーバレスしてますか?(挨拶 先日AWS WAFに大きなアップデートがありました。これに伴いAWS WAFはv2となっていて、中身の仕組みがいろいろ変わっています。 [アップデート] AWS WAF向けAWS製のManaged Rulesが出ました そのため、各セキュリティベンダーから提供されるマネージドルールも作り直されているみたいでまだv2でリリースされているマネージドルールは多くありません。 そんな中、日本のWAFベンダーであるCyber Security Cloud(CSC)さんからはv2対応のAWS WAFマネージドルールが2つ提供されています! Cyber Security Cloud Managed Rules for AWS WAF -HighSecurity OWASP Set- Cyber Security Cloud Managed
こんにちは、臼田です。 皆さん、WAFWAFしてますか?(挨拶 今回はタイトル通りAWS WAFを完全に理解するための情報を全部詰め込んだブログです。長いです。 そもそもWAFってなんだっけ?という話から初めて「全部理解した」と言えるようになるまでをまとめています。直近AWS WAF v2がリリースされたため、この変更点を中心に機能の説明をします。 Developers.IOではWAFを扱った記事がたくさんあるので、細かいところはブログを引用します。いわゆる元気玉ブログです。 おさらい的な部分も多いので変更点が気になる方は適当に飛ばしてください。 そもそもWAFとは AWS WAFの前にWAFの話をします。WAFはWeb Application Firewallの略でWebアプリケーションを保護するためのソリューションです。 一般的なWebアプリケーションに対する攻撃手法としてSQLインジ
経緯 Amazon Linuxのパッケージアップデート 以前、以下の記事を参考にVPNサーバを構築していた AWSにOpenVPNでVPNを構築してみた しばらくこれで動いていたのだが、パッケージを以下のように更新したところVPNクライアントでエラーが出るようになった。 原因はおそらくopenvpn2.4からtls-auth認証を必須とするようになったからです。OpenVPN側のリリースノートの和訳がありました↓ OpenVPN 2.4.2 リリース 2017/5/11にOpenVPN 2.4.2がリリースされました。 このバージョンはいくつかのバグフィックスに加えて、以下の2つのDOS攻撃対策が行われています。 巨大なサイズのコントロールパケットを送り込むことにより、ASSERT() が発生して OpenVPN プロセスが停止させられる可能性があります(CVE-2017-7478)。対象
Date 2023/03/29 OpenVPN 2.6 では、SSLライブラリとして OpenSSL 3.0 が使用されています。OpenSSL 3.0 の機能変更に伴い、古いバージョンの OpenVPN からアップデートしたときや、新旧バージョンが混在した環境でエラーが発生する可能性があります。その原因や対処方法などを説明します。 OpenSSL/OpenVPN の機能変更は主にセキュリティ面の向上を目的として実施されたものなので、暫定的な回避策で切り抜けたとしても、いずれ対応が必要になります。回避策も今後使用できなくなる可能性がありますので、バージョンアップや構成変更を検討してください。 証明書で脆弱な署名アルゴリズム(SHA1/MD5)を使用している このケースでは、証明書の読み込み時やサーバーへの接続時に下記のエラーが発生します。 OpenSSL: error:0A00018E:S
マネージドルール あらかじめAWS側で用意した、一般的なWebアプリケーション攻撃に対応するルールのセット。マネージドルールを使うことで、自分でルールをセットする必要がなくなる AWS Managed Rules rule groups リスト マネージドルールの選び方は↓が参考になる AWS Managed Rules の選び方 レートベースのルール(同一IPからの大量リクエストのブロック) 5分間あたりの同一IPアドレスからのリクエスト数が設定された閾値を超過したらBlock/Countする 閾値の設定範囲は100~20,000,000で設定 ルール作成時にRate-based Ruleを選択 全てのリクエストを対象にするか、ステートメント内の条件に一致したリクエストだけを対象にするか選択可能 独自ルールの設定パターン Match Statement(条件)に定義されたルールに一致する
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。 Linuxサーバーにおいてスクリプトの実行結果などをメール送信したい場合があります。 今まで mail コマンドを利用して送信していたのですが幸いPostfixなどのメール配信用ソフトが起動していたため、中継先のSMTPサーバーを特に指定せずに送信できていました。 今回、Postfixなどのメール配信用ソフトが起動していないサーバーでメール送信したい時に少し躓き時間をとられましたので自身の備忘として記事を残しておきたいと思います。 結論だけを先に記載
ヒアドキュメントはシェルスクリプトの中にちょっとした別のスクリプトを埋め込むときに便利です。 数行のスクリプトのためにわざわざファイルを作る必要がなくなり、見通しがよくなります。 # ちょっとしたスクリプトを動かすのに便利 # 例) oracleDBのテーブル一覧を出力する sqlplus -S user/pass@sid << EOS set pagesize 0 set feedback off select table_name from tabs order by table_name; EOS 要点 ヒアドキュメントを理解するうえで重要なのは、ヒアドキュメントは標準入力として扱われる、ということです。 文字列リテラルでないことに注意してください。 これを把握していれば、最初の例でcatにヒアドキュメントを渡していた理由がわかるかと思います。 catはファイルを省略した場合に標準入
バーコード検出 API (Barcode Detection API) は、線形および二次元のバーコードを画像内から検出します。 ウェブアプリケーションでバーコード認識に対応することで、対応しているバーコード形式を通じてさまざまな用途に利用できるようになります。 QR コードはオンライン決済、ウェブナビゲーション、ソーシャルメディア接続の確立に、アステカコードは搭乗券のスキャンに、ショッピングアプリは JAN、EAN、UPC バーコードを使用して物理的なアイテムの価格を比較するために使用することが可能です。 検出は detect() メソッドで行われ、これに画像オブジェクトを渡します。これは 要素、Blob、ImageData、CanvasImageSource の何れかです。オプションの引数を BarcodeDetector コンストラクターに渡すことで、検出するバーコード形式のヒントを
はじめに 自分は以前に Cordova を使って「蔵書台帳」アプリを作りました。このとき 書籍の ISBN のバーコードを読取するのに、Cordova のプラグインを使っていました。 改めて調べてみると、ブラウザ上の JavaScript コードで直接、カメラ画像からバーコードの読取できるんですね。 JavaScript でバーコード読取できるライブラリは幾つもありましたが、これがよさそうでした。 GitHub - serratus/quaggaJS: An advanced barcode-scanner written in JavaScript GitHub - ericblade/quagga2: An advanced barcode-scanner written in Javascript and TypeScript 紹介している記事も多く、幾つか試してみました。 Quag
前項で自身のPC内に有効期限付きで、データを保存するクッキーについて学習しました。クッキーで情報を共有するには色々な制限があり、大量のデータを一時的に保存するには向きません。そのような場合クッキーの代わりに利用できる「セッション(Session)」という仕組みが用意されています。 11.3.1 セッションについて セッションを簡単に説明すると「サーバ内に情報を保存し、複数ページ間で共有する」仕組みのことです。 例えば、ショッピングサイトで利用されるカート機能などは、複数の商品ページを遷移し、カートに追加した各商品の情報をずっと保持している必要があります。このような場合にセッションにデータを登録することで、他の画面に遷移してもデータを取り出し利用することができるのです。 セッションでは下の図のようにデータを共有することができます。 図 11.3.1: セッションでデータ共有の流れ セッション
バッチファイルで1行の処理が長〜いと読みにくいので、複数の行に分けて書きたいこともある。 C言語におけるマクロでの「\」やVBの「_」と同じようなことをしたい。 バッチファイルで1行が長〜い処理というのもあまりないかもしないが、Javaでオプションやら クラスパスやら設定すると非常に長くなる。 以下のgroovyの起動バッチのように環境変数に追加していき、最後で実行するのが一般的だろう。 set JAVA_OPTS=%JAVA_OPTS% -Dgroovy.starter.conf="%STARTER_CONF%" set JAVA_OPTS=%JAVA_OPTS% -Dscript.name="%GROOVY_SCRIPT_NAME%" if exist "%USERPROFILE%/.groovy/postinit.bat" call "%USERPROFILE%/.groovy/po
この記事はGRIPHONE Advent Calendar 2022 23日目の記事です。 サーバーサイドのエンジニアをしている斉藤です。 今回は最近トレンドのチャットAIで、プログラムを書かせようという企画です。 他の人もチャレンジはしているのですが、自分はどこまでのマイナー言語に対応できるかを試してみます。 ChatGPTとは? OpenAIが開発した、大規模な言語モデルを組み込んだチャットアプリケーション、サービスです。 これは沢山の人がブログ等で記述しているので、多くは記述しません。 画面で試す 試しに、チャット画面で質問してみましょう。 素数って1含まれるっけ?と思いますが、一応回答してくれます。 別な言語でも試してみましょう。 どうやら、わからない言語は同じような答えを返すようです。 APIではどうでしょうか? 実行環境構築 APIを試すためには「アカウトの登録」「API KE
はじめに https://www.linebiz.com/jp/service/line-mini-app/lp/ こんにちは。本記事では6/1に事前審査が撤廃され、どなたでも開発することが可能になったLINEミニアプリの開発の始め方を初心者向けに詳しく解説します。 なお技術系のドキュメントを読むのに慣れている方は公式ドキュメントを見るだけで理解出来ると思います。合わせてご覧ください。 本記事の対象者 基本的なプログラミングを理解している方 LINEミニアプリやLIFFを利用した開発が初めて(久しぶり)の方 動画で見たい方はこちら LINEミニアプリとは? LINEミニアプリは、LINEアプリやLINEのアカウントと連携が可能なWebアプリケーションです。 日本国内において9,200万人以上のMAU、人口の85%をカバー(2022/06時点)するLINEと連携することで、以下のようなメリッ
プロローグ 先日にあった、あるサイトの更新の話 クライアント:「期間限定キャンペーンの部分、もういらないから消してください」 私:(消すのはいいけど、絶対にまた同じ様なキャンペーン内容を表示させるよな...) 問題:非表示にする最適解は? クライアントは「消せ」というが、サイト管理者として完全に消したくない場合に(該当部を非表示で留めておきたい場合に)、どの手段を取るのが最適か? なお、htmlファイル単体で更新を行うものとします。 選択肢 A)該当部にstyle="display:none"を追加 B)該当部にstyle="visibility:hidden"を追加 C)該当部をコメントアウト <!-- --> 上記はいずれもコンテンツを見た目上では非表示にすることができます(ソースコード上には残っています) 検討 参考サイト1) display:none と visibility:hi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く