読者です 読者をやめる 読者になる 読者になる

くんすとの備忘録

プログラミングや環境設定の覚え書き。

「第27回シェル芸勉強会 大阪サテライト」レポート

シェル芸 勉強会

02/11(土)に東京で行われた「jus共催 第9回初心者満足度ナンバーワン(当社調べ・調べてないけど)シェル勉強会/第27回sedこわいシェル芸勉強会」について、今回も大阪でサテライトしました!

イベント情報

東京(本家)

usptomo.doorkeeper.jp

今回も、大阪(私達)と、福岡でサテライト会場がありました。

大阪サテライト

atnd.org

福岡サテライト

atnd.org

ぱぴろん(@papiron)さんによるまとめ

papiro.hatenablog.jp

大阪サテライトレポート

参加者

今回の参加者は、私も含めて12人、うち、初参加は1名でした。
じわじわ初心者が増えてきてよいですね。

また今回、西日本では大雪の心配があったので、前日にメールとTwitterで注意喚起の告知を行いました。

(@t_motookaさん、促して下さってありがとうございました!)

会場のようす

午前

鳥海秀一さん「黒い画面と戯れよう」


sttyコマンドやtputコマンドを使って、ターミナルにエスケープシーケンスを送って遊ぶという感じの内容でした。
ターミナル生活をしていく上で、この辺のことを知っていると思わぬところで救われそうな感じですね。

石井久治さん(@hisaharu)「シェル芸入門 日常会話編」


シェル・コマンド・パイプなどについて、図解でわかりやすく解説した講義でした。初心者の方は必見だと思います!

おひる

大阪はお昼ごはんを食べつつ、午後に向けてsedの予習をしておりました。嵐の前の静けさとはこのこと――

午後

