サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
iwsttty.hatenablog.com
化石みたいな問題。 よく知られていることだが、下記のような各行を足し算するシェルスクリプトを書くと、最後の結果が0になってびっくりする。 $ cat get_nothing.sh __calculate_total() { local total=0 fpath=$1 cat $fpath | while read line; do total=$(( $total + ${line:-0} )) done echo "Total reaches $total" } __calculate_total $@ $ cat numbers.txt 101 -40 4566 32 $ bash ./get_nothing.sh numbers.txt Total reaches 0 これはwhile等の制御文だったかパイプの先だったか忘れたが、bashが別プロセス起こしちゃうんで、戻ってくるとき
Rubyを時々触るのだけれど、こんなプログラム: # -*- coding: utf-8 -*- puts "あいうえお" を組んで、実行すると PS D:\home\iwsttty\> ruby .\puts_japanese.rb 縺ゅ>縺・∴縺こうなる。で、あれ?と思って、ああ「-U」オプション忘れてたと気づく。国産言語なのに、こんな単純なプログラムでさえ、日本語をJavaみたいによろしくやってくれない。 くやしいので、なぜこうなるのかというところを理解するために、とりあえず図にする。 左側が書き込みのとき、右側が読み込みのとき。矢印は実線と破線の二種類があって、前者はそのままバイト列が渡されること、後者は何らかの変換がされることを表わしている。 書き込みのときは、外部エンコーディングが明示的に設定されているかどうかで挙動が異なる(内部エンコーディングは関係ない)。設定されていなけれ
先日、仮想Linuxマシン(CentOS7)に複数のネットワークインターフェイス(以下、NICa、NICbとする)を持たせて、NICbが接続している側のゲートウェイをマシン全体のデフォルトゲートウェイ(以下、デフォゲ)にしようとしたのに、起動時にどうしてもルーティングテーブルのデフォゲがNICa側のゲートウェイになって困った。 状況としては、以下の通り: /etc/sysconfig/networkのGATEWAY設定はNICb側 nmcliコマンドで、NICa, bともにそれぞれのゲートウェイを設定 調べたところ、以下のことが分かった。 各NICには優先順位がある。("in numerically ascending order"らしい) 各NICは、最初に/etc/sysconfig/networkのGATEWAY設定、次に個々のifcfgファイル (/etc/sysconfig/ne
(12/10) 再度見てみたら、NAT Networkのところも問題なく接続できていた。確認方法がいまいちなだけだった。というわけで、この記事はあたかも最初からうまく設定できてたように書き直す。 # 嘘はついていない。あくまで確認が不足していただけ…。 (3/8) バージョン4.3.8から、ping proxyが実装されているので、NAT Network でもpingが通るようになっていた。なんかこの記事、追記が多すぎるので書き直したい。 とにかくVirtualBoxのネットワーク設定である。構築に使用したOS やVirtualBoxのバージョンは以下の通り。 ホストOS Windows 8.1 ゲストOS CentOS 6.5 VirtualBox 4.3.4 r91027 *1 一つのホストOS上に以下のような仮想ネットワークを構成する。 想定としては、管理用セグメントをHost-On
Java などの try〜catch 構文を Perl で実現するには、eval() 関数を使えばよいというブログを見かける。 間違ってはいないのであるが、陥りやすい罠がある。プログラムを組む上で、エラー処理は非常に重要なので、ここに記載しておくことにする。 例として、Java でファイルを一行ごとに読み込むプログラムを考える (try〜catch と言いながら、catch がないけどイメージは伝わるはず)。 BufferedReader fromFile = null; try { fromFile = new BufferedReader(new FileReader(..)); while(true) { String line = fromFile.readLine(); if (line == null) { break; } ..(省略).. } } finally { if
Windows7 に VMWare Server を乗っけてNAT接続するのに、少し苦労したのでメモ。 といっても、他のブログにたくさんやり方が載っているので、詳細は割愛。結局こういうことに違いない。↓ (1) ICS設定は、インターネットに出ていく「ローカルエリアネットワーク接続」に対し設定する。プルダウンメニューで選ぶ許可先が「VMnet8」。この設定はWindowsの管理者権限が必要。言わずもがなだが、図の192.168.0.2は環境によって異なる。 (2) Virtual Network EditorでのNAT設定について、VMnet8のサブネットは「192.168.137.0/24」、「Gateway IP address」は「192.168.137.1」でほぼ固定。 (3) ゲストOS側ネットワークの設定の要点は、(2)の設定の反映を忘れないということだけ。忘れると、ゲストOS
このページを最初にブックマークしてみませんか?
『iwsttty.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く