タグ

ブックマーク / takuya-1st.hatenablog.jp (12)

  • curl コマンドでWEBリクエストするC言語のソースを自動生成 - それマグで!

    curl の実行を再現するC言語を作る、--libcurl オプション curl に libcurl オプションをつけると、C言語のソースが出力される。なにこれ楽しい。 使い方例 次のように --libcurl ファイル名 をオプションにつける. curl 'https://api.ipify.org?format=json' --libcurl get_global_ip.c # >{"ip":"103.xxx.1x2.6x"} するとCのファイルが出力されるので、コンパイルする gcc get_global_ip.c -o global_ip -lcurl で、コンパイルされたバイナリを実行する。 ./global_ip # >{"ip":"103.xxx.1x2.6x"} 何だこれ、楽しい。 もしかして、gist / gyazo のアップロード、PHPに定期的に呼び出すなど、定型文の

    curl コマンドでWEBリクエストするC言語のソースを自動生成 - それマグで!
  • bashのシェルスクリプトで拡張子を取得して利用するときのまとめ - それマグで!

    特定の拡張子に○○する的なことはよくある シェルスクリプトを書いていると拡張子で判別したいことはよくある。 bashで拡張子を取得するには bashのブレース展開が一番ラクです。 path=/etc/apache2/httpd.conf extension=${path##*.} #=> conf 特定のディレクトリの中で拡張子を取得するには xargs と組み合わせる find | xargs -I@ bash -c 'path=@; echo ${path##*.}' そもそも拡張子の取得が必要ですか? そのシェルスクリプトで拡張子をもとに検索をしたいなら、拡張子を取る必要はないかもしれないですよ。 指定した拡張子を検索 grep . -R --include=*.php 指定した拡張子のファイルを列挙する。 find -type f -name '*.php' ファイル名がマッチする

    bashのシェルスクリプトで拡張子を取得して利用するときのまとめ - それマグで!
  • bashの似てて紛らわしいもの '.' と 'source' について - それマグで!

    似てて紛らわしいものシリーズ  . / source について bash の記号で初心者泣かせの、似てて紛らわしかったり、使い分けがわからなかったり、読み方を間違えてパニックになる記号について書く。 . / source について . と source は、どちらも同じ意味と効果を持ちます。 . / source は外部のファイルを読み込んで現在実行中の箇所に展開します。 他の言語でいうところの、require や import になります。 大きな違い . は POSIX に定義されていてどこでも使えます。 source は bash 特有のコマンドです。*1 そのため source コマンドは/bin/sh では使えません。と一般的に説明されてています。 sh では sourceは動きません。。。? そのshはほんとうにshですか? 例外もあります。 たとえば、手元のmac OSX

    bashの似てて紛らわしいもの '.' と 'source' について - それマグで!
  • jq で 条件にマッチするオブジェクトを取り出す where 句的なこと - それマグで!

    jq 便利ですよね。 jq 使ってます。みんなあれ整形程度にしか使ってなかったり、絞込にしか使ってない気と思うんですよね jq である条件を満たすオブジェクトを取り出したい SQLのselect where みたいに select {} where [].name = 'takuya' みたいな jq がかけたら最高なんですよ。 条件マッチしたノードを取り出す例 $ echo '[ { "a":1 }, { "x": 1 } ]' | jq ' .[] | select(.x) ' { "x": 1 } 出来るんです。マニュアルに有りました。ああ。これは最高だ。 単純なところから、見ていく いきなり select 見ても何のことかわからないので、単純なところから見ていくことにする。 単純な整形 jq を使って整形をするよくある例です。これは jq . と書いてます。つまりカレントノードを出

    jq で 条件にマッチするオブジェクトを取り出す where 句的なこと - それマグで!
  • sslh でport443 を有効活用して、sshもhttpsも同時に待ち受けする。 - それマグで!

    443ポート以外が絶滅しそうです あちこちでポートは閉じられています。ssh や sftp もプロキシ利用も、各種ポートでは、全く外部に出れず、接続できないネットワークが多いです。 TCP/IPなのにIPとポートを使った通信ができない、壊れたネットワークが当然になりました。 これらの接続制限にとても不便を感じることが多いです。 サーバー管理者の気分一つでポートが空いたり閉じたり、私が触ってたネットワークではポリシーが統一されず、クソネットワーク管理者に振り回されて、動くはずのものが動かず、不便なことが多かったのです。そこで仕方なく443を使っています。 私達が利用する端末では80/443 のポートの外部接続が閉じられることは少なく、443であれば通信できます。 そのため、443ポートに様々なアプリケーションを起動していると思います。 443 ポートとIPアドレスが枯渇する・・・ よほどのG

    sslh でport443 を有効活用して、sshもhttpsも同時に待ち受けする。 - それマグで!
  • みんな大好き、dig コマンドの使い方(dnsを調べるあれこれ - それマグで!

    みんな dig ってますか? http でファイルが開けない時、真っ先に見るべきは iptable でも、ifconfig でもなくて dig です。 まず、dig を確認するよね。 dig の使い方 dig は名前解決を試みるコマンドです。 名前解決とは何か、、DNSの仕組みについては触れません。コマンドを使っていけばわかると思うし。 dig で 名前解決する dig t.co ドメインから、IPアドレスを探す。 dig で逆引きする。 dig -x 8.8.8.8 逆引きすると、IPアドレスからそのIPの持ち主がだいたい分かることが多い MXレコードを指定する dig yahoo.co.jp mx ns レコードを探す dig yahoo.co.jp ns txt レコードを探す dig yahoo.co.jp txt 表示をシンプルにする 結果だけ欲しい時に使う、プログラムと組わせて

    みんな大好き、dig コマンドの使い方(dnsを調べるあれこれ - それマグで!
  • brew でMacAppStoreを管理するコマンドmas-cliをインストール - それマグで!

    MacAppStore のアプリをコマンドから 若者のMacAppStore離れが深刻ですが。MacAppstoreはアレはアレで便利には使えるものです。 Mas = Mac App Storeをコマンドからつかう https://github.com/argon/mas を使うとコマンドから管理できるということなのでヤってみた。 インストール brew でぱぱっと github から持ってくる。 takuya@~$ brew install argon/mas/mas ==> Tapping argon/mas Cloning into '/usr/local/Library/Taps/argon/homebrew-mas'... remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), don

    brew でMacAppStoreを管理するコマンドmas-cliをインストール - それマグで!
  • Bash Completion for Mac OS X security command - それマグで!

    os x security command with bash completion example takuya@~/Desktop$ security -i authorize delete-keychain get-identity-preference set-keychain-password -l cms dump-keychain help set-keychain-settings -p create-db dump-trust-settings import show-keychain-info -q create-filevaultmaster-keychain error install-mds trust-settings-export -v create-keychain execute-with-privileges leaks trust-settings-i

    Bash Completion for Mac OS X security command - それマグで!
  • ruby ワンライナーの使い方まとめ - それマグで!

    Ruby のワンライナーについて、書いていきます。 ワンライナーを使うと ワンライナーを使うと、置換や出力処理がとっても便利になります。 ruby -ne '$_.gsub!(/takuya/,"takuya_1st")' -i my_blog.txt 今回使うサンプルファイル はじめに次のようなファイルを用意しました。こんかいはこのサンプルを使います コーヒ・フラペチーノ 420 ダークモカチップフラペチーノ 490 抹茶クリームフラペチーノ 470 バニラクリームフラペチーノ 470 基の -e オプション 基の-eオプションです。ruby スクリプトを直接指定する方法です。 takuya@air:~/Desktop$ ruby -e 'puts ARGF.read' test.txt コーヒ・フラペチーノ 420 ダークモカチップフラペチーノ 490 抹茶クリームフラペチーノ 4

    ruby ワンライナーの使い方まとめ - それマグで!
  • Evernoteの魅力を再発見しよう。ザクとは違うのだよ。 - それマグで!

    Evernoteの魅力について語ってみましょう。 何より初めにわかってほしい。 他との比較は不可能。 EvernoteEvernoteであって唯一無二、比類無き存在。 もし、比較するなら、GmailやWordpressが対象になると思う。 EvernoteEvernoteなんです。他にこういうものはない。 一番近いのはMicrosoftOnenoteExcelです。 オンラインストレージとして見たら?Evernoteは上限なし。(実質 Evernoteは「月間転送量」制限です。昔のFlickr方式です。 毎月決められた上限までのアップロードが可能です。 GoogleDriveやDropboxのような容量上限が有りません。 なので、オンラインストレージとしても使えるがオンラインストレージより遥かに大量のファイルを保存することが出来る。 プレミアムなら毎月1GBまで新規ファイルを作

    Evernoteの魅力を再発見しよう。ザクとは違うのだよ。 - それマグで!
  • Windowsの起動しない&認識しないHDDを修復する(raw/bootsect/mbr/chdsk) - それマグで!

    故障したWindows HDDが持ち込まれ、修復したのでメモ ディスクの回復作業 HDDはWindowsがブートしない感じだった。 必要な作業 ディスクのバックアップ 必要なツール・ハードの準備 用語とHDDに付いて最低限の知識 必要なツールの準備 作業手順 故障ディスク修復の初めにやること!ディスククローン 故障ディスクディスクをみたら、なによりもまず、クローンを行いましょう。 故障ディスクを直接触るのは厳禁。 ディスクコピーを作る専用機 6000円くらいです。しかもプライム対応。幾つか試したけどこいつが電源の安定性と速度が優れてた。 その他のクローン機器 クローニングはDDコマンドで行うことも出来るが、CPUメモリ性能や・USB性能に左右されて時間がかかるの。専用クローン機器があったほうが時間を有効に使える。マルチタスクで作業進行できて嬉しい。ddに慣れない人は、生兵法は大怪我のもと。

    Windowsの起動しない&認識しないHDDを修復する(raw/bootsect/mbr/chdsk) - それマグで!
  •  いますぐコマンドプロンプトを捨てて、Cygwinを使うべき10+の理由 - それマグで!

    Mac大流行なのでCygwinに需要ないかもしれないけど。一年間のCygwin体験をまとめてみた。今年1年で一番使ったツールで感謝してる。 CygwinはWindows環境にそのままLinuxのCUIツールを導入できる。もう「コマンドプロンプト」に拘る必要は薄くなりました。 僕は今年1年の一番の収穫はCygwinを使ったこと。 Cygwinを使うことでターミナルを使いこなせるようになった。そしてMacに移行してもターミナルさえあるから困らないと思えるようになりました。 コマンドプロンプトを捨てるべき理由 ・SSHコマンドでリモートサーバにアクセスしても文字化けする。 ・色・フォントがダサくて使い物にならない。 ・コマンドが少ない。grep したい。findしたい cmd.exeをすててMinttyを使おう。 Cygwinを使うと、minttyというPuttyベースの素晴らしい。ターミナルが

     いますぐコマンドプロンプトを捨てて、Cygwinを使うべき10+の理由 - それマグで!
  • 1