sedこわい(こわい

sedで置換以外のことをする方法や、コマンドを並べて各方法、ループの使い方など、置換以外の基本的な機能を使い倒した感じです。
ループはあとでもう一回復習しよう……

LTのようす

東京

大阪

今回はちょっと少なめですが、今回もUstreamで配信して頂けました!(録画はナシです)

日柳 光久(@mikkun_jp) さん 「Q7の解説」


Q7で「縛り1: 使うコマンドはseq、cp、sedだけ」と「縛り2: ワンライナー中で数字を使わない」という縛りがあったのですが、 その両方の条件を満たす解とその解説です。 カジュアルに/etc/passwdを使うことに若干の危険なかほりを感じますw

@t_motooka さん 「sedで知る 矢印キーのキーコード」


sed -n lしてからキー入力し、Enterを押すと、ターミナル上に矢印キーのキーコードが表示されます。やってみましょう!

@nmrmsys さん 「我は放つ、危険のシェル芸!!(誤爆)」

スライド: https://dl.dropboxusercontent.com/u/54939588/slides/I-Will-Release-Dangerous-Shell-Arts.html

スター・ウォーズ Force Band™ by Sphero」というガジェットを使って、スターウォーズのジェスチャーで危険シェル芸を放つ!という実演でした。普通の危険シェル芸だと一気にサーバがダウンしてしまうのですが、今回は徐々にダウンしていく状況を確認するべく「マイルドな危険シェル芸」を仕込んで来ていただきました!

今回はサーバ側のトラブルで不発でした……ので、できれば次回にリベンジしていただければと! よろしくお願いします!

まとめ

上田会長、東京・福岡・大阪の皆様、お疲れ様でした。
フェンリル様、会場使わせて下さってありがとうございました!

次回もまたよろしくお願いします!!

追記

危険な派生物が誕生してしまったようです…

iPhoneをiTunesを使って移行したときに引き継がれたもの・引き継がれなかったもの

その他

昨日、iPhoneを66sに移行しました。その際、iTunesを使ってバックアップとリストアをしたので、引き継がれたものと引き継がれなかったもの(再設定が必要だったもの)をざっくりメモとして残しておきます。

※iTunesの設定で、iPhoneのバックアップは暗号化した状態で。

引き継がれたもの

  • 公式系
    • アドレス帳
    • SMS履歴
    • 通話履歴
    • 目覚まし設定
    • ユーザー辞書
    • 設定アプリで設定した内容
    • 写真
  • ゲーム
    • スクフェスのユーザデータ(アカウント引き継ぎしなくても大丈夫だった)
  • その他のアプリ
    • LINE(再認証すればOK。履歴も残ってた)
    • Twitter
    • feather
    • Facebook
    • Wunderlist
    • Slack
    • Pocket
    • サイボウズLive
    • ビブリア
    • vSSH
    • RD Client
    • その他だいたいのアプリの設定

引き継がれなかったもの

  • 公式系
    • アプリへの各種アクセス許可設定
  • ゲーム
    • スクフェスの設定(カットインがONになってた…)
    • スクフェスのゲームデータ(再ダウンロードが必要)
    • FGOのユーザデータ・ゲームデータ(アカウントの引き継ぎが必要)
  • その他のアプリ
    • Gmail
    • kindle
    • BookWalker

情報処理安全確保支援士に申し込みました

資格試験

情報処理安全確保支援士に申し込みました。 www.ipa.go.jp

その時の記録。

※情報が間違ってたり途中で変わったりする可能性があるので、登録をする人はちゃんと公式HPを見てね。これは、自分のときはこうだったよ~っていう記録ね。

準備物

登録料の支払い

  • 登録免許税
    • 9,000円(収入印紙)
    • 収入印紙を申請書に貼り付ける
    • 法務局に行ったついでに購入
  • 登録手数料
    • 10,700円(振込み)
    • ネットから銀行振込して、その結果画面を印刷して申請書類に同封

役所から取得したもの

  • 登記されていないことの証明書
    • 法務局で取得
    • ややこしいけど、「登記されていないことの証明書」って言う名前の証明書がある
    • 法務局の「本局」でしか取り扱ってない
    • 本籍地とか関係ないのでどこでもいい
  • 身分証明書
    • 本籍地の役場で取得
  • 住民票の写し
    • 大阪市民なので、サービスカウンターで取得

IPAのサイトから印刷したもの

  • 登録申請書
    • 要: Adobe Acrobat Reader DC (項目の入力とQRコードの生成で使用)
      • Google ChromeやFireFoxのPDFリーダーではちゃんと動かなかったorz
      • 情報セキュリティの資格なのにこんな危険なソフトを使わせるのは如何なものか
        • 使い終わったのでアンインストールした
  • 誓約書
  • 登録事項等公開届出書
    • 勤務先の情報 以外 はフルオープンにしときました
      • 変わったとき面倒だし…
    • 登録番号、登録年月日、試験合格の年月、講習の修了年月日、氏名、生年月日の年月、試験合格の合格番号、居住都道府県
  • 登録申請チェックリスト
    • チェックリストかぁ……(非常に有用だけれども……)

その他

  • 支援士試験等の合格証書のコピー
    • 2013年春に取得した「情報セキュリティスペシャリスト試験」の合格証書をコピー

登録タイミングについて

年に2回しか登録できません。注意!!

  • 上期・・・10/1
    • 申請の受付期限:7/31(当日消印有効)
  • 下期・・・4/1
    • 申請の受付期限:1/31(当日消印有効)

コスト見積もり

明細

登録料 ※初回のみ

  • 登録免許税: 9,000円
  • 登録手数料: 10,700円 + 振込手数料 210円

証明書類 ※初回のみ

  • 登記されていないことの証明書: 300円
  • 身分証明書: 300円
  • 住民票の写し: 300円

送料 ※初回のみ

  • 送料: 82円
  • 簡易書留: 310円

講習 ※毎年

  • オンライン講習: 20,000円 ※毎年、6時間
  • 集合講習: 80,000円 ※3年に1回、6時間
    • 試験合格から3年以上経っている場合は初年度に受講が必要

合計

集計

  • 申請にかかる費用: 21,202円
  • 3年間の講習費用: 140,000円

3年ごとの月割計算

  • 1~3年目
    • 合計: 161,202円 (21,202円 + 140,000円)
    • 月割: 4,478円
  • 3年目以降
    • 合計: 140,000円
    • 月割: 3,889円

申請するに至った経緯(ざっくり)

上司「情報セキュリティスペシャリスト(SC)の試験廃止になったから、資格手当なくします」
ぼく「ファッ!?」
上司「代わりに情報処理安全確保支援士取ったら出します」
ぼく「登録料は会社から出る?」
上司「出ません」
ぼく「👎👎👎」

まとめ

実質月額5,000円弱の保守コストが発生👎

宛先が長すぎて腱鞘炎になりそう👎

install(1)コマンドが便利だった件

Linux シェルスクリプト

はじめに

install(1)という、cpmkdirchmodを同時に行うような便利コマンドがあることを知りました。 (忘れちゃいましたが、何かのMakefileを見ているときに存在に気付きました)
これを使うと、プロビジョニングなどのスクリプトが簡潔に書けるようになりそうです。

……というわけで使い方のメモがてらまとめてみます。

manの内容まとめ

installはBSD版とGNU版があるようですが、ここではGNU版について書きます。 BSD版ではいくつかのオプションが使用できません。(-D はなかったと思う)

ちなみにmacの場合は標準でBSD版のinstallが入っており、Coreutilsを入れるとGNU版のinstallが使えるようになります。

4種類の使い方

  • install [OPTION]... [-T] SOURCE DEST
    • SOURCEDESTにコピーする。-Tを付けると、DESTをファイルとして扱う
  • install [OPTION]... SOURCE... DIRECTORY
    • 複数のSOURCEファイルをDIRECTORYディレクトリへコピーする
  • install [OPTION]... -t DIRECTORY SOURCE...
    • 複数のSOURCEファイルをDIRECTORYディレクトリへコピーする
  • install [OPTION]... -d DIRECTORY...
    • ディレクトリを作成する(複数可)

その他のオプション(良さげなのを抜粋)

  • -D
    • コピー先のディレクトリが存在しない場合、ディレクトリを作成する
    • mkdir -pみたいな感じ
  • -o 所有者
    • コピー先の所有者を変更する
    • chownみたいな感じ
  • -g グループ
    • コピー先の所有グループを変更する
    • chownみたいな感じ
  • -m パーミッション
    • コピー先のパーミッションを変更する
    • chmodみたいな感じ
  • -S SUFFIX
    • コピー先が上書きになる場合、ファイル名の最後にSUFFIXを付けてバックアップする
  • -Z
    • コピー先のSELinuxセキュリティコンテキストを設定する
    • (※マニアックかよ)

使用例

authorized_keysのセットアップ

今までこう書いていたものが…

mkdir /home/hoge/.ssh
chmod 700 /home/hoge/.ssh
cp authorized_keys /home/hoge/.ssh/authorized_keys
chmod 600 /home/hoge/.ssh/authorized_keys
chown -R hoge:hoge /home/hoge/.ssh

こう書けます。

install -o hoge -g hoge -m 700 -d /home/hoge/.ssh
install -o hoge -g hoge -m 600 authorized_keys /home/hoge/.ssh/authorized_keys

すっきりしましたね!

まとめ

なぜ今までこんな便利なものに今まで気付かなかったのか……

第26回シェル芸勉強会 大阪サテライト」レポート

勉強会 シェル芸

12/25(日)に東京で行われた「jus共催 第8回初心者の方角に向いて講師が喋るシェル勉強会(初心者向けとは言ってない)/第26回シェル芸勉強会及びエクシェル芸勉強会」について、今回も大阪でサテライトしました!

※すみません、年末年始忙しすぎ&インフルエンザでレポートがめっちゃ遅れました……

イベント情報

東京(本家)

usptomo.doorkeeper.jp

今回も、大阪(私達)と、福岡でサテライト会場がありました。

大阪サテライト

atnd.org

福岡サテライト

atnd.org ぱぴろん(@papiron)さんによるまとめ papiro.hatenablog.jp

大阪サテライトレポート

会場のようす

午前

今回、午前の部は私用で欠席していたので、午前の内容については他の方のレポを見てくださいです。

おひる

昼休みから参加しました。大阪サテライトでは、@t_motookaさんによって、「CVE番号クイズ」「バイナリを詠む会」「エクシェル芸の予習」などがゲリラ実行されました。
特にエクシェル芸の予習は、午後の部の問題を特に当たって非常に役立ちました。ありがとうございます!






午後

エクシェル芸(泡を吹いて死亡

※詳細はtogetterの方を参照です。

LTのようす

いつもな感じのやばい大阪勢のLTです。今回はUstreamで配信もして頂けました!(録画はナシです)

nmrmsys(@nmrmsys) さん 「Excelでもコマンド実行がしたい!」


いつもの「ExSQell」のお話ですね。今回は新機能として「セル範囲リダイレクト」が追加されたようです。リポジトリはこちら → GitHub - mikkun/gnucash-util-jp: 日本の商慣習下でGnuCashを使うためのツール

くんすと(@kunst1080) 「Hyper™でエキサイティングなシェル芸ライフ」


Hyperというターミナルエミュレータを使って楽しくシェル芸しましょう、という話です。Hyperの公式サイトはこちら → Hyper™

so(@3socha) さん 「FUSE で繋がる世界」


FUSEを使ってGoogleカレンダーのファイルシステムを実装したという話です。予定を探すときにfindとかgrepとかが使えて便利そう!

MSR(@msr386) さん 「漢字バナー芸」


toliet(1)で、漢字を表示するために漢字フォントを作るという話です。実際の手順の説明と、デモを見せて頂きました。

社畜(9か月)(@null_ref_eng) さん 「画面を(^o^)/で埋め尽くす謎のワンライナー」 ※延長線


滅茶苦茶面白いことをされていたので、半ば強引に発表していただきましたw 無理言ってすみませんでした…

今回も面白いLTをたくさん発表していただいてありがとうございました!! 次回もモリモリ発表してくださいねっ!

まとめ

上田会長、東京・福岡・大阪の皆様、お疲れ様でした。
フェンリル様、会場使わせて下さってありがとうございました!

次回もまたよろしくお願いします!!

JavaScriptのsetTimeoutが使いにくいのでヘルパーを書こうという話

JavaScript

第一引数に関数が来てるのが使いにくさの原因なので、引数の順番をひっくりかえしたヘルパーを作成します。

function delay(time, func) {
    setTimeout(func, time);
}

こうしておくと、こんなコードが

setTimeout(function() {
    console.log("hoge");
}, 1000);

こう書けます。

delay(1000, function() {
  console.log("hoge");
});

補足

ちなみにCoffeeScriptで書くと

delay = (time, func) -> setTimeout(func, time)

delay 1000, ->
  console.log "hoge"

となって見やすいです。

FreeBSDでDockerやってみた

FreeBSD Docker

この記事はFreeBSD Advent Calendar 2016の23日目の記事として公開されました。

はじめに

数年前まで私は、FreeBSDだいすきおじさんでした。Jailで仮想環境をたくさん作ったり、flavourを作ったり、flavourを管理するツールを作ったり*1、ワンライナーでインストールしたり*2……など、充実したFreeBSDライフを楽しんでいました。 しかし、Dockerという非常に便利なツールが現れました。DockerはLinuxでしか動作しませんが、非常にパワフルで簡単で、そして何より実用的でした。私はFreeBSDというOSが大好きではありましたが、その便利さには抗えず、結果的にFreeBSDから離れることとなってしまいました。。。

しかし、そう。今ではFreeBSDでもDockerは動くらしいのです。 (Docker - FreeBSD Wiki)

その答えを求め我々は南米へ……は飛ばずに、検証してみようと思います。

環境のセットアップ

仮想環境でFreeBSDを起動

2015年6月時点ではFreeBSD 11-CURRENTが推奨されていたようですが、今では11.0-RELEASEがリリースされていますので、こちらで検証します。

最近は仮想環境にHyper-Vを使っているので、今回はHyper-v用のVHDファイルをダウンロードしてきてそのまま利用することにします。

$ curl -LO ftp://ftp2.jp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/11.0-RELEASE/amd64/Latest/FreeBSD-11.0-RELEASE-amd64.vhd.xz
$ 7z x FreeBSD-11.0-RELEASE-amd64.vhd.xz

VHDファイルが解凍できたので、適当にHyper-Vへインポートします。

SSHサーバの起動

とりあえずネットワークにはDHCPを使うようにして、sshdを起動します。 最近は直接/etc/rc.confを編集するのではなく、sysrcコマンドを使うものらしいです。

$ sysrc sshd_enable="YES"
$ sysrc ifconfig_hn0="DHCP"

あとは/etc/sshd/sshd_confなどを適当に設定してsshdを起動します。 sshでログインしましょう。

Dockerのインストール

公式サイトの内容(https://wiki.freebsd.org/Docker)に沿って進めます。

zfsの準備

$ kldload zfs
$ kldstat
$ dd if=/dev/zero of=/usr/local/dockerfs bs=1024K count=4000
$ zpool create -f zroot /usr/local/dockerfs
$ zpool list
$ zfs list
$ zfs create -o mountpoint=/usr/docker zroot/docker
$ zfs list

結果 f:id:kunst1080:20161223202527p:plain

※再マウントするときはzfs mount zroot/docker

Dockerをセットアップ

Dockerのインストール

$ pkg install docker-freebsd ca_root_nss

Bash利用のためにfdデバイスを作成

$ echo ' fdesc   /dev/fd         fdescfs         rw      0       0' >> /etc/fstab
$ mount -t fdescfs fdesc /dev/fd

Dockerをサービス登録&起動

$ sysrc docker_enable="YES"
$ service docker start

dockerのバージョン確認

$ docker version

f:id:kunst1080:20161223202537p:plain

Docker動かしてみる

Ubuntu

ひとまずUbuntuを。

$ docker search ubuntu

f:id:kunst1080:20161223202547p:plain

$ docker pull ubuntu
$ docker run ubuntu uname -a

f:id:kunst1080:20161223202556p:plain

いろいろ遊んでみます。

$ docker run -it ubuntu bash
$ apt update

f:id:kunst1080:20161223202608p:plain

apt updateがエラーになる……

CentOS

そして、公式にも書いてあるCentOSを。

$ docker search centos

f:id:kunst1080:20161223202619p:plain

$ docker pull centos:6
$ docker run centos uname -a

f:id:kunst1080:20161223202634p:plain

いろいろ遊んでみます。

$ docker run -it centos:6 bash
$ echo nameserver 8.8.8.8 >> /etc/resolv.conf
$ yum update
$ yum install -y bc
$ echo 9 + 7 | bc

f:id:kunst1080:20161223202644p:plain

FreeBSD

なぜかFreeBSDのコンテナもある

$ docker search freebsd

f:id:kunst1080:20161223202654p:plain

$ docker pull lexaguskov/freebsd
$ docker run lexaguskov/freebsd uname -a

f:id:kunst1080:20161223202713p:plain

いろいろ遊んでみます。

$ docker run -it lexaguskov/freebsd tcsh
$ echo nameserver 8.8.8.8 >> /etc/resolv.conf
$ pkg update
$ pkg install -y sl
$ sl

f:id:kunst1080:20161223202729p:plain f:id:kunst1080:20161223202739p:plain

Jenkins

遊んでばかりでもアレなので、最後にJenkinsの公式イメージをホストしてみます。

$ docker search jenkins

f:id:kunst1080:20161223202752p:plain

$ docker pull jenkins:alpine
$ docker run -p 8080:8080 jenkins:alpine

f:id:kunst1080:20161223202809p:plain

ああああああああ………もうちょい勉強が必要ですね。。。

参考URL

広告