2023年9月20日水曜日

MoneyForwardの口座の更新ボタンが遅いから改善要望を出したらとんでもないことになった

はい、どうもご無沙汰しておりまっする。
マッスルハンターです。

もうブログの存在は完全に忘れてyoutubeとかTwitchとかやってました。

自分は昔からお金の管理にMoneyForwardを使ってて(何年経ったんだろう)
確定申告もMoneyForwardつかってやってるんですが
最近口座の一括更新ボタン押すと中々更新されなくてずっと更新中のぐるぐる回ったままで画面に向かって「遅すぎるわ!」と叫ぶほどでした。


そこでお問い合わせから「こんなに時間かかるわけないだろ改善しろぼけえ!」という勢いのままの改善要望を送ったところ
数日たったら見事に改善されていて爆速になっていました。

驚きました。


できないわけはないけどやろうとしてるとこだったのかなんなのか。
対応早すぎてびつくりした。
 いやほんとまじで爆速なったからすごく嬉しい。

ありがとうございまっする。

 ただの偶然かもしれないけど、ユーザーの声をきちんと聞いて紳士に対応してくれる運営さんは応援したくなりますね。 
というわけで広告を貼っておく。

 今後ともよろしくお願いしまっする!

2020年11月17日火曜日

サイトの表示高速化のためにPage Speed Insightsを利用しましたとさ。

はいどうもマッスルハンターです。

とにかくサイトの表示は速い方が良い。そう信じて疑わないけど、何をすればいいのかわからない。
そんなあなたは是非こちらを利用しましょう。

Page Speed Insights

こちらに高速化したいサイトのURLを送信すれば分析してアドバイスをくれます。

1回やれば言われるまでもなく次からできる事もありますのでまずは見てみると良いでしょう。

私の場合はただ作っただけで全く気にしてなかったゴミのようなページがあったんでそれで試して下記を改善しました。

1.レンダリングを妨げるリソースの除外

この「画面の最初の描画のために必要な情報に絞る」というのがとても重要なようです。
javascriptやCSSの読み込みを非同期で行ったり、最初の描画に必要なCSSをインラインで設定したりしろとのこと。
私の場合はhead内で読み込んでたcssがこれに該当してたので「rel="preload" as="style"  onload="this.onload=null;this.rel='stylesheet'"」を追加したところ改善しました。

javascriptの場合はasyncやdefer属性で解決できます。

参考

2.適切なサイズの画像

これはフリー素材を拾ってきたままあげてて、無駄にでかい解像度だったので下記のフォーマットと合わせて修正しました。

3.効率的な画像フォーマット

最近はjpegにも種類があるようでして、JPEG2000やJPEGXRなんていう次世代フォーマットがあるようです。jpegではありませんが、同じくgoogleさんの提唱する?webpも助言に含まれていたので、既にインストール済みだったGIMPでWEBPに変換しました。

ただ、この画像フォーマットについてはブラウザの対応状況の問題もあるかのような雰囲気も無きにしも非ずです。
その中で下記を見るとwebpはおおむね大丈夫そうなのかと思いました。
対象とするユーザーによって考える必要がありそうです。


あまり中身のないページだったため以上を改善しただけでモバイル90、PC95までスコアがあがりました。

めでたしめでたし。

2020年11月16日月曜日

Googleアナリティクスでイベントを送信する。

アナリティクス数年見てなかったけど、だいぶ進化しているようですね。

進化して色々機能が増えてて、逆に見方がまだよくわからないですが・・・w


なんか独自のイベントを送信して測定できるようなので試しにやってみました。

イベントを送信ってのは、サイト内の特定のページをみたり、フォームを送信したり、リンクをクリックしたとかを検知することができるということですね。

やり方としては、この辺書いてある通りなんですが


新バージョンのアナリティクス(GA4)で管理→データストリームから詳細を開いて

タグの設定手順の「グローバル サイトタグ(gtag.js)」ってところにコードがあるのでこれをまずheadタグ内に貼り付けます。


そしたらイベントを設定したいところに仕込めばいいです。

リンクをクリックとかだったらリンクにonclick="gtag('event','xyz');"とかやればひとまずそれっぽくなりますが、こちらのドキュメントにあるようにイベントコールバック関数の実装とかした方がいいです。

このドキュメントほぼコピペでいけるんじゃねえかな(適当)

私は今のところ使い道がないので試しに触っただけなのでやってないですが一応検知はできてました。

