Tetsuro Aoki のアーカイブ

シェルスクリプトで外部ファイルから変数や関数を読み込む

2015年11月27日

test.txt ``` TEST=hogehoge ``` test.sh ``` #!/bin/sh . ./test.txt echo $TEST ``` test.shを実行 ``` $ ./test.sh hogehoge ```
続きを読む

openMAINTのnginx設定

2015年11月24日

``` server { listen 80; server_name {server_name}; root /path/to/tomcat/webapps; location ~ "^/openmaint(/images/|/flash/|/javascripts/|/stylesheets/|/translations/)" { } location / {
続きを読む

コマンドを一定時間毎に繰り返し実行

2015年11月20日

watchコマンドを使うことで、定期的にコマンドを繰り返し実行することができます。 ``` watch -n 5 -d "ps auxf | grep install.sh" ``` -nオプションで実行間隔(秒)を指定できます。 -dオプションで変化した部分をハイライト表示します。
続きを読む

chefでrpmがインストールされていない時だけremote_fileでファイルを取得する

2015年11月17日

``` remote_file "/tmp/test-***.rpm do source "https://*****/test-***.rpm" mode 0744 not_if "rpm -q test-***" end ```
続きを読む

特定のrpmがインストールされているかを調べる

2015年11月13日

いままでrpmのインストール状況を調べるときは ``` $ rpm -qa | grep nginx ``` のようにやっていたのですが普通に-qでパッケージ名を指定すればインストール状況を調べられたようです。 ``` $ rpm -q nginx nginx-1.8.0-10.25.amzn1.x86_64 ```
続きを読む

S3上のjsonをnode.jsで読み込む

2015年11月10日

