アーカイブ: 2009年8月
Google ChromeをUbuntu 64Bitにインストールしてフラッシュも有効にしてみたよ
ことだまんです。
タイトル通りですが、感想として非常に速くて具合良いです。
普段使いはchromeでいいかもしれません。
FirefoxはPluginが充実しているので開発用途で手放せません(笑
Google Chromeの特徴は
レンダリングエンジンがAppleのSafariと同じ「WebKit」
JavaScriptエンジンが最新の「V8」
などですかねー。
さてインストール
まず、開発版のchromeをゲットします。
http://dev.chromium.org/getting-involved/dev-channel
ページ内にある
google-chrome-unstable_current_amd64.deb
をダウンロードしてdpkgでインストール(インストールはダブルクリックでもできます。)
起動を確認したらChromeを終了し、flashをインストール
$sudo apt-get install flashplugin-installer
次にchromeにプラグインディレクトリを作成し、シンボリックリンクを張って終わり
$sudo mkdir /opt/google/chrome/plugins
$sudo ln -s /usr/lib/flashplugin-installer/libflashplayer.so /opt/google/chrome/plugins
puluginを有効にし起動する
/opt/google/chrome/google-chrome --enable-plugins
以上で終わり。
EC-CUBEでパスワードを忘れた場合SHA1のハッシュ値を求めるのにPythonを使う
ことだまんです。
タイトル通りですが、EC-CUBEのパスワードを忘れた場合
パスワード文字列をsha1ハッシュで再指定すればおk。
テーブル dtb_memberがアカウント情報
とりあえず
#!/usr/bin/env python
import hashlib
print hashlib.sha1('パスワード:AUTH_MAGIC').hexdigest()
※パスワードは任意に指定。AUTH_MAGICは/data/mtb_constants_init.php
※/chacheにもmtb_constants_init.phpがありますが、どうやらこっちを見るのが正解っぽい。
でsha1ハッシュが出力されますな。
出力された文字列を再指定すればおk。
Pythonのsplit
ことだまんです。
pythonのsplitの仕様のお話。
ex)
s = 'a b c d'.split()
splitにデリミタを指定しなければ
任意の長さの空白文字列(スペース、タブ、newlines、 return、formfeed)で自動的に切り出してくれる。
任意の長さの空白文字列で勝手に分けてくれるのが凄く便利。
デリミタが空白の場合、strip().split()しておけば、文頭の前後にいらない空白があっても問題ない。
ちなみに、デリミタを1文字の空白(' ')にすると、複数の空白(tab4など)があった場合空の要素が沢山できます。
正規表現でsplitしてたのはナイショ(ぉぃ
ubuntu 9.04のioctrlメモ
ことだまんです。
一覧でまとまってるのがあったので備忘録。
ヘッダ開いて確認するのが面倒なので(ぉぃ
http://manpages.ubuntu.com/manpages/jaunty/ja/man2/ioctl_list.2.html
ソケット sockios.h
0x0000890B SIOCADDRT const struct rtentry * // MORE
0x0000890C SIOCDELRT const struct rtentry * // MORE
0x00008910 SIOCGIFNAME char []
0x00008911 SIOCSIFLINK void
0x00008912 SIOCGIFCONF struct ifconf * // MORE // I-O
0x00008913 SIOCGIFFLAGS struct ifreq * // I-O
0x00008914 SIOCSIFFLAGS const struct ifreq *
0x00008915 SIOCGIFADDR struct ifreq * // I-O
0x00008916 SIOCSIFADDR const struct ifreq *
0x00008917 SIOCGIFDSTADDR struct ifreq * // I-O
0x00008918 SIOCSIFDSTADDR const struct ifreq *
0x00008919 SIOCGIFBRDADDR struct ifreq * // I-O
0x0000891A SIOCSIFBRDADDR const struct ifreq *
0x0000891B SIOCGIFNETMASK struct ifreq * // I-O
0x0000891C SIOCSIFNETMASK const struct ifreq *
0x0000891D SIOCGIFMETRIC struct ifreq * // I-O
0x0000891E SIOCSIFMETRIC const struct ifreq *
0x0000891F SIOCGIFMEM struct ifreq * // I-O
0x00008920 SIOCSIFMEM const struct ifreq *
0x00008921 SIOCGIFMTU struct ifreq * // I-O
0x00008922 SIOCSIFMTU const struct ifreq *
0x00008923 OLD_SIOCGIFHWADDR struct ifreq * // I-O
0x00008924 SIOCSIFHWADDR const struct ifreq * // MORE
0x00008925 SIOCGIFENCAP int *
0x00008926 SIOCSIFENCAP const int *
0x00008927 SIOCGIFHWADDR struct ifreq * // I-O
0x00008929 SIOCGIFSLAVE void
0x00008930 SIOCSIFSLAVE void
0x00008931 SIOCADDMULTI const struct ifreq *
0x00008932 SIOCDELMULTI const struct ifreq *
0x00008940 SIOCADDRTOLD void
0x00008941 SIOCDELRTOLD void
0x00008950 SIOCDARP const struct arpreq *
0x00008951 SIOCGARP struct arpreq * // I-O
0x00008952 SIOCSARP const struct arpreq *
0x00008960 SIOCDRARP const struct arpreq *
0x00008961 SIOCGRARP struct arpreq * // I-O
0x00008962 SIOCSRARP const struct arpreq *
0x00008970 SIOCGIFMAP struct ifreq * // I-O
0x00008971 SIOCSIFMAP const struct ifreq *
ubuntu9.04 64bitにNILFS2を導入したので後で書きますね
ことだまんです。
過去にNILFS2の記事を書いたのですが、2.6.30に取り込まれた事もあり、検索でくる方が多いので、9.04にも導入してみました。あとで適当に書きますね@今書けよ。
とっても簡単です。
Ubuntuのufwを使ってファイアーウォールを構築する
ことだまんです。
たまにはUbuntuネタを備忘録として残さないといけないと思ったので書きます(笑
タイトル通りufwですが、実際にはiptablesを簡単に設定できるようにする、CLIです。
iptablesで設定すれば同じです。
ただ、ufwで設定を行うと、簡単なフィルタリング条件であればサクッと構築できるよ。っていうのがポイントです。
使い方
defaultの動作を指定
$ sudo ufw default deny #全てのパケットをdeny
$ sudo ufw default allow #全てのパケットをallow
$ sudo ufw default reject #全てのパケットをreject(Connection Refusedを返す)
通信の許可・拒否
$ sudo ufw 動作 ポート/プロトコル
$ sudo ufw allow 80 #許可
$ sudo ufw deny 80 #拒否
$ sudo ufw allow 80/tcp #TCPのみ許可
設定の確認
$ sudo ufw status
基本的にはこんな感じです。
接続制限
$ sudo ufw limit 22
特定のIPアドレスから特定のポートへの接続を許可(allowをdenyにすれば挙動が逆になります)
$ sudo ufw allow from [ip address] to [protocol] port [port number]
$ sudo ufw allow from 192.168.0.1 to any port 2000
PINGを許可する
/etc/ufw/before.rulesの内に下記を追加
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
こんな感じ。
不満から見る「問題or課題」と「言い訳or不満」の違い
ことだまんです。
これは自分の考えです。
根拠が無い不満を「言い訳や不満」と言う。
根拠が有る不満を「問題や課題」と言う。
根拠が有る場合は、解決の糸口を探る事ができる。
(問題は課題(改善点)に昇華させる事が可能)
不満を言う前に根拠を用意し話をすれば、建設的な話ができる事が多い。
根拠が無い場合は、感情論や水掛け論になり、ディスカッションとして成立させる事は困難@経験則
〜であるから、よって〜である。
〜であるから。が無いと不満であったり、言い訳であったり・・・
これ重要ね。