(逃してるのもあるかもしれないけど逃したら逃したことすらわからないぜ)

要望がどっかから聞こえてきたらもっと詳しく解説するかもしれない(気分)

ネトゲ廃人になりたいので投資について勉強しなおしています。

楽しく仲間と遊んで暮らしたいのでそれには一体いくら必要なのだろうかと色々考えていました。

まず自分だけが生活するにしても年間1000万を下回ると耐えられないと思うので、1000万円の不労所得を得るには?

なんと年率10%で運用できても1億円必要じゃありませんか。


毎月〇万円積み立てて、〇%で運用したとして、〇十年でいくらになるか計算してみました。

毎月20万円ずつ積み立てて、年率5%で運用できたとして、20年でやっと8000万円です。

なんということでしょう。20年たったらもうアラウンドシックスティじゃあーりませんか。
(ちなみにFV関数を使用して計算しました)

毎月10万で5%だと30年かかるじゃあーりませんか。

なんという恐ろしい数字でしょう。あと20年や30年も働くんですか??

えええええええええ!!!絶対そんなの無理ですぅぅぅぅ既に働きたくないのにいいいいいいいいい

というわけで、知っていたのにやらなかったがために投資だけでネトゲ廃人になるには遅すぎました。どげんかせんといかん。

節約は続かないから程々にしかできないので、稼ぎを増やす必要があります。

投資はさっさと始めて時間を味方につけるのが正解ですね。

税金対策になったりもするしね。

2020年10月31日土曜日

このサイト明るすぎて目が痛い!って時に使うディスプレイの設定を変えずに画面を暗くするブックマークレット。

たぶん需要はほとんどない、いやむしろ全くないと思う無駄スクリプトのご紹介です。

本スクリプトご紹介する前にブックマークレットというものについて軽く説明しておきます。

ブックマークレットというのはブックマークの機能を利用してURLのとこにjavascriptなどの?コードを入力しておくことでブックマークを利用するかのように、スクリプトを手軽に実行できる裏技的なものです。

例えばどんなことができるのかというと

  • 通常はリピート再生できないYouTube動画をリピート再生する
  • YouTubeの動画ページで起動すると、通常はない「ダウンロード」ボタンが出現します。

とかできるようですね。

もっと詳しい説明と上記のようなブックマークレットのご紹介はこちらのサイトにありました。


このようにブックマークレットも誰かが配布してくれてたりするので、こんなのできないかな~?って思ったら探してみてもいいかもしれません。

もちろん自分で作っても良いでしょう。

さてそれでは今回のスクリプトはこちらです。

下記をドラッグアンドドロップでブックマークバーに追加すれば使えるはず!

暗転

スクリプトの中身としては下記になります。

javascript:
if (document.getElementById('ranaRuta')) {
  document.getElementById('ranaRuta').remove();
} else {
  let d = document.createElement('div');
  d.id = 'ranaRuta';
  d.style.cssText = 'top:0; left:0; width:100%; position: fixed; height:100%; background-color:black; opacity:0.5; z-index:10000; ';
  let b = document.getElementsByTagName('body')[0];
  b.insertBefore(d, b.firstChild);
}

(あ、なんかすげえ見づらいけど、ま、いいか)

真っ黒だけど半透明なdivで画面全部覆ってだけです。

divで覆ってしまうので画面内のボタンとか押せなくなります。

もう一度使うと元に戻りますので戻してから操作してください。

下記のcssの部分をいじれば色をかえたり、明るさを調節できますね。

top:0; left:0; width:100%; position: fixed; height:100%; background-color:black; opacity:0.5; z-index:10000;

一体なんのためにつくったのか、それは画面が明るすぎると目が痛いけど、ディスプレイの設定をいちいち変えるのが面倒だからです。




2020年8月23日日曜日

Lets's Encryptで無料のサーバー証明書でhttps化する!

 はいどうもマッスルハンターです。

久々のまともな投稿です。

最近httpだとブラウザに怪しげな文言が表示されますよね。

こういうやつ↓


やはりちゃんとしたサイトを運営しようとするとこれはよろしくないので

長年放置していたhttps化をやってやりました。


手順としてはCertbotというツールが公開されているのでこれをインストールするだけって感じでとても簡単でした。


Let's Encryptっていうのがアメリカの無料の認証局だそうなんです。

企業の寄付で認証局運用のコストをなんとかしているそうです。

(詳しく知りたい人は別途調べてください)