``` var AWS = require('aws-sdk'); var s3 = new AWS.S3(); var params = { Bucket: 'bucket.name', Key: 'subfolder/test.json' }; s3.getObject(params, function(err, data) { if (err) { console.log(err, err.stack);
続きを読む

SPFレコードに関するメモ

2015年11月10日

``` example.com. IN A 111.111.111.111 example.com. IN MX 10 mail.test.com example.com. IN TXT "v=spf1 a mx -all" ``` v= : SPFのバージョンを意味します。 a : 「+a」の省略です。「+」は合格を意味します。 「a」はドメインが送信元のIPアドレスと一致したAレコードを持っている場合に真となります。 m
続きを読む

mbsacliでリモートスキャン

2015年11月6日

スキャン対象のTCPポート135、139、445を開放した状態で、以下のコマンドを実行することでリモートスキャンが可能です。 ``` mbsacli /target ***.***.***.*** /n OS+IIS+SQL+PASSWORD /u {管理者ユーザ名} /p {管理者パスワード} ``` IPを指定するオプションは/iから/targetに変更されたようです。 対象がファイアウォールで保護されている場合ファイアウォールの設定が必要と
続きを読む

Inline SVGを使うにあたってつまづいたところ

2015年10月30日

HTML5で描画というとCanvasタグが有名ですがHTML内に直接SVGを記述できるInline SVGも魅力的です。 個人的には描画範囲内でクリックイベントなんかを取りたい時はInline SVGの方が断然使い勝手がいいと思います(CanvasでもできるけどAPIの実装状況が結構怪しい)。 そんなInline SVGですが実際に触ってみたら結構つまづくポイントがあったので簡単にまとめたいと思います。 ### 動的に生成した要素が表示されない 例
続きを読む

SARMSのデータベースエラーを直す

2015年10月27日

[SARMS構築手順 | Hack](https://hacknote.jp/archives/14696/) 続きです。 普通にdumpデータを流すとユーザ登録のときなどにエラーが出てしまいます。 これを直すには流しこむdumpデータに少し手を加える必要があります。 dump_data.sqlを編集し以下の部分を直して下さい。 ``` - SELECT pg_catalog.setval(pg_catalog.pg_get_serial_se
続きを読む

SARMS構築手順

2015年10月27日

[http://www.sarms.jp](http://www.sarms.jp/) パスワードが生で保管されていたりとセキュリティ上の問題があるのでローカルな環境での利用に限定したほうが良いです。 以下、amazon linux上で動かす例です。 Webサーバはnginxを使っています。 まず依存パッケージをインストールします。適当に入れているのでいらないものもあるかと思います。 ``` yum install nginx yum i
続きを読む

.NET版Sheets APIで各行の特定のセルを操作

2015年10月23日

以下は各行の「予定日」を取得して今日よりも前であればコンソール出力する例です。 ``` foreach (ListEntry row in listFeed.Entries) { foreach (ListEntry.Custom element in row.Elements) { if (element.LocalName == "予定日") { try
続きを読む

C#でWindows Updateを1ずつインストールするメソッド

2015年10月16日

IUpdateCollectionからまとめて実行するのが主流かと思いますが1つずつ実行したかったので作ってみました。 ダウンロードかインストールに失敗するとコンソール出力してfalseを返します。 ``` using WUApiLib; --(中略)-- public bool installUpdate(UpdateSession us, IUpdate5 update) { long success = 0x0; IU
続きを読む

C#でgoogle spreadsheetのgidをworksheetIdに変換する

2015年10月13日

``` public string long36ToString(long num) { string char36 = "0123456789abcdefghijklmnopqrstuvwxyz"; string converted = ""; long m; int n; for (int i = 7; i >= 0; i--) { m = (long)Math.Pow(36, i);
続きを読む

.NET版Sheets APIでセルを取得

2015年10月9日

``` /* OAuth認証を終え、変数serviceにSpreadsheetsServiceが入っているものとします */ // get sheet string sheetUrl = "https://spreadsheets.google.com/feeds/spreadsheets/" + SheetID; SpreadsheetQuery query = new SpreadsheetQuery(sheetUrl); Spreadshe
続きを読む

.NET版Sheets APIでシートをIDから取得

2015年10月6日

SpreadsheetQueryのコンストラクタ引数にシートIDを含んだURLを渡すことで可能です。 ``` string url = "https://spreadsheets.google.com/feeds/spreadsheets/" + sheetId; SpreadsheetQuery query = new SpreadsheetQuery(url); SpreadsheetFeed feed = service.Query(query); S
続きを読む

C#で改行

2015年10月6日

C#で改行を入れたい場合はEnvironment.NewLineを使います。 連打したい場合は適当な変数に入れてしまうと楽。 ``` var br = Environment.NewLine + Environment.NewLine; var text = "認証が必要です。以下の手順で認証を行ってください。"+ br + "1. 下記URLにアクセスし、「許可」ボタンを押す" + br + url + br +
続きを読む

Visual StudioでGoogleのSheets apiを利用する

2015年10月2日

Google公式のクライアントライブラリを利用します。 [Downloads - google-gdata - .NET library for the Google Data API - Google Project Hosting](https://code.google.com/p/google-gdata/downloads/list) 上記リンクからGoogle_Data_API_Setup_*.msiをダウンロード(*はバージョン番号) ダウンロ
続きを読む

C#でWebページを取得してh1の中身を抽出

2015年9月29日

Webページを取得してh1タグの中身だけ抽出する方法です。 Regexクラスの初期化の際にオプションでSinglelineを設定するとh1タグ内で改行があったりしても上手く取得できます。 ``` HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://***.***.***.***/"); HttpWebResponse res = (HttpWebResponse)req.GetResp
続きを読む

指定したプロセスが存在するか調べるバッチ

2015年9月18日

``` @echo off rem rem check if a process exists rem if "%1" == "" ( echo Input process name as first argument. ) else ( for /f "delims=" %%t in ('tasklist ^| find /c "%1"') do set PROCNUM=%%t if %PROCNUM% GTR 0 ( exi
続きを読む