完全に手探りで笑えるけどなんとか立ち位置をつかみたい

プログラミング・コーディング 9月いっぱいで斎場のフードコートの仕事を辞めて、10月半ばから以前勤めていた会社でパートタイムのエンジニアというかコーダーというかで働いています。 正直、ここ2年くらいほとんどコーディングしてなかったので、元々あんまり覚えないタチだったのがそれ以上に綺麗さっぱり忘れてて、さっきも「jQuery でクラス追加するのaddClass()だったよな……(不安)」とか思いながらググってて、もうほんとに手探り状態で逆に笑えてきた。 加齢による物忘れとかいう次元ではなくて、完全に任意引退状態だったのが現役復帰してみたら思ってた以上に身体動かなくて、現役時代も別に一流じゃなかったのにどうすんのよ?って感じ。ただ、まあ身体動かないなら動かないなりにやりようはあるわけで、最高効率とはいかなくても安定した仕事が出来れば良いかなと最近は思ってます。 これが、出来る人の後任として入ったとかだったら荷が重すぎるけど、出来る人が既にいて、というか部署にその人ただひとりきりのところにサポートで僕が入っているのが現状なので、僕がいなかったらゼロなわけで、「いないよりマシ」レベルであってもいる価値はあるよなあという。同僚の足を引っ張らないように気をつけつつ、というか現状明らかに足引っ張ってる気はするけど、まあなんとか彼の力になれればいいかなあ。彼がより難易度の高い案件に集中できるような環境を作れればベスト。 「あれ、何しようとしてたんだったっけ」的な、加齢による物忘れはまだあんまり実感しない(特に仕事面では)けれど、そういう考え方が出来るようになったのはある程度加齢かも知れないなあ。

続きを読む

【メモ】 Amazon APIによる商品紹介が上手く動いていないとき

Amazon Amazon APIが上手く動いていない(例えば商品表示がすべて表示されていないなど)場合で、特に大きな仕様変更がない場合、サーバの時刻がずれていることがあります。特に、何らかの理由によりサーバの再起動が行われた場合には、時刻のずれに気付かないことがあります。本来であれば自動的に時刻合わせをしているはずなのですけど、シャットダウンのタイミングによってはntpdがエラーで正しく起動せず、時刻合わせが行われないと言うことがあるらしい。 というわけでこの場合には、管理者権限にて時刻のズレを確認した上で、時刻合わせを手動で行います。

# date ← サーバの時刻を確認
# hwclock --show ← ハードウェアクロックの時刻を確認
# /etc/init.d/ntpd stop
# ntpdate ntp.nict.jp ← 時刻合わせ
# /etc/init.d/ntpd start
ちなみにこれが理由で上手く動いていない場合の、Amazonからのレスポンスは「Amazon returned invalid HTTP response code 400」でした。400ってBad Requestでしょってことなんだけど、まあタイムスタンプズレてれば認証用パラメータも期限切れになるよね(という表現でいいのかわかんないけど)ということで。

続きを読む

はてなブックマークAtomAPIへの接続が上手く行っていなかった件 【解決】

はてな この件の続き。 (訂正あり)PEAR::Services_Hatenaが上手く動いていない影響でいくつか止まってます | mutter あまりに広範囲に影響がある&今まで動いていたものがそのまま動いていないので、結局はてなに問い合わせました。

質問

3/5頃より、はてなブックマークAtomAPIが上手く動いていないようなのですが、なにか仕様変更等あったのでしょうか?実行環境は、PHP5.3+PEAR::Services_Hatenaで、ユーザーネームとパスワードで認証しようとすると401が返ります。お手数ですが調査をお願いいたします。
翌日、すぐに回答が。

回答

お問い合わせの件につきまして、3月5日にはてな各種APIでのパスワードによるWSSE認証を終了しております。 http://hatena.g.hatena.ne.jp/hatena/20140305/1394012936 つきましては、パスワードからAPIキーへの変更、もしくはOAuth認証への移行をお願いいたします。 APIキーについては、下記のドキュメントをご参照いただければ幸いです。 http://developer.hatena.ne.jp/ja/documents/auth/apis/wsse
迅速な回答、ありがとうございました。が、 しらねー!

続きを読む

1つ機能を実装すると新しいアイディアが3つ浮かぶ

今、Tumblrを便利に使うための新しいツールを作成しています。 基本的なコンセプトは、

  • RSSフィードを読み込んだらボタンを押していくだけでpostやreblogが出来る
であり、個人的なリクエスト、
  • タグを1回設定したらそのタグを付けて連続してpost/reblogしてくれる
  • 自分が望んだステータス(例えば予約投稿)で投稿してくれる
を満たすようなツールです。

続きを読む

泣きながらWindowsアプリケーションを移植した

「まれによくある」案件なのかも知れませんけど個人的に結構心に来たので書き留めておきたく。 社内のシステムを結構大がかりに入れ替えることになってウェブアプリケーションを中心に更新作業が発生しているのですけど、「前任者の忘れ形見」というか「いずれ踏む地雷」というか、割と業務に密着して利用されているWindowsアプリケーションがかなりの難敵であることが判明。概要はこんな感じ。

  • .NET Framework 1.1向け
  • 使用言語はC#
  • ソースはない
  • 開発環境もない(「Visual Studio .NET 2003」だと思う)
  • 仕様もない
でもって、特殊事情としては、
  • 僕にはC#での開発経験はない(「Hello, World!」でさえ怪しい)
  • 納期やばい