参考:無料証明書と有料証明書の違い|さくらのSSL

なのでひとまずこちらを利用しようということで開いてみましたら

Let's Encrypt お優しい事に日本語でした。

こちらの証明書は90日毎に更新しなきゃないそうなんですが

certBotっていうのを使えば自動化できるとのことだったので

certBotさんをお訪ねして下記キャプチャ部分のsoftwareとsystemを選択すると設定方法の書いてあるページに飛びますのでその通りに設定するだけでございます。

certbotのsoftwareとsystemの選択ボックス

私の場合はsoftwareはnginx

systemはCentOS7だったのでCentOS/RHEL 7を選択しました。


記載の手順通りですが


  1. SSH into the server

    サーバーにSSHでログインします。

  2. Enable EPEL repo

    EPELレポジトリが有効でなければ有効にします。
    CentOS7ならこんな感じっぽい
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    その他はこちらからどうぞ
    https://fedoraproject.org/wiki/EPEL#Quickstart

  3. Install Certbot

    Certbotさんをインストールします。

    sudo yum install certbot python2-certbot-nginx

  4. Choose how you'd like to run Certbot
    • Either get and install your certificates...

      certbotさんにnginxさんをごにょごにょして頂きます。

      sudo certbot --nginx
    • メアドとか聞かれます。たぶん期限切れが近くなると通知とかくんのかなぁくらいに捕らえました。本当のところは英語を解読してください。
    • 最初nginx側でドメインを設定していなかったのでなんたらかんたら言われました。
    • ngnx.confにserver_name を設定してからやり直したらよさげでした。
    • 上記コマンド実行後にnginx.confを確認すると
    •  # managed by Certbotというコメントがついた行が追加されてました。
    • 証明書のパスとかも書き込んどいてくれてるみたいなので特にいじる必要はなかったです。
    • ここでいったんhttpsでアクセスし、無事に閲覧可能な事を確認しました。

  5. Set up automatic renewal
    これはたぶん証明書が90日で切れるので更新を自動かする処理をcronに登録しておけってことだと思われます。
    いつの間にか切れてると面倒なので登録しておきましょう。

    echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
というわけで無事に鍵付きになりました。めでたしめでたし。


2015年10月11日日曜日

お名前.comでドメイン取得して、dnsをServerQueenで登録

ほとんど自分用のメモ

既にserverqueenのサービスを利用中なので管理上こっちで取得したかったが、tokyoドメインが取得できないようなので、お名前.comにて取得した。

サーバークイーンのメンバーサービスにログインして管理ツール上からドメインの追加を行った。

お名前ドットコムのドメインNaviでネームサーバーをサーバークイーンの物に変更した。


2015年9月1日火曜日

wiresharkで特定のURLのパケットだけ確認する方法

WireSharkで特定のURLへの通信だけ確認したいと思ったんですが、
フィルタの設定がよくわかってなかったんで、5分くらいかかってしまったのでメモす。

ぐぐるとプロトコルでフィルタするとこまではすぐ出てくるんですけど、その先がなかったんで。

ipでホストを絞る
http://www.atmarkit.co.jp/ait/articles/0808/29/news132.html

プロトコルで絞る
http://troushoo.blog.fc2.com/blog-entry-108.html

俺がやりたかったのは
http://hogehoe.com.jp.hoge/iiiii/index
http://hogehoe.com.jp.hoge/iiiii/form
http://hogehoe.com.jp.hoge/aaaa/index
http://hogehoe.com.jp.hoge/aaaaa/form
http://hogehoe.com.jp.hoge/image/unko.jpg
のようなリクエストが大量にある中で

iii/indexとiii/formだけに絞りたいとかそんな雰囲気でした。


こんな感じで行けます。
http.request.uri contains "hogehoe.com.jp.hoge/iiii"

こんな感じで名前だけで絞ることも当然できます。
http.host == "hogehoge.com.jp.hoge"



フィルター条件作成ウィザードの中に大量に条件があるので探すのがめんどかった。

2013年9月25日水曜日

CentOS6.4にVLC playerをインストールして動画を見る

いやなんかもうわけわかんなかったっす。

リポジトリ追加しまくったけど、
最終的に参考にした記事
http://ameblo.jp/blue-sea-dog/entry-10491949346.html

とりあえずrpmforgeだけ追加してやってみたらよかったのかもしれない。
もうめんどくさいので振り返りたくもない。

