Pythonでファイルの存在確認をするには
#!/usr/bin/env python import os if os.path.exists("/tmp/hoge.png") : print "Exists" else : print "Not Exists" print "end"
os を使う。
bashの場合
if [ -f /tmp/hoge.png ]; then echo "Exists" fi
パスワード学習させたフォームを利用すると、ドコモのサイトがおかしくなった。
ブラウザが記憶しているフォーム値を自動補完すると、スクリプト側からは読めない。
ブラウザのパスワード自動入力機能で保管されたパスワードをJSで読み取るのは不可能になっている。サイトスクリプト側へのShadow Domなのでパスワードは保護されて見えない。値の読み取りは不可能になる。その分安全になる。
この理由で、ドコモのスクリプトは入力されたパスワードを拾えない。
なので、入力があるのに、私はパスワード空白チェックを通れない。
当たり前ですよね。Scriptタグは任意ドメインから読み込み可能なので、jQuery.com が乗っ取られた時に <script src='http://jquery.com/xxx /> とか書いてたらパスワードを丸見えになるもんね。
こういうブラウザ側のセキュリティ対策を無意味化するような無駄なパスワードチェックって本当に有害であって、セキュリティ対策上は有名無実だと思うんですけど。
なぜ、こんなことになるのか、それはフォーム値をAjax送信するためだ。Ajaxで別ドメインに送信するために、入力パスワードを読みだしている.
ドコモさんは、ログインフォームの内容をAjaxで送信して、Cookieを貰ってそれからリダイレクトするってIceWallを使って実現してるらしい。ログインフォームの中身をAjaxで Post するとかちょっとありえないよね。。。
ログイン情報のajax post が「当たり前」として扱われる時代になったのかな。。しかし、ajax のクロスオリジンポリシは「データ送信後」にヘッダチェックするじゃん?なので、actionを書き換えると通信データが漏洩するのではないでしょうか。webkitの拡張機能がDOMを仮想化して守ってるのに、通信部で第三者にパスワードを送信できるのはないか。form のaction の書き換えがあってもページ遷移するから気づく可能性が高いがAjaxはそうも行かないだろう
セキュリティ上アレコレやりたいのはわかるけど、ブラウザの標準機能を上書きしたりHTTP通信をこねくり回したログイン構成は、却って問題を引き起こす可能性があるので。私は大嫌いです。
パスワードを学習オフにされたサイトのフォームを学習する - それマグで!
このときは、 document.querySelectorAll()なんて知らなかったので、jqueryをloadして使ってました。
querySelector ってほんとうに便利。
(function(){ var list = document.querySelectorAll("*[autocomplete]"); (Array.apply(null,list)).forEach(function(e){ e.autocomplete='on' }); })()
autocomplete off を on に変えるといいんだけど、、、
my docomo とかは、学習しないことがある。それは Form.submit() が呼ばれるタイミングで学習されるからです。
学習するには、 submit 呼び出し。
パスワードを入力した状態で、submitすると良い。
document.querySelecor("form#XXX").submit()
submit を明示し、ちゃんとページ遷移すると、学習することが多い
たとえば、8GBのディスクイメージは次のように表示される。
8GBだけど、7. 97 GBと表示される。
fdisk をして、掛け算して計算してみよう。
takuya@rena:~/Desktop$ sudo fdisk /dev/disk1 Disk: /dev/disk1 geometry: 968/255/63 [ sectors] Signature: 0xAA55 Starting Ending #: id cyl hd sec - cyl hd sec [ start - size] ------------------------------------------------------------------------ 1: 0B 0 130 3 - 968 220 20 [ 8192 - 15556608] Win95 FAT-32 2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused 3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
商品の容量は8GBだったとして、その通りの容量がないのはみんな知ってる。
ディスクは512Bを1セクタとしているので、容量は次のように「表記」される。
バイト数 = セクタ数xセクタ容量 なので、次のように計算される。
15564800*512 = 7,969,177,600
ディスクイメージやファイルの容量は、次のように計算される。
15564800*512/1000/1000/1000 = 7.9691776 ≒ 7,97 GB
15564800*512/(2^30) = 7.421875
ディスクイメージを扱うときは、GB や MB などLinuxコマンドは容量を受け付けてくれるし、セクタ数も使えるので、単位には十分に注意しないと。。。
http://pc.watch.impress.co.jp/docs/2003/0922/it010.htm
http://archive.linux.or.jp/JF/JFdocs/Large-Disk-HOWTO-3.html
OSX の fdisk と linux の 実行表示結果に差異があったので、ちょっと考えてみた。
使ったディスクイメージはRaspberryPi のディスクイメージ。
takuya@ubuntu:~$ fdisk -l -u rasbian.img Disk rasbian.img: 16.1 GB, 16122904576 bytes 255 heads, 63 sectors/track, 1960 cylinders, total 31490048 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00047c7a Device Boot Start End Blocks Id System rasbian.img1 8192 122879 57344 c W95 FAT32 (LBA) rasbian.img2 122880 31490047 15683584 83 Linux
takuya@rena:~/Desktop$ fdisk ./rasbian.img Disk: ./rasbian.img geometry: 1960/255/63 [31490048 sectors] Signature: 0xAA55 Starting Ending #: id cyl hd sec - cyl hd sec [ start - size] ------------------------------------------------------------------------ 1: 0C 0 130 3 - 7 165 30 [ 8192 - 114688] Win95 FAT32L 2: 83 896 0 1 - 511 3 16 [ 122880 - 31367168] Linux files* 3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
2つの実行結果はいっけん違って見えるけれど、良く見ると同じ。
と同じものが違う形式で表示されている。
Linuxは開始セクタ番号-終了セクタ番号で書いていて、一方でOSX は 開始セクタ番号+セクタ数で書いている。こちらも同じことですね。
OS | 書き方 |
---|---|
mac OSX | 開始セクタ番号 , サイズ |
linux | 開始セクタ番号 , 終了セクタ番号 |
なので、 [サイズ] = [終了セクタ番号] - [開始セクタ番号] + 1
とすれば、確かに一致する。序数(番号)と個数なので植木算ですね
31490047 - 122880 = 31490047
なので、サイズは 植木算的に+1をすれば
31490047 + 1 = 31490048
となり、一致する。
なので、何もビビることはないってわかり一安心。
Xpathは慣れてくるとパズル・ゲームみたいで私は大好きです。
古臭いテーブル・レイアウトのHTMLをスクレーパーするときに大活躍します。
Xpathの条件としては書き方もいろいろあげられますが、今回は、絞り込みを [ ] で行う例です。
子ノードにformを持つTableを探す
//table[.//form]"
子ノードにformがaction=post.php を持つTableを探す。
//table[.//form[@action='post.php']]"
//table[.//form[@action='post.php'] and .//button ]"
/element[ 条件 and 条件 ]
これが基本的な書式だと思います。
あとは、この条件を併せて書きます。
/element[ 条件 and 条件 ]/element[ 条件 and 条件 ]
まずは、この基本形を覚えたらXpathで戦えると思います。
一般的には次のように紹介されてることが多い。
/node/element[1] /node/element[2] /node/element[3] /node/element[4]
兄弟として要素が並んでいるところから取り出す。
<root> <anchor> <em></em> </anchor> <anchor> <em></em> </anchor> <anchor> <em></em> </anchor> <anchor> <em></em> </anchor> </root>
XML中で要素が並んでいる時に使える。
/element/*[1] #=> 1つ
強欲に "//*" を使っている場合は、n番目の指定は注意が必要。
//a
//a[1]
上のように、子孫ノード全部から選んだ場合は、子孫ノードで 並んでいるところの先頭を全部取り出す。
<root> <a></a><!-- ここ は1番目 --> <a></a> <a></a> <list> <a></a><!-- ここ は1番目 --> <a></a> <a></a> </list> <list> <a></a> <!-- ここ は1番目 --> <list> <a></a><!-- ここ は1番目 --> <a></a> <a></a> </list> <a></a> <a></a> </list> </root>
なので4つノードが取得される。
//a[1] #=> 4つ
xpath の【a[1]】 は実行結果に対して、1番目のノードを選んでいるのではなく、検索条件であることをもう一度意識したら間違わないと思います。
Raspberry Pi のSDカードの出っ張りが気に入らない。割りそうで怖い。
SDカードは意外と丈夫なので、気をつけておけば問題はないと思うのですが、「気をつける」という一手間が面倒だと思います。
Amazon でmicroSD アダプタが売られているが、高い。
千石通商で500円(税別)で売られてた。出来はいまいちかもだけどちゃんとセットできればいい。
MicroSDはそのスペックも進化していて、単純に安いのを買ってあとで痛い目を見るのは勘弁したい。 Class10を買おうとおもってた。。。
シーケンシャル・リード 90MB/s もでるのか! NAS のHDDと変わらない。
レビューを見ると、書き込みも速度出てる模様。
一瞬ポチりそうになったっけど、ちょっと落ち着いて考えた。そもそもこの速度を活かせるのか?
えっと、USB3.0だと余裕だけど、USB2.0だとちょっと活かし切れない。
RaspberryPiはUSB2.0の一本に2本の端子口が付いているて、LAN-100base もUSB経由だから・・・
MicroSDだけ高速対応でも、USB2.0でWifi/100Base、LAN/100Base、SDカードも共有をしてるはずだから。。。。ちょっといいもの買っても完全に無駄金になりそう。
Raspberry pi の使用容量を確認してみたところ。
takuya@raspberrypi:~$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 rootfs 15G 2.7G 12G 19% / /dev/root 15G 2.7G 12G 19% / devtmpfs 239M 0 239M 0% /dev tmpfs 49M 264K 49M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 98M 0 98M 0% /run/shm /dev/mmcblk0p1 56M 9.5M 47M 17% /boot
RaspberryPiの書き込み速度に限界を感じてるので、高速MicroSDに惹かれたけれど、正直生かせるはずもないだろうってことだし。NASにするなら、USB3.0対応ルーター買ってdd-wrt突っ込んでHDDつなげたほうがいいわけで。
ちょっと調べてた時に見かけた
RaspberryPiはどうせ、NFSマウントかAFP経由で、ネットワークディスクを使うことにすればmicro容量もそんなにいらないはず。。なんで殆ど空っぽでいいやと思うことにする。
bootloader だけ突っ込んだらそれでもういいわけで・・・
レビューを見ると速度出てる。
Seeed Studio 800051001 Raspberry Pi用 短いmicroSDカードアダプタ 【スライドロック式】
adafruit ADA-966 Raspberry Pi用 短いmicroSDカードアダプタ 【プッシュロック式】
dpkg で確認してみたところ、インストールしてるパッケージはこんなもの。
8GB使いきるの結構大変なのかも。
adduser install alsa-base install alsa-utils install apache2 install apache2-mpm-prefork install apache2-utils install apache2.2-bin install apache2.2-common install apt install apt-show-versions install apt-utils install aptitude install aptitude-common install aspell install aspell-en install asterisk-config deinstall autopoint install avahi-daemon install avahi-utils install base-files install base-passwd install bash install bash-completion install bind9-host install binutils install blt install bsdmainutils install bsdutils install build-essential install bzip2 install ca-certificates install cifs-utils install console-setup install console-setup-linux install consolekit install coreutils install cpio install cpp install cpp-4.6 install cron install cups-bsd install cups-client install cups-common install curl install dash install dbus install dbus-x11 install dconf-gsettings-backend:armhf install dconf-service install debconf install debconf-i18n install debconf-utils install debhelper install debian-reference-common install debian-reference-en install debianutils install deborphan install debsums install desktop-base install desktop-file-utils install dialog install dictionaries-common install diffutils install dillo install dmsetup install dnsutils install dphys-swapfile install dpkg install dpkg-dev install e2fslibs:armhf install e2fsprogs install ed install esound-common install fake-hwclock install fakeroot install fbset install ffmpeg install file install findutils install firmware-atheros install firmware-brcm80211 install firmware-libertas install firmware-ralink install firmware-realtek install fontconfig install fontconfig-config install fonts-droid install fonts-freefont-ttf install fonts-liberation install freetds-common deinstall fuse install g++ install g++-4.6 install galculator install gcc install gcc-4.5-base:armhf install gcc-4.6 install gcc-4.6-base:armhf install gcc-4.7-base:armhf install gcj-4.6-base install gcj-4.6-jre-lib install gconf-service install gconf2 install gconf2-common install gdb install gdbserver install geoip-database install gettext install gettext-base install ghostscript install git install git-core install git-man install gksu install glib-networking:armhf install glib-networking-common install glib-networking-services install gnome-accessibility-themes install gnome-icon-theme install gnome-themes-standard install gnome-themes-standard-data install gnupg install gnuplot install gnuplot-nox install gpgv install gpicview install grep install groff install groff-base install gsettings-desktop-schemas install gsfonts install gsfonts-x11 install gtk2-engines:armhf install gvfs:armhf install gvfs-backends install gvfs-common install gvfs-daemons install gvfs-fuse install gvfs-libs:armhf install gzip install hardlink install hicolor-icon-theme install hostname install html2text install idle install idle-python2.7 install idle-python3.2 install idle3 install ifplugd install ifupdown install imagemagick install imagemagick-common install info install initramfs-tools install initscripts install insserv install install-info install intltool-debian install iproute install iptables install iputils-ping install isc-dhcp-client install isc-dhcp-common install iso-codes install kbd install keyboard-configuration install klibc-utils install kmod install krb5-locales install leafpad install less install lesstif2:armhf install libaa1:armhf install libacl1:armhf install libalgorithm-c3-perl install libalgorithm-diff-perl install libalgorithm-diff-xs-perl install libalgorithm-merge-perl install libao-common install libao-dev install libao4 install libapache2-mod-php5 install libapr1 install libaprutil1 install libaprutil1-dbd-sqlite3 install libaprutil1-ldap install libapt-inst1.5:armhf install libapt-pkg-dev:armhf install libapt-pkg-perl install libapt-pkg4.12:armhf install libarchive12:armhf install libasound2:armhf install libaspell15 install libasprintf0c2:armhf install libasyncns0:armhf install libatasmart4:armhf install libatk1.0-0:armhf install libatk1.0-data install libattr1:armhf install libaudio2:armhf install libaudiofile1:armhf install libaudit0 install libav-tools install libavahi-client-dev install libavahi-client3:armhf install libavahi-common-data:armhf install libavahi-common-dev install libavahi-common3:armhf install libavahi-compat-libdnssd-dev install libavahi-compat-libdnssd1:armhf install libavahi-core7:armhf install libavahi-glib1:armhf install libavc1394-0:armhf install libavcodec53:armhf install libavdevice53:armhf install libavfilter2:armhf install libavformat53:armhf install libavutil51:armhf install libbind9-80 install libblas3 install libblkid1:armhf install libbluetooth3:armhf install libbluray1:armhf install libboost-iostreams1.46.1 install libboost-iostreams1.48.0 install libboost-iostreams1.49.0 install libboost-iostreams1.50.0 install libbsd0:armhf install libbz2-1.0:armhf install libc-ares2:armhf install libc-bin install libc-dev-bin install libc6:armhf install libc6-dev:armhf install libcaca0:armhf install libcairo-gobject2:armhf install libcairo2:armhf install libcap2:armhf install libcdio-cdda1 install libcdio-paranoia1 install libcdio13 install libcdparanoia0 install libck-connector0:armhf install libclass-c3-perl install libclass-c3-xs-perl install libclass-isa-perl install libcolord1:armhf install libcomerr2:armhf install libcroco3:armhf install libcrypt-openssl-bignum-perl install libcrypt-openssl-rsa-perl install libcups2:armhf install libcupsimage2:armhf install libcurl3:armhf install libcurl3-gnutls:armhf install libcurses-perl install libcurses-ui-perl install libcwidget3 install libdaemon0 install libdata-optlist-perl install libdata-section-perl install libdatrie1:armhf install libdb5.1:armhf install libdbus-1-3:armhf install libdbus-1-dev install libdbus-glib-1-2:armhf install libdc1394-22:armhf install libdca0 install libdconf0:armhf install libdevmapper-event1.02.1:armhf install libdevmapper1.02.1:armhf install libdirac-decoder0:armhf install libdirac-encoder0:armhf install libdirectfb-1.2-9:armhf install libdjvulibre-text install libdjvulibre21 install libdns88 install libdpkg-perl install libdrm2:armhf install libdvdnav4 install libdvdread4 install libebml3:armhf install libedit2:armhf install libenca0 install libenchant1c2a install libencode-locale-perl install libept-dev install libept1.4.12 install liberror-perl install libesd0:armhf install libev4 install libevent-2.0-5:armhf install libexif12:armhf install libexiv2-12 install libexpat1:armhf install libfaad2:armhf install libffi5:armhf install libfile-copy-recursive-perl install libfile-fcntllock-perl install libfile-fnmatch-perl install libfile-listing-perl install libflac8:armhf install libfltk1.3:armhf install libfm-data install libfm-gtk-bin install libfm-gtk1 install libfm1 install libfont-afm-perl install libfontconfig1:armhf install libfontenc1:armhf install libfreetype6:armhf install libfreetype6-dev install libfribidi0:armhf install libfuse2:armhf install libgail-3-0:armhf install libgail18:armhf install libgcc1:armhf install libgcj-common install libgcj12 install libgconf-2-4:armhf install libgcrypt11:armhf install libgd2-xpm:armhf install libgdbm3:armhf install libgdk-pixbuf2.0-0:armhf install libgdk-pixbuf2.0-common install libgdu0 install libgeoclue0 install libgeoip1 install libgettextpo0:armhf install libgfortran3:armhf install libgif4 install libgksu2-0 install libgl1-mesa-glx:armhf install libglade2-0 install libglapi-mesa:armhf install libglib2.0-0:armhf install libglib2.0-data install libgmime-2.6-0 deinstall libgmp10:armhf install libgnome-keyring-common install libgnome-keyring0:armhf install libgnutls26:armhf install libgomp1:armhf install libgpg-error0:armhf install libgpgme11 deinstall libgphoto2-2:armhf install libgphoto2-port0:armhf install libgpm2:armhf install libgs9 install libgs9-common install libgsm1:armhf install libgssapi-krb5-2:armhf install libgssglue1:armhf install libgstreamer-plugins-base0.10-0:armhf install libgstreamer0.10-0:armhf install libgtk-3-0:armhf install libgtk-3-bin install libgtk-3-common install libgtk2.0-0:armhf install libgtk2.0-bin install libgtk2.0-common install libgtop2-7 install libgtop2-common install libgudev-1.0-0:armhf install libhtml-form-perl install libhtml-format-perl install libhtml-parser-perl install libhtml-tagset-perl install libhtml-tree-perl install libhttp-cookies-perl install libhttp-daemon-perl install libhttp-date-perl install libhttp-message-perl install libhttp-negotiate-perl install libhunspell-1.3-0:armhf install libical0 deinstall libice6:armhf install libicu48:armhf install libid3tag0 install libident install libidn11:armhf install libijs-0.35 install libiksemel3 deinstall libilmbase6 install libimlib2 install libimobiledevice2 install libio-socket-inet6-perl install libio-socket-ssl-perl install libisc84 install libisccc80 install libisccfg82 install libiw30:armhf install libjack-jackd2-0:armhf install libjasper1:armhf install libjavascriptcoregtk-1.0-0 install libjavascriptcoregtk-3.0-0 install libjbig0:armhf install libjbig2dec0 install libjpeg8:armhf install libjson0:armhf install libk5crypto3:armhf install libkeyutils1:armhf install libklibc install libkmod2:armhf install libkrb5-3:armhf install libkrb5support0:armhf install liblapack3 install liblcms1:armhf install liblcms2-2:armhf install libldap-2.4-2:armhf install liblensfun-data install liblensfun0 install liblightdm-gobject-1-0 install liblinear-tools install liblinear1 install liblircclient0 install liblocale-gettext-perl install liblockfile-bin install liblockfile1:armhf install liblqr-1-0:armhf install libltdl7:armhf install liblua5.1-0:armhf install libluajit-5.1-common install liblvm2app2.2:armhf install liblwp-mediatypes-perl install liblwp-protocol-https-perl install liblwres80 install liblzma5:armhf install liblzo2-2:armhf install libmad0 install libmagic1:armhf install libmagickcore5:armhf install libmagickcore5-extra:armhf install libmagickwand5:armhf install libmail-sendmail-perl install libmailtools-perl install libmatroska5:armhf install libmenu-cache1 install libmikmod2:armhf install libmng1:armhf install libmodule-build-perl install libmodule-signature-perl install libmount1 install libmp3lame0:armhf install libmpc2:armhf install libmpcdec6:armhf install libmpeg2-4 install libmpfr4:armhf install libmro-compat-perl install libmtdev1:armhf install libmtp-common install libmysqlclient18:armhf install libncurses5:armhf install libncursesw5:armhf install libneon27-gnutls deinstall libnet-http-perl install libnet-ssleay-perl install libnetpbm10 install libnettle4:armhf install libnewt0.52 install libnfnetlink0 install libnfsidmap2:armhf install libnih-dbus1 install libnih1 install libnl-3-200:armhf install libnl-genl-3-200:armhf install libnotify4:armhf install libnss-mdns install libobrender27 install libobt0 install libodbc1:armhf deinstall libogg0:armhf install libonig2 install libopenal-data install libopenal1:armhf install libopencore-amrnb0:armhf deinstall libopencore-amrwb0:armhf deinstall libopencv-core2.3 install libopencv-imgproc2.3 install libopenexr6 install libopenjpeg2:armhf install libopts25 install liborc-0.4-0:armhf install libp11-kit0:armhf install libpam-ck-connector:armhf install libpam-modules:armhf install libpam-modules-bin install libpam-runtime install libpam0g:armhf install libpango1.0-0:armhf install libpaper-utils install libpaper1:armhf install libparams-util-perl install libparted0debian1:armhf install libpcap0.8:armhf install libpci3:armhf install libpciaccess0:armhf install libpcre3:armhf install libpcsclite1:armhf install libpipeline1:armhf install libpixman-1-0:armhf install libplist1 install libpng12-0:armhf install libpod-readme-perl install libpolkit-agent-1-0:armhf install libpolkit-backend-1-0:armhf install libpolkit-gobject-1-0:armhf install libpoppler19:armhf install libpopt0:armhf install libportmidi0 install libpostproc52:armhf install libpq5 install libprocps0:armhf install libproxy0:armhf install libpth20 deinstall libpulse0:armhf install libpython2.7 install libqdbm14 install libqt4-network:armhf install libqt4-svg:armhf install libqt4-xml:armhf install libqtcore4:armhf install libqtdbus4:armhf install libqtgui4:armhf install libqtwebkit4:armhf install libradiusclient-ng2 deinstall libraspberrypi-bin install libraspberrypi-dev install libraspberrypi-doc install libraspberrypi0 install libraw1394-11:armhf install libreadline5:armhf install libreadline6:armhf install libregexp-common-perl install libresample1 deinstall librsvg2-2:armhf install librsvg2-common:armhf install librtmp0:armhf install libruby1.9.1 install libsaclm3 deinstall libsaevt3 deinstall libsamplerate0:armhf install libsasl2-2:armhf install libsasl2-modules:armhf install libschroedinger-1.0-0:armhf install libsdl-image1.2:armhf install libsdl-mixer1.2:armhf install libsdl-ttf2.0-0:armhf install libsdl1.2debian:armhf install libselinux1:armhf install libsemanage-common install libsemanage1:armhf install libsensors4:armhf install libsepol1:armhf install libsgutils2-2 install libshout3:armhf install libsigc++-1.2-5c2 install libsigc++-2.0-0c2a:armhf install libslang2:armhf install libsm6:armhf install libsmbclient:armhf install libsmpeg0:armhf install libsndfile1:armhf install libsnmp-base deinstall libsnmp15 deinstall libsocket6-perl install libsoftware-license-perl install libsoup-gnome2.4-1:armhf install libsoup2.4-1:armhf install libsox2 deinstall libspandsp2 deinstall libspeex1:armhf install libspeexdsp1:armhf install libsqlite0 deinstall libsqlite3-0:armhf install libsrtp0 install libsrtp0-dev install libss2:armhf install libssh2-1:armhf install libssl-dev install libssl-doc install libssl1.0.0:armhf install libstartup-notification0 install libstdc++6:armhf install libstdc++6-4.6-dev install libsub-exporter-perl install libsub-install-perl install libsvm-tools install libswitch-perl install libswscale2:armhf install libsybdb5:armhf deinstall libsys-hostname-long-perl install libsysfs2:armhf install libsystemd-login0:armhf install libtag1-vanilla:armhf install libtagcoll2-dev install libtalloc2:armhf install libtasn1-3:armhf install libtdb1:armhf install libterm-readkey-perl install libtext-charwidth-perl install libtext-iconv-perl install libtext-template-perl install libtext-wrapi18n-perl install libthai-data install libthai0:armhf install libtheora0:armhf install libtiff4:armhf install libtimedate-perl install libtinfo5:armhf install libtirpc1:armhf install libts-0.0-0:armhf install libudev0:armhf install libunique-1.0-0 install libunistring0:armhf install liburi-perl install libusb-0.1-4:armhf install libusb-1.0-0:armhf install libusbmuxd1 install libustr-1.0-1:armhf install libuuid1:armhf install libv4l-0:armhf install libv4lconvert0:armhf install libv8-3.8.9.20 install libva-dev:armhf install libva-egl1:armhf install libva-glx1:armhf install libva-tpi1:armhf install libva-x11-1:armhf install libva1:armhf install libvorbis0a:armhf install libvorbisenc2:armhf install libvorbisfile3:armhf install libvpb0 deinstall libvpx1:armhf install libvte-common install libvte9 install libwavpack1:armhf deinstall libwayland0:armhf install libwbclient0:armhf install libwebkitgtk-1.0-0 install libwebkitgtk-1.0-common install libwebkitgtk-3.0-0 install libwebkitgtk-3.0-common install libwebp2:armhf install libwibble-dev install libwmf0.2-7:armhf install libwnck-common install libwnck22 install libwrap0:armhf install libwww-mechanize-ruby install libwww-perl install libwww-robotrules-perl install libx11-6:armhf install libx11-data install libx11-xcb1:armhf install libx264-123:armhf install libxapian-dev install libxapian22 install libxau6:armhf install libxaw7:armhf install libxcb-glx0:armhf install libxcb-render0:armhf install libxcb-shape0:armhf install libxcb-shm0:armhf install libxcb-util0:armhf install libxcb-xfixes0:armhf install libxcb1:armhf install libxcomposite1:armhf install libxcursor1:armhf install libxdamage1:armhf install libxdmcp6:armhf install libxext6:armhf install libxfixes3:armhf install libxfont1 install libxft2:armhf install libxi6:armhf install libxinerama1:armhf install libxkbcommon0:armhf install libxkbfile1:armhf install libxklavier16 install libxml2:armhf install libxml2-dev:armhf install libxml2-utils install libxmu6:armhf install libxmuu1:armhf install libxp6:armhf install libxpm4:armhf install libxrandr2:armhf install libxrender1:armhf install libxres1:armhf install libxslt1-dev install libxslt1.1:armhf install libxss1:armhf install libxt6:armhf install libxtst6:armhf install libxv1:armhf install libxvidcore4:armhf install libxvmc1 install libxxf86dga1:armhf install libxxf86vm1:armhf install libyaml-0-2:armhf install lightdm install lightdm-gtk-greeter install linux-libc-dev:armhf install lm-sensors install locales install locate install lockfile-progs install login install logrotate install lsb-base install lsof install lua5.1 install luajit install lxappearance install lxde install lxde-common install lxde-core install lxde-icon-theme install lxinput install lxmenu-data install lxpanel install lxpolkit install lxrandr install lxsession install lxsession-edit install lxshortcut install lxtask install lxterminal install make install makedev install man-db install manpages install manpages-dev install mawk install menu install menu-xdg install midori install mime-support install module-assistant deinstall module-init-tools install motion install mount install mountall install mplayer install multiarch-support install mysql-common install nano install ncdu install ncurses-base install ncurses-bin install ncurses-term install net-tools install netbase install netcat-openbsd install netcat-traditional install netpbm install netsurf-common install netsurf-gtk install nfs-common install nkf install nmap install nodejs install ntp install ntpdate install obconf install omxplayer install openbox install openssh-blacklist install openssh-blacklist-extra install openssh-client install openssh-server install openssl install parted install passwd install patch install pciutils install pcmanfm install pdftk install penguinspuzzle install perl install perl-base install perl-modules install php5 install php5-cli install php5-common install pistore install pkg-config install plymouth install po-debconf install policykit-1 install poppler-data install poppler-utils install procps install psmisc install psutils install pypy-upstream install python install python-minimal install python-numpy install python-pygame install python-rpi.gpio install python-support install python-tk install python2.7 install python2.7-minimal install python3 install python3-minimal install python3-numpy install python3-rpi.gpio install python3-tk install python3.2 install python3.2-minimal install racc install raspberrypi-artwork install raspberrypi-bootloader install raspbian-archive-keyring install raspi-config install raspi-copies-and-fills install rcconf install readline-common install realpath install rpcbind install rpi-update install rplay install rsync install rsyslog install rtmpdump install ruby install ruby-dev install ruby-domain-name install ruby-libxml install ruby-mechanize install ruby-mime-types install ruby-net-http-digest-auth install ruby-net-http-persistent install ruby-nokogiri install ruby-ntlm install ruby-unf install ruby-unf-ext install ruby-webrobots install ruby1.9.1 install ruby1.9.1-dev install samba-common install scratch install screen install sed install sensible-utils install sgml-base install shared-mime-info install smartsim install smbclient install sox deinstall squeak-plugins-scratch install squeak-vm install ssh install ssl-cert install strace install sudo install swftools install sysv-rc install sysv-rc-conf install sysvinit install sysvinit-utils install tar install tasksel install tasksel-data install tcl8.5 install tcpd install tightvncserver install tk8.5 install traceroute install tree install triggerhappy install tsconf install ttf-dejavu-core install tzdata install ucf install udev install udisks install ufraw-batch install unzip install update-inetd install upgrade-system install usbmuxd install usbutils install util-linux install vim install vim-common install vim-runtime install vim-tiny install vlc-data install weston install wget install whiptail install wireless-tools install wkhtmltopdf install wpagui install wpasupplicant install x11-common install x11-utils install x11-xkb-utils install x11-xserver-utils install xarchiver install xauth install xdg-utils install xfonts-base install xfonts-encodings install xfonts-utils install xinit install xkb-data install xml-core install xpdf install xrdp install xserver-common install xserver-xorg install xserver-xorg-core install xserver-xorg-input-all install xserver-xorg-input-evdev install xserver-xorg-input-synaptics install xserver-xorg-video-fbdev install xvfb install xz-utils install youtube-dl install zenity install zenity-common install zlib1g:armhf install zlib1g-dev:armhf install
通常のcron ファイルは、/etc/cron.*/に置かれる
ユーザー毎のcrontab の実体が何処にあるのか調べたい。/var/spool/cronの中にあります。locateして見つけた
takuya@raspberrypi:~$ sudo ls /var/spool/cron/crontabs/ root takuya
$ sudo ls -ld /var/spool/cron/crontabs/ drwx-wx--T 2 root crontab 4096 1月 20 16:56 /var/spool/cron/crontabs/
ユーザー毎のファイルを/etc/においてしまうと、中身が見られるためだろうか?
takuya@raspberrypi:~$ ls /etc/cron* /etc/crontab /etc/cron.d: php5 /etc/cron.daily: apache2 apt-show-versions bsdmainutils dpkg logrotate ntp upgrade-system apt aptitude debsums locate man-db passwd /etc/cron.hourly: fake-hwclock /etc/cron.monthly: debsums /etc/cron.weekly: debsums man-db
cron っていろいろあったけど、チャントまだ現役で動いてるのがなんかイイね。
sudo cp /var/spool/cron/crontabs/`username` ~
これで、ぱぱっと手に入るね。
若干加筆
完全ノーマークだったし、期待してなかった。Youtubeで何気なく見てた。大阪市都構想のマニフェストは良かった。
いままでは、60歳以上の投票率が、あまりにも高いので、高齢者優遇がエゲツなかった。
敬老パス⇛90億円
これは、敬老パスは電車乗り放題で得票数を稼いでた現実があったし、大阪市役所としても路線バスの乗車率・利用率の水増しに貢献しただろう。高齢者と市役所と議会の利益が一致してて揺るがせなかった聖域にメスが入ってた。これはいいことだ。
天下り利権団体の縮小もしてた。
天下り団体は市役所事業(清掃・水道・港湾・交通)の早期引退組などで運営されるはず。これもほぼ、高齢者で構成されていて、団体の結束を利用した投票率の票田になってた。
これも「20−40代」にたいする裏切り行為だったのでチャンと見てるな。と思った。
教育に余った数十億円をぶん回して
小中学校にエアコン導入
英語教育の充実
iPad の配布
学校給食の作成
塾予算1万円配布
エアコン導入するから「夏休みは短縮でいいよね」っていうことで8・26日から二学期開始。
おもしろいね。
小中学校の医療費無料にしてた。でも無料にすると、タカる人が増えるので、診療一回500円、月額上限金額を決定してた。
集票マシーンだった高齢者の特権を減らして、未来への投資に切り替えていた。これはまさに世代間闘争。今までは、集票マシーンとして扱いやすい高齢者にバラマキバラマキの優遇にたいして、集票マシーンとして機能しない青年壮年期の世代にはまるでメリットのない政治だった。
これからは現役世代にメリットを変えて行く予定らしい。ただ不安も残る。理想実現できるのかな。来年の統一地方選挙が楽しみです。世代間の投票率に影響が出てほしい。都構想は高齢者にどうせ勝てないと思ってた世代が投票に行ける内容ですね。
大阪なんて、ここ何十年も停滞してて、なにも変化がない社会だった。それがようやく新しいことが始まってて面白くなった。
橋下徹 新しい大阪はこのように生まれ変わる!大阪都構想 完成!初披露! - YouTube
現状の区割りで、全て同じように市政を運営していて、市内地域ごとに応じた戦略が皆無だという指摘にはナカナカ感心しました。
地方行政がいくら教育に投資しても投資しても無意味なんだ・・・地方の予算で必死に教育した子どもたちは成人して、優秀な人ほど、東京都に吸い上げられていく。このスパイラルを何とか出来るのは、日本でもまだ働く場所がある大阪市だけ。
もし大阪市都構想で有効求人倍率を倍増できるなら、ちゃんと経済が回り始める。暗いニュースが多かったOSAKAに明るい話題が出来そうで楽しみです。
梅田と天王寺の駅前に巨大な公園が出来るのは環境として素晴らしいので、あとはそういう付加価値な魅力を軸にどこまで、「働く場所」を作れるか。
21世紀型産業は間違いなくITなので、データセンターが集結する野田・福島も上手に発展してくれるといいですね。特区作ってくれないかなぁ。
阪急の小林翁が考えた「都心から郊外へ」という働き方を根底から覆す必要があるんだけど、東京は地下鉄網で職住近接が実現してるんだけど、大阪はそうなってない。だから、働き方と住み方をデザインできれば、この区割りプランの未来は揺ぎないと思うんですけどね。
特に地下鉄網とバス網が大阪市の境界で切れるのが痛い。大和川を超えられない市バス。JR各私鉄の目と鼻の先にいるのに接続できない地下鉄網。放ったかしの湾岸。とくにトンネルだけ沈めて開通間近で放置中舞洲・・・そういうミッシングリンクを次々つないでくれれば嬉しいです。
地下鉄千日前線は、阪神か近鉄に売却して一体運用させたほうがいいと個人的には思います。あと1km掘れば野田阪神に繋がる京阪の中之島駅とかも繋いで欲しいです。地下鉄延伸より京阪を野田阪神経由で北港通に放り込んで京阪に丸投げしたほうが大阪市の事業負担は少ないと思うし、JRと並走する京阪路線のほうが近畿地方交通審議会の検討にあがった京阪中之島延伸よりよっぽどいいと思うんですけどね。
コピーしてファイルを作った人がいるので、コピーしてファイルを作ったものを探そうと思った。
怪しいファイルの拡張子だけのPathを一覧する。
find /path/to/suspicions -type f -name '*.html'
md5sum をかける。
find /path/to/suspicions -type f -name '*.html' | xargs -I @ -P0 md5sum @
ソートする
find /path/to/suspicions -type f -name '*.html' | xargs -I @ -P0 md5sum @ | sort
あとは、これの中から、重複ファイルハッシュ値を探す。 md5sum
find /path/to/suspicions -type f -name '*.html' | xargs -I @ -P0 md5sum @ | sort | cut -d " " -f 1
さらに、この中から、重複するIDを探す uniq -d
find /path/to/suspicions -type f -name '*.html' | xargs -I @ -P0 md5sum @ | sort | cut -d " " -f 1 | uniq -d
最後に、重複した一覧を取り出す
join dup_id.list.txt sorted_md5.list.txt
はい、出来上がり。
パイプライン処理ってさすがだわ
いちいち、ファイルを開いて印刷するのが面倒でした。Windowsなら右クリックで印刷できるのに。ちょっとアレコレ調べてみたら・・・
なんとプリンタのアプリがあります。ここにまとめてPDFをドロップたらまとめてプリンターのジョブキューに放り込めた!!これは便利。
プリンタの位置は次の場所にある。
~/Library/Printer/XXXX.app
プリンタを開いて、名前の位置をクリックすると開けるよん。
プリンタのフォルダをCommandを押しながらクリックします。
これでプリンタのフォルダを開けます。あとはショートカットを~/Application にでも作ればいいんじゃないでしょうか。
ここのプリンタのジョブキューに、ファイルをドロップをしてもまとめて印刷できた。
ここめがけてファイルを突っ込む。
Mac OSXってこういうところよく出来てるよなぁ。。。
TABを置換してCSVを作りたいとしよう。TAB置換には何を使いますか?
色々と考えられる。
tr '\t' ','
tr コマンドで文字を置換するのが多分楽
takuya@atom:~$ sudo atq | tr '\t' ',' 806,Wed Aug 6 19:47:00 2014 a www-data 848,Sun Aug 10 10:57:00 2014 a www-data 793,Tue Aug 5 16:57:00 2014 a www-data 821,Fri Aug 8 00:47:00 2014 a www-data 835,Sun Aug 10 03:27:00 2014 a www-data
sed s/"\t"/,/g
\tを文字として囲う必要がある。 ただしTABもスペースも全部置換したいなら \s が使える分、sed有利
takuya@atom:~$ sudo atq | sed s/"\s"/,/g | tail 806,Wed,Aug,,6,19:47:00,2014,a,www-data 848,Sun,Aug,10,10:57:00,2014,a,www-data 793,Tue,Aug,,5,16:57:00,2014,a,www-data 821,Fri,Aug,,8,00:47:00,2014,a,www-data 835,Sun,Aug,10,03:27:00,2014,a,www-data
takuya@:~$ sudo atq | sed -r 's/\s+/,/g'
sed -r
で正規表現が使えるので、正規表現を使ったほうが置換に慣れた人は使いやすいと思う。エスケープ・シーケンスをシェル展開で利用しなくても良い。正規表現で文字種を指定したほうが確実。
awk '{sub(/\t/,","); print $0 }'
awk も便利ですね。
ruby -F'\t' -aple '$_=$F.join(",")'
これは、\sも対象にするならもっと楽にかけて
ruby -aple '$_=$F.join(",")'
と書ける。
ruby ワンライナーを覚えておくとワンライナーが一番応用出来るんじゃないかな。
カテゴリ整理
sed -r
について追記
takuya@atom:~$ sudo atq | cut -d '\t' -f 1 cut: 区切り文字に指定できるのは 1 文字だけです 詳しくは `cut --help' を実行して下さい。
man を読むと・・・
-d, --delimiter=DELIM フィールドの区切り文字として TAB の代わりに DELIM を使用する
つまり、TAB はデフォルトだから何もしなくていい
TAB を使うときは、デフォルトなので何も書かなくていい!
takuya@atom:~$ sudo atq 808 Wed Aug 6 21:22:00 2014 a www-data 801 Tue Aug 5 22:57:00 2014 a www-data 802 Tue Aug 5 07:57:00 2014 a www-data
takuya@atom:~$ sudo atq | cut -f 1 808 801 802
おおお。これは!
man 読むべきでしたね。