納期がやばいのは他の作業で時間を使いすぎた僕のせいなんですけどそれにしたってこの、プラスチック製果物ナイフでくじらを解体するような感覚に頭がクラクラしました。エンジニアの人ってすげえな。最近「俺、エンジニアじゃねーな…」と思う機会が多いので余計に。 結論を書くと、今のところ8割方動いてます。
  • .NET Framework 4 向け
  • 使用言語はC#
  • ソースはデコンパイルして再生成した
  • 開発環境は「Visual Studio 2010 Express」入れた
  • 仕様は今書いてる
誰かの助けになるとは思えませんが、一応気付いた点もメモ。

続きを読む

ニコニコ動画関連でやった作業の簡単なメモ

動画情報のURLが「/thumb_watch/」から「/thumb/」に変わってたのに対応

全く気付いてなかった。 ニコニコ動画プレイヤーのUIをカスタマイズするGreasemonkey」など修正しました。

違反動画の通報がログイン必須になってたので修正

以前はログインが必要なかったのでここから投稿者名を取得するみたいなスクリプトを書いてました。その後、プロフィールの概要ページ(下記例参照)から取得するように変更したのですが、以前のまま残っていたコードがあり、そのコードで投稿者名が取得できなくなっていたので修正。今は、動画APIからuser_idを取得し、それを使ってプロフィール概要にアクセス→スクレイピングして氏名を取得しています。

タグ検索用RSSに表示しないユーザーを設定してみた

タグの検索結果をRSSで購読してて最近気になるのは、SPAM目的なのか目立ちたいだけなのか意味のない動画を無関係のカテゴリ(「ニコニコ技術部」とか)やタグ(「TAS」とか)に大量に投稿している投稿者。同じ動画を何度も何度も投稿したり、他の投稿者を攻撃する動画を執拗に投稿し続けたり、衆目を集めるためか自殺を仄めかしたり。もちろんそういう動画を投稿すること自体はその人の自由なんですけど、無関係のカテゴリに放り込まれるのはとても迷惑。あまり改善する見込みが無さそうなので、少し自衛していこうかなと。 定期的にアカウントを変更するのでイタチごっこになりそうですけど、とりあえずブラックリストを自分で持ってそれに登録があるユーザーの動画はRSSの一覧から外していくようにしました。一応、よほどのことが無い限り追加はしない予定です。 ニコニコ動画 タグ検索 RSS+ 迷惑な投稿者の例としてはこのあたりを参照されたし。 でいだぶるとは (デイダブルとは) [単語記事] – ニコニコ大百科

続きを読む

【メモ】 CUIに実行ログを書き出す(1行を上書きしていく) 【PHP】

やりたいこと

フレームワークのタスクなどを実行する際に、きちんと進行しているかインジケータを表示させたい。ただし、処理数分だけ行数を重ねるのではなくて1行に上書きしていきたい。上手く説明できなくて歯がゆいんですけど、つまりこうではなくて、
doSomething ...  1/5
doSomething ...  2/5
doSomething ...  3/5
doSomething ...  4/5
doSomething ...  5/5 finished
こう。
doSomething ...  5/5 finished ← この行だけで更新されていく
わかりますかね…

続きを読む

VirtualBoxの共有ディレクトリ内のファイルを更新してもApacheで表示が更新されない問題

VirtualBox.jpg

作業環境

ホスト

  • OS … Windows 7 64bit
  • 開発環境 … Eclipse 3.7.2

ゲスト

  • OS … CentOS 6.0
  • Httpd … Apache 2.2.15

起きた問題

ちょっと解りにくいので作業順に従って箇条書きで書くとこんな感じ。
  1. Eclipseのワークスペースを共有フォルダとしてVirtualBoxに登録
  2. 共有フォルダをマウントしてドキュメントルートにシンボリックリンクを貼る
  3. Eclipseでファイルを更新
  4. ゲストOS上でファイルの内容が更新されていることを確認
  5. ブラウザの表示を更新→更新されない
    • 読み込むjsファイルやcssファイルを変更しても反映されない
    • JavaScriptの場合途中までしか読み込まれずにエラーが出る
    • ExtJS4ではファイルの末尾によく解らない文字列が追加され「illegal character」エラーが出る

続きを読む

VBoxHeadlessTrayがとても便利 – VirtualBoxをタスクトレイに格納する

VirtualBox.jpg 自分の端末はWindows 7(64bit)。開発は基本的にその上でやってるんですが、テスト環境には当然Linuxが必要になります。昔はWindowsでApacheを動かしてたときもありましたが、今なら普通に仮想環境ですよね。誰でもやってることだと思います。 というわけで、Windowsに「VirtualBox」をインストールし、ゲストOSとしてCentOSを動かしてテスト環境にしています。まぁその設定についてはその昔この辺に書きました。 CentOSの開発環境、設定手順(with VirtualBox) | mutter これを書いた当時と比べるとマシンのスペックが上がっているので(メモリ16GB積んでます。こんなこともあろうかと)、VirtualBox上のゲストOSにもたっぷりメモリを割いていてかなり快適に動かせています。素晴らしい。

本題。

そういうわけで仮想環境としてVirtualBoxが動いていますが、VirtualBoxのウィンドウはおろか、ゲストOSのGUIウィンドウすら普段は見ません。全部CUIで済みますもんね。ていうかむしろCUIなかったら作業なんてしてられないですし、そもそも「テスト環境」になりませんな。本番サーバをGUIで管理してますとか聞いたことないし。片付けたい。出来れば音も無く起動し、そのままタスクトレイに格納されて、必要なときだけ呼び出せるようにしたい。 それ、「VBoxHeadlessTray」で出来ます。 ダウンロードはこちらから。 Topten Software 解説は窓の杜のコラムが詳しいです。 窓の杜 – 【REVIEW】「VirtualBox」の仮想PCをタスクトレイから直接起動「VBoxHeadlessTray」

続きを読む