とりあえず再生できたし、再生速度も変更できて音もちゃんと聞こえるからよしだね。

2013年8月15日木曜日

CentOSにソースからPython3インストールしたんだけど tkinterがimport errorで実行できなかった

 CentOS6.4にてPython3をインストール後
tkinter使ったプログラムを実行しようとしたらインポートエラーの前にpython3がない。
CentOSのデフォルトのリポジトリにpython3がないんですね。
というわけでソース落としてインストールしたけどtkinterでこける。
python3がないのでpython3-tkもないわけですね。

そもそもtk/tclの共有ライブラリをpythonからなんたらしてるのかな?
っていうわけでそもそものそのライブラリがねーんじゃねーのかと思われ
tkとかtclとかのそれっぽいものを適当に入れてしまって、makeしなおしたらいけたってわけさ。ついでにSSLでもこけたので同じようにしただけさ。


あとは眠いんで羅列


File "/usr/local/lib/python3.3/tkinter/__init__.py", line40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
If it fails with "No module named _tkinter", your Python configuration needs to be modified to include this module (which is an extension module implemented in C). Do **not** edit Modules/Setup (it is out of date). You may have to install Tcl and Tk (when using RPM, install the -devel RPMs as well) and/or edit the setup.py script to point to the right locations where Tcl/Tk is installed. If you install Tcl/Tk in the default locations, simply rerunning "make" should build the _tkinter extension.

yum search tk
でそれっぽいの探してインストールした。
yum install tk tcl tk-devel
たぶんこの辺だと思われる。


  File "/usr/local/lib/python3.3/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named '_ssl'

yum install openssl openssl-devel

./configure
make
make install

2013年5月29日水曜日

tcpdumpしてWiresharkで確認しようと思ったらエラーがでて困ったんす。

サーバー上でtcpdumpして、FTPでダンプファイルを落としてwiresharkで見ようとしたら
<code>sudo tcpdump host hoge.com and port 80 -s 0 -w dumpfile</code>

