くんすとの備忘録

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

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

10/07(土)に東京で行われた「jus共催 第31回朝からだと疲れるから午後からでええじゃろシェル芸勉強会」について、今回も大阪でサテライトしました!

イベント情報

東京(本家)

usptomo.doorkeeper.jp

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

大阪サテライト

atnd.org

福岡サテライト

atnd.org

大阪サテライトレポート

参加者

今回もさくらインターネット様から会場をお借りしできました。 募集期間が短かったり他のイベントと被ったりで、今回の参加者は8名。初めましての方は1名でした。若者が増えるで、結構うれしかったりしますw
今回は前回の教訓を活かして机を囲んで、相談……とまではいけませんでしたが、難しい問題で少しアイデアを出し合う感じのはできたかなあという感じです。

会場のようす

午後

今回はパズル回ということで、ゴリゴリ系の問題が多かった感じです。

次回、恐ろしいですね……!(wktk

LTのようす

東京

大阪

今回もYoutubeで配信していただけました! 録画はコチラ ↓ 

くんすと(@kunst1080) 「rmコマンドチキンレース!」


以前のサイゼリヤミートアップで話題(https://twitter.com/kunst1080/status/912293867596111872)になった「rmコマンドチキンレース」の解説と実演です!\

いずれ単独イベントやりたいですね。

日柳 光久(@mikkun_jp) さん 「JavaScript製シューティングゲームをフルスクラッチで作ってみた / JavaScript Shooter Game from Scratch」


パフォーマンスなどを考慮して、ピュアJavaScriptでゲームを作りました、というお話でした。

完成品はコチラで遊べます→https://mikkun.github.io/evade-and-destroy/

たいちょー(@xztaityozx_001) さん 「ダブルシンク難読化シェル芸」


読みにくいのか読みにくくないのかよくわからなくなってきます……(発表は超面白かったですw

発表に出てきたツールはコチラです→https://github.com/xztaityozx/shellhuffman

so(@3socha) さん 「サイゼリヤで学ぶシェル芸」


先日のサイゼリヤミートアップで得られた知見ですね。ぼくのPCは、改善前の方のシェル芸でフリーズしかけました。

いるやん(@Iruyan_Zak) さん 「sed 's/.*/sed計算機/'」


sedで計算機を作ってシェル芸の問題を解いたということで、そのソースの解説でした。「sedで計算機を作って」っていう時点で既にヤバイですw

サンプルコードはコチラ→https://wandbox.org/permlink/uF77pCn8QdhpfkcA


その他

LT超募集してます。ジャンルは不問ですのでお気軽に!シェル芸関係なくても大丈夫でっす!

まとめ

上田会長、東京・福岡・大阪の皆様、お疲れ様でした。
さくらインターネット様、今回も会場を使わせていただきましてありがとうございました!

次回もできればまたよろしくお願いします!!

Twitter Bootstrap2のmodal()でfocusが外れてしまうことへの対策

原因

犯人は、showメソッドの中で設定されている transitionend イベント。

modalのセットされているjQueryオブジェクトにtransitionend イベントが割り当てられ、その中でfocus()が走るようになっている。

https://github.com/twbs/bootstrap/blob/v2.3.2/js/bootstrap-modal.js#L75-L77

          transition ?
            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
            that.$element.focus().trigger('shown')

対策

transitionend イベントを止める。

[サンプル]

$modal.on("transitionend", function(e){
  e.stopPropagation()
})

参考情報

その他

2017年にもなってBootstrap2……

【メモ】keymapのデータが入ってるパッケージ

loadkeys jp106 とかができないときのためのメモ。

環境

  • Ubuntu Server 17.04 (64bit)

インストール

$ sudo apt-get install console-common console-data unicode-data

パッケージ情報

追記

ちなみに、loadkeysコマンド自体はkbdパッケージに入っている。 ※dockerコンテナには含まれていない。

Ubuntu Manpage: loadkeys - load keyboard translation tables

Ubuntu Serverで、CLIでWifi接続する方法

ノートPCにUbuntu Serverをインストールしたんですが、Wifi接続どうするんだっけ……となったのでやってみました。 wpa_supplicantを使います。

環境

  • Ubuntu Server 17.04 (64bit)

接続方法

デバイス名の確認

$ ip link show

それっぽい名前を探します。(wlanXXとかwlpXXとか)
→ うちの子の無線デバイスは wlp2s0 でした。

接続設定ファイルの作成

SSIDとパスフレーズから、wpa_passphrase コマンドで設定ファイルを作成

$ wpa_passphrase MYSSID passphrase > /etc/wpa_supplicant/home.conf

こんな感じのファイルができます。

network={
        ssid="MYSSID"
        #psk="passphrase"
        psk=59e0d07fa4c7741797a4e394f38a5c321e3bed51d54ad5fcbd3f84bc7415d73d
}

※設定ファイルの置き場はどこでもOK

接続

wpa_supplicant で無線ネットワークに接続し、dhcp でIPアドレスを取得します。

$ sudo wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/home.conf
$ sudo dhclient wlp2s0

まとめ

今はシェルスクリプトで接続してます。
もっと楽したい……

参考URL

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

08/26(土)に東京で行われた「jus共催 第30回危念シェル芸勉強会」について、今回も大阪でサテライトしました!

イベント情報

東京(本家)

usptomo.doorkeeper.jp

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

大阪サテライト

atnd.org

福岡サテライト

atnd.org

大阪サテライトレポート

参加者

今回はさくらインターネット様から会場をお借りしできました。いつもの3倍くらいのサイズだったのでいろいろと持て余してしまいましたが……
次回は今回を踏まえて、机の形を整えたりしてもうちょいいい感じにしたいと思います。
今回の参加者は、私も含めて14人、たしか全員2回目以降の参加だったような。部屋も広くなったので、初心者の方もウェルカムですよっ!

会場のようす

午前

鳥海秀一さん(@hid_tori)「Perlの正規表現(その2)」


スライド→https://umidori.github.io/shellgei-29th-am/index.html

Perlワンライナーの書き方や代表的なオプションなどの説明でした。ちなみに次回は「Perl正規表現入門」だそうです。




おひる

大阪、午前中でグロッキーになり、お昼は前回のLTを見つつ静かな感じで。。。

午後

「「「地獄」」」

地獄 オブ 地獄

LTのようす

東京

大阪

今回もYoutubeで配信していただけました! 録画はコチラ ↓ 

くんすと(@kunst1080) 「シェル芸思考」


シェル芸で問題を解くときに考えていることを軽くまとめました。設計だいじ。

MSR(@msr386) さん 「fork爆弾爆発中のロードアベレージを見る」


前回に引き続き、fork爆弾を計測するデモ。発表後に作成された参考動画もあるようです。

たいちょー(@xztaityozx_001) さん 「破壊的難読化シェル芸」


前回も発表して頂いた「難読化シェル芸」の、gzipを使った発展版。どんどん危険度が上がっていきますね・・・

so(@3socha) さん 「AWS API リクエストへの署名」


AWSの特定のAPIについてSDKが用意されていないので、直接APIを叩くためにAPIリクエストを自前で署名する、という行為ををワンライナーでやるという話。 こうやって、仕様を追いかけながら動きを確認できるのがワンライナーのいいところですよね(しろめ。 正直長いのでシェルスクリプトにした方がいいと思います!


その他

LT超募集してます。ジャンルは不問ですのでお気軽に!!!

まとめ

上田会長、東京・福岡・大阪の皆様、お疲れ様でした。
さくらインターネット様、今回は会場を使わせていただきましてありがとうございます!

次回もできればまたよろしくお願いします!!

BATファイルで特定フォルダ以下の特定の拡張子のファイルに対して処理を実行する方法

例として以下の条件で考えます。

  • フォルダ: Desktop
  • 拡張子: *.txt

このとき、Desktopフォルダ以下の*.txtファイルの一覧は以下のコマンドで表示できます。

dir /s /b Desktop\*.txt

/sは再帰検索、/bはファイル名のみ表示するオプションです。少し気持ち悪い指定ですが、これでDesktop以下の全てのサブディレクトリに存在する*.txtファイルを表示できます。

ファイル一覧が表示できたので、この結果をfor文に渡します。 例として、ファイルリストの前後にAAABBBを付けてechoします。

for /f "usebackq tokens=*" %%i in (`dir /s /b Desktop\*.txt`) do @echo AAA %%i BBB

これで echo AAA %%i BBBにファイル一覧が渡り、前後にAAABBBが付きました。

BATファイルでBOM付きUTF-8ファイルからBOMを取り除く方法

検証環境

Windows10 64bit

方法

input.txt からBOMを取り除いて、 out.txt テキストを出力する場合

start /min /wait cmd /c chcp 65001 ^& cmd /u /c type input.txt ^> $$$ ^& cmd /c type $$$ ^> out.txt ^& del $$$

コマンド自体は参考にしたところのほぼコピーですが、参照元には解説がなかったので分かる範囲で解説します。

解説

まずは各コマンドや引数を/?などで確認

  • start /min /wait外部プロセスでコマンドを起動(start)。ウィンドウを最小化(/min)、実行が終わるまで待つ(/wait)。
  • cmd /c コマンドプロンプトを起動し、引数に渡された文字列のコマンドを実行し終了する(/c)。
    • &はコマンドの実行が終わったら次のコマンドを実行するの意味。bashで言うところの ;
    • ^はコマンドプロンプトのエスケープシーケンス
    • ^& はエスケープされて文字列になった&
    • ^>はエスケープされて文字列になった>
  • chcp 65001 コマンドプロンプトの文字コードをUTF-8に変更する。(デフォルトはShiftJIS)
  • cmd /uは、内部コマンドの出力結果Unicodeパイプまたはファイルに出力するオプション
    • デフォルトは/a(ANSI)
  • typeコマンドはテキストファイルの内容を出力する内部コマンド
    • catみたいなもの
    • ShiftJISでもUTF-8でもUnicodeでも何でも読めるみたい

まとめるとこんなステップになります。

  • コンソールの文字コードをUTF-8にする
  • Unicodeのモードでinput.txtを開き、$$$に保存
    • $$$ファイルは「BOM付きUnicode」になる
  • ANSIのモードで$$$を開き、out.txtに保存
    • ANSIのモードではBOMが付かないため、BOMが外れる(現象からの予想)
    • out.txtは「BOMなしUTF-8」になる
  • $$$ファイルを削除

ANSIのコマンドプロンプトでUTF-8のファイルをtypeしてリダイレクトしてもBOMは外れない模様。 (文字コードが同じだから変換が発生しない?) なので、一旦unicodeを経由して変換することで無理やりBOMを取り外してるみたい。

参考

広告