The capture file appears to be damaged or corrupt.
(pcap: File has 1702194273-byte packet, bigger than maximum of 65535

とかいうエラーがでて見れませんでした。
グーグル先生に聞いたら
wireshark Q&A
The usual cause of this error is the file being mangled by transferring it over FTP in ASCII mode instead of BINARY mode. If you did transfer the file by FTP, please transfer the file again, now using BINARY mode.
と仰られていたので、バイナリモードで落としてみたら見れました。
Filezillaの場合は転送→転送の種類で変更できます。(デフォルトは自動)

それって気にしたことなかったけど重要だったんですね!

2013年5月7日火曜日

プロキシサーバー構築(squid)

ServerQueenのVPSを数年使用しております。

OSはCentOS5.7
sudo yum install squid
sudo vi /etc/squid/squid.conf
acl [aclname] src [ipアドレス]/255.255.255.255 ← 追加([ipアドレス]/255.255.255.255からのプロキシサーバーへのアクセスを許可(1/2))

http_access allow localhost
http_access allow [aclname]← 追加([ipアドレス]/255.255.255.255からのプロキシサーバーへのアクセスを許可(2/2))
http_access deny all

# forwarded_for on
forwarded_for off ←追加(プロキシサーバーを使用している端末のローカルIPアドレスを隠蔽化)
:wq

sudo iptables -I INPUT 10 -s [ipアドレス] -d [鯖アドレス] -p tcp --dport 3128 -j ACCEPT
sudo service iptables save
sudo service iptables restart
sudo service squid start
sudo chkconfig squid on

という感じで終了

参考:プロキシサーバー構築(Squid)

2013年4月12日金曜日

Memcachedサーバ構築

CentOS5.8にMemcachedをインストールする


まずはlibeventのインストール


ダウンロードはこちらから
http://libevent.org/
libevent-2.0.21-stable.tar.gz

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar zxf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install


次にMemcachedのインストール


ダウンロードはこちらから
http://memcached.org/
Memcached v1.4.15

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --with-libevent=/usr/local/lib/
(./configure --with-libevent=/usr/lib64/)
make
make install

これでインストールが完了したので起動してみると
memcached -d -u nobody -m 2048
memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

とかなんとかエラーがでた。
shared objectが見つからねーとかいってるのでldconfigしてもういちど
[hoge@test memcached-1.4.15]# ldconfig /usr/loca/lib
memcached -d -u nobody -m 2048

無事動いた模様。


PHPから使うなら pecl memcache と pecl memcached があって
memcachedの方はlibememcached依存なんだそうです。

で、memcachedを入れようとしてたんですけど、コンパイルがエラーになっていれられないので、あきらめてmemcacheを使用することにしましたとさ。

2013年3月5日火曜日

filezillaの転送が遅い

ファイル数が多く、SFTPで接続してて、どうもLAN内のくせに遅い気がした。
暗号化のオーバーヘッドが大きいのかとFTPで接続しなおしたが、FTPのがはやいっぽいけどなんか転送中固まるorz
これはクライアントを起動してるPCの問題くさいけど。

あとそれとは別に編集→設定→転送→最大同時転送数を10にしとくべしだった。

composerの続編だお。

Symfony2でKnpLabs/KnpOAuthBundleを入れようとしてたんだお。

composer.jsonのrequireに下記のように記述するとできたっぽいよ。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev", "doctrine/doctrine-bundle": "1.1.*", "doctrine/data-fixtures": "dev-master", "twig/extensions": "master", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "sensio/buzz-bundle": "*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*", "kriswallsmith/buzz": "dev-master", "knplabs/knp-oauth-bundle": "dev-master" },


なんて書いたらいいかわからない時はpackagistで調べた方がよさげだね。
ここならバージョンもなんて書いたらいいかわかるね。
でも本当はpackagistってなんなのかまだよくわかってないよ(ぉぃ

参考:Composerの使い方を調べたメモ(1)

2013年3月4日月曜日

Symfony2のcomposerでDoctrineFixturesBundleを入れようとした時に困った件

重要なこと

Symfony2.1からはComposerで外部ライブラリの管理をしているらしい。

参考:PHPの外部ライブラリの管理にComposerを使う

オートロード用のファイルも生成するらしく(まだよくわかってないんですけど)

オートローダー関連のところもドキュメントとずれてるのかなんなのかアレだった。
Composer使えば管理が簡単になって、APCクラスローダーと同等のスピードだとかなんとか言ってるじゃねえかなこれは→Composer vs Symfony 2 autoloader

DoctrineFixturesBundleのインストール

で、本題なんですけど、
本家マニュアル通りだとうまくいかず、"doctrine/doctrine-fixtures-bundle"を"doctrine/data-fixtures"にしたらうまくいった。
まだバンドルを使ってみてないけどvendorには入っている。

要はgitのアドレスに合わせて変更したってことなんです。


"kriswallsmith/assetic": "1.1.*@dev" もエラー吐いてたので、"kriswallsmith/assetic": "1.1.*"に変更したらオッケー風でしたよ。

2013年2月27日水曜日

pukiwiki-1.4.7_notb.tar.gzをphp5.4.12で動作させる

index.phpのerror_repotingをコメントアウトして入れ替える

lib/func.php
hex2binの修正、コメントアウトでもいいんでないか?
if(! function_exists('hex2bin')){
function hex2bin($hex_string)
{
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
// (string) : Always treat as string (not int etc). See BugTrack2/31
return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
}}


あとは参照渡しにしているところが色々エラーはいてるので治す。
全部見るのがめんどいのでとりあえずまるっと置換したけど、今のところ大丈夫っぽい。
重要なwikiではないのでこれでよしとするw
何かあったらまた対応する。

以下メモ、適当にやったのでよく覚えてない。
こんなのに時間かけていられない。

Deprecated: Assigning the return value of new by reference is deprecated in
532行目辺り
$config = &new Config('AutoLink');
の&を取る

Only variable references should be returned by reference
Only variables should be passed by reference
lib/convert_html.php
$body = & new Body(++$contents_id);
&をとる
$obj = new Paragraph('', $class);
&をとる

& $obj
& new
とにかく&を取る

Call-time pass-by-reference has been removed
plugin/ls2.inc.php 69行目
&をとる


lib/init.phpのなんだっけか

2013年1月16日水曜日

redmineのインストール

Redmineはwebベースのプロジェクト管理ソフトウェアです。タスク管理、進捗管理、情報共有が行えます。ソフトウェア開発やwebサイト制作などITプロジェクトでの利用に最も適していますが、それ以外の業務でも幅広く活用できます。

オープンソースソフトウェアですので、誰でも自由に利用できます。


プロジェクトの進捗管理は重要ですよね。ってことでredmineを導入しようと試みてみましたよ。
まずはCentOS5.8に入れようとして、RMagickが入らなくてハマリましたよ。

結論から言うとImageMagickの最新版6.8.xにRMagickが対応してないですよっていうことでした。

ですので、ImageMagickの6.5.8をインストールすればできました。

基本的にはRedmine2.2をCentOS6.3にインストールする手順を参考にすすめました。

違ったのは下記2点でございます。

  • libyamlをソースからインストールした
  • ImageMagickはyumからではなくて、ソースから最新版ではなくて、6.5.8をインストールした

libyamlをソースからインストール


libyamlはEPELレポジトリを追加してとあるんですけど、
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中
警告: /var/tmp/rpm-xfer.v8PdyA: ヘッダ V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
エラー: 依存性の欠如:
rpmlib(FileDigests) <= 4.6.0-1 は epel-release-6-8.noarch に必要とされています
rpmlib(PayloadIsXz) <= 5.2-1 は epel-release-6-8.noarch に必要とされています
# yum install rpm-devel
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Package rpm-devel-4.4.2.3-28.el5_8.x86_64 already installed and latest version
Package rpm-devel-4.4.2.3-28.el5_8.i386 already installed and latest version
Nothing to do


って感じでインストールできなかったので、いっそソースからインストールしました。
libyaml
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar zxf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure
make
sudo make install



ImageMagick-6.5.8-10をソースからインストール

yumからインストールしたImageMagickだと古くてRMagick2.13がはいりませぬ。
なのでまずはソースから6.8.1-9をインストールしてやってみるけどだめなんすよ。
参考

最終的に「'InitializeMagick' is deprecated...」とかなんとかってエラーになりまして
.soはなんぞや?とか色々紆余曲折を経てImageMagickの最新版じゃRMagick入らないんじゃん!
というところへ行き着きます。
そしてImageMagick-6.5.8-10.tar.gzをインストールして、あとは手順通りでめでたしめでたし。

2013年1月3日木曜日

Bloggerの記事をFacebookでシェアしようとして自動的に付加された説明が記事ではなくてブログのdescriptionっぽくてどうにかならないかと悩んだ挙句Facebookなんかやめちまえばいいんだと思った。

Bloggerの記事をFacebookでシェアしようとして自動的に付加された説明が記事ではなくてブログのdescriptionっぽくてどうにかならないかと悩んだ。

FacebookのOpen Graphのとことか見たり、ブロガーのテンプレートのHTML覗いたりして、metaタグで設定するみたいだからどうにかなるとしてもちょっとめんどくせぇなと思った。

しかし、ここでgoogle+ではちゃんと記事の説明が付加されていることに気づいた。
いやほんとわざと不便にしてるんじゃないかとかは思うよ。うん。でも俺はgoogle信者だからいっそFacebookなんかやめちまえばいいんだと思ったわけさ。
まぁなぜか知り合いがFacebookで次々と現れるからFacebook使おうとしてたが、そもそもSNSとか基本めんどくせぇからGoogle+に生息するってことでいいんじゃねぇかな。


2013年1月2日水曜日

iPhoneがiPhoneなのは何故なのかが気になるのでパケットキャプチャしちゃうぞ^ー^

佐藤正伸さんは今wiresharkでパケットキャプチャしてあんなことやこんなことをしています。
なんのパケット覗いてるかって言うとiPhoneです。
squidで自PC経由させて覗いてます。ちょっと回りくどいような気もします。
CCNAやってた頃を思い出します。懐かしい。

事の発端は、スマホっていうのはWi-Fiからつないだ時点でPCと区別がつかなくなるはずなんじゃ?って思ったのでPCからiPhoneのフリしてapp storeにつないだり、アプリをごにょごにょしたりしてます。


要は好奇心ってことですねきっと。仕事関係ってのも多少ありますけども。


app storeのアプリって普通にsafariで開いた時とuser-agent違うんですね。

あとネイティブアプリかと思ったらウェブアプリだったりしたのとかちょっと驚いたっす。っていうかそんな上手にアニメーションできる時代なんすねみたいな。自分の技術不足実感する瞬間であります。

あ、これだけは言っときますが、誰かの不利益になるような事はしませんよ!

というわけで(?)wiresharkでパケットキャプチャする時のフィルターの仕方をついでにメモっときます。

 古い情報をみて混乱したけど、起動時の画面からインターフェースをダブルクリックしてinterface毎に設定するようになったってのがミソですね。
詳しくはWireshark 1.8 でちょっと変更された事 をどうぞ。
参考にさせていただきました。