読者です 読者をやめる 読者になる 読者になる

職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

パソコン・インターネット

「ユニコード戦記」を読んだ

仕事もプライベートもUnicode無しには考えられないという時代になって久しいですが、皆様いかがお過ごしでしょうか。 私は元気ですが、文字のことが頭から離れる日はありません。さて、3月に東京に遊びに行ったとき、渋谷のとある書店に立ち寄ったのですが、…

「暗号解読」を読んだ

昨年、オススメの本を紹介しあう会(ビブリオバトル)が会社で開催されたのだが、その会に同僚氏が持ち込んだ「暗号解読」という本がとても興味深かったので、買って読んだ。暗号解読〈上〉 (新潮文庫)作者: サイモンシン,Simon Singh,青木薫出版社/メーカー…

Apple ID を変えた

Apple ID と言えばメールアドレスです。iCloud やら何やらにログインするときは、メールアドレス+パスワードにて遂行することになります。二要素認証を有効化している場合はもう一つの要素も必要ですが、メールアドレスが必要であることに変わりはありませ…

CloudWatch Logs を華麗に読む CWLReader v1.2

CloudWatch Logs のログを華麗に読むツール CWLReader をアップデートしました。 github.com pure HTML / JavaScript なツールで、html ファイルを1つ置くだけで使えます。ダウンロードはこちらから。製品のコンセプトなどは、初回リリース時の記事 をご覧下…

第26回 #シェル芸 勉強会に参加してきました

2日前の話題ではありますが、タイトルの通りです。今回も大阪サテライトでの参加でした。atnd.org togetter.com 午前中の学び 午前の勉強会は bash のキーバインドの話でした。 set -o emacs set -o vi どちらが良いかなんて一目瞭然ですね(宗教戦争を煽る…

医療情報サイト WELQ(ウェルク)への自分自身のアクセス記録を調べる

医療情報のキュレーションサイト「WELQ」(ウェルク)について、適切でない情報が多く掲載され、かつ強力なSEO施策が実行されていた結果として検索結果の上位に食い込んでいた、とされています。 本日飛び込んできたニュースの中に、当該サイト、および、運…

パイプを通るPDF(実験中) 〜 #シェル芸 の新たなる境地へ

大阪サテライトのLT、次は @t_motooka さん!! #シェル芸 pic.twitter.com/Jm41XwhLOQ— くんすと (@kunst1080) 2016年10月29日 先日開催された「第25回 #シェル芸 勉強会」のLT(大阪編)でしゃべった内容を、ここで紹介します。#大げさなタイトルですが、…

第25回 #シェル芸 勉強会に参加してきました

タイトルの通りです。今回も大阪サテライトに参加しました。本家 usptomo.doorkeeper.jp大阪サテライト atnd.orgTogetterまとめ togetter.com あ、一番最初に掲載されている。問題 【問題のみ】第25回もう4年もやってんのかシェル芸勉強会 – 上田ブログ 問題…

v6喋る串

「これからはIPv6の時代だ!」そんなふうに考えていた時期が筆者にもありました。確か2005年頃の話だったかと思います。それから10数年の時が流れ、世の中は未だにIPv4だらけです。人生の進捗もダメなままです。 そんな折、某所でIPv6の需要が急激に高まって…

CloudWatch Logs のログを華麗に読む CWLReader を公開

CWLReader という小さなソフトウェアを公開しました。github.com 解決しようとした課題 AWS でいろいろ運用している皆さんの多くは、各種ログを CloudWatch Logs へ溜め込んでいることでしょう。 ログの内容に不審な点があれば通知を投げるといった仕組みも…

第24回 #シェル芸 勉強会に参加してきました

タイトルの通りです。今回も大阪サテライトに参加しました。本家 usptomo.doorkeeper.jp大阪サテライト atnd.orgTogetterまとめ togetter.com問題 【問題のみ】第24回◯◯o◯裏番組シェル芸勉強会 – 上田ブログ 問題+解答例 【問題と解答】第24回◯◯o◯裏番組シ…

Let's letsencrypt

もしかしたら今更…なのかもしれませんが、無償でSSL証明書を発行してくれるサービス Let's Encrypt を試してみました。letsencrypt.org 特徴 無償 証明書の有効期限は3ヶ月程度。証明書を更新するタスクを定期自動実行することが推奨されている。revoke が突…

さぁ、PDF手書きの世界へ。

PDFに関して様々な処理を行うためのプログラム pdftk をWebブラウザから呼び出すことができるように、pdftk wrapper という単純なツールを作って公開しました。github.com 何のために作ったのか? PDFはテキストではなくてバイナリのファイル。そう認識され…

CakePHP3で簡易監査ログ

情報システムを組み上げるときは「誰がいつ何をした」といった情報を残していくことが非常によくあります。この情報のことを監査ログと呼びますが、他にも呼び方があるかもしれません。英語では audit trail と言ったりしてたと思います。たぶん。そのシステ…

EC2にRedmine(Apache|Passenger|HTTPS)

人に頼まれてRedmineをAWSのEC2上に構築することになった。この記事はその作業記録である。 要件 ランニングコストは最低限に抑えたい:業務時間中しか使わないし オレオレ証明書で良いから、平文のHTTPは一切禁止、HTTPSのみでの運用にしたい OSはAmazon Li…

「CRMの基本」を読んだ

筆者は10年とちょっとに及ぶ職業人生のうち、実は8割方は大なり小なりCRMに絡んだ仕事をしている。 しかし、CRMの世界のことは経験則でしか語ることができないという残念な状態が続いていた。そんな折、梅田の紀伊国屋さんのレジ前で平積みになっていたこの…

さあ、光の世界へ。

自宅に光回線を引いた。 今まで使っていたもの WiMax を使っていた。 ワイヤレスゲートWi-Fi + WiMAX | 株式会社ワイヤレスゲート 2011年の中頃くらいから契約していたと思う。オーストラリアに滞在している期間中も、従量制課金のプラン「ステッププラン」…

還付金でパンプキン!〜認証のお話〜

タイトルは言いたかっただけです。すみません。10月31日、世間がHalloweenで盛り上がる中、私は確定申告に追われていました。昨年9月まで豪州に居た訳ですが、豪州の年度は7月始まり。所得税の計算も7月始まり。そう、2013年7月から2014年6月までの分の所得…

CotEditorで円マーク「¥」を検索

(タイトルの¥の文字は全角です。半角打つと何か怖いんで。文中も同様。)Mac には CotEditor という良いエディタがありまして、MacでWeb系のコード(JavaScript, HTML, PHP, etc...)などを書く際にはいつもお世話になっています。 2つの文字 on Mac さっ…

そのfallback戦略、妥当ですか?

fallback(フォールバック)とは、元々使おうとしていた手段が利用できない状況において、代替手段を使うことを言います。最近では名詞としての用法も多いようですが、元々は動詞(+副詞)であることに気を付けて下さい。 contingency-plan(コンティンジェ…

パスワードを収集するということ

僕のような人達の仕事の一つに、ユーザ教育というものがあります。 使い方や仕組み、考え方などを直接教えるだけではなく、ソフトウェアを使っていてる人達が、それ使っているうちに自然と学んでいけるようなものを作ることも仕事です。何を教えるのか。コン…

「マイクロインタラクション」読んだ

マイクロインタラクション ―UI/UXデザインの神が宿る細部作者: Dan Saffer,武舎広幸,武舎るみ出版社/メーカー: オライリージャパン発売日: 2014/03/19メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る日本語版は今年の3月20日付けで初版…

AWSのS3を使った疑似push型配信

Webページ内でpush型配信をやろうと思ったとき、どのように実現しますか? WebSocket Comet Ajaxで定期的にpolling(ポーリング) ここ数年ではWebSocketを使う事例が多いかとは思いますが、やっぱり、色々と面倒臭いというのが正直なところです。かと言って…

吹き出し作成アプリ「突然の死」バージョン1.1リリース

_人人人人人人人人人人人_ > リリースしました <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄こんな吹き出しをお手軽に作成するためのiOSアプリ「突然の死」のバージョン1.1をリリースしました。次のような機能があります。 簡単なコピー&ペースト Twitterへ投稿(「設定…

$7 per month のヤル気

先週末、GitHubのMicroプランに契約して、private repository を持ち始めました。 repository とは? そもそもこの文脈で言うrepository(リポジトリ:倉庫の意味。書きことばです)とは、ソフトウェア(ソースコード等)のバージョン管理システム(VCS)のた…

opacity、transparency そして alpha

今回は色の話です。透明に関わる3つの言葉、opacity, transparency, そして alpha。 これらの意味、きちんと把握できていますか?筆者は、できていませんでした。 反省の気持ちもこめて、ここにメモしておきたいと思います。 思い込み 次のように思い込んで…

開眼した話

もう既に5日ほど経ってしまいましたが、新年明けましておめでとうございます。この年末年始に作ったものを紹介しようかなとも思いましたが、まだ人に言ったり見せたりできる状態ではないものばかりなので、読んだ本のうちの1つを紹介しておきます。開眼! Ja…

ウェアラブルコンピュータに期待していること

参加しているバンドの演奏会が今週末に迫っています。このバンドはおよそ週1回のペースで練習しているのですが、未だに顔と名前を覚えられない方が何名がおられます。 流石に知り合って数年経過しているような方々とか、知り合ったばかりでも以前からお名前…

ドラゴンクエスト1に学ぶ「乱数」

数日前、iOS / Android 向けにDQ1(ドラゴンクエスト1)が100万人限定で無料配信されるということがあり、ネット上でもリアルでも、周囲はDQ1をプレイしている人が大勢居られました。僕は今そんなもんで遊び始めたら生活が破綻するので落としに行ってすらい…

好きなキーボード

キーボードと言えば、日常生活においても仕事においても欠かすことのできない重要な道具です。キーボードの良し悪しは生活に大きな影響を与えると言っても過言ではありません。しかしながらPCに付属していたキーボードや1000円以下で買うことのできるキーボ…

auショップにおける暗証番号の取り扱い

先日、新しく携帯電話端末(ガラケー)を入手するためにauショップで手続きをしてきましたが、暗証番号の取り扱いが非常にダメダメだったので、ここに記録を残しておきたいと思います。 経緯 auショップの窓口において。 購入する機種を決定し、申し込み用紙…

謎の403

Apacheで割と本気でハマったのでメモ。 症状 特定のディレクトリ、またはその配下の任意のディレクトリ/ファイルにアクセスしようとすると、403 Forbidden が返される。 再現手順 rootになる。 $ su -~(rootユーザのホームディレクトリ)にディレクトリを…

退職しました(1年半振り2度目)

先日、9月上旬の某日付けで、務めていた会社を退職することとなりました。 ここ最近、退職エントリに関する話がいろいろと出ていますが、この記事はいわゆる「砂をかける」系の話ではありません。前回は明らかに砂をかけてますけれども。前回の退職エントリ …

もう一つのSingleton

Singletonと言えば、オブジェクト指向言語におけるデザインパターンの一つのことです。 とあるクラスのインスタンスが高々1個までしか存在しないことを保証するクラスのことを指します。 Singleton パターン - WikipediaSingletonには重大な欠点があります…

超高速開発 体験談

数日前に日本で話題になっていた「超高速開発」について記事を残したいと思います。ニュース記事 超高速開発はスクラッチ開発の3倍から10倍の開発効率が条件、競合するベンダ13社が利害を超えて「超高速開発コミュニティ」を設立 - Publickey の はてなブッ…

至高のウォーターフォール型開発

ウォーターフォール(Waterfall)型開発とは、まるで上流から下流に水が流れるが如く、上流から下流へ仕様書やプログラムなどの成果物を流していき、最終的なソフトウェア製品を完成させるという古典的な開発手法です。長所としては 単純である ソフトウェア…

謎プロトコル(電子メールのお話)

Twitter上でよく流れてくる愚痴の一つに「謎プロトコル」というのがあります。謎プロトコル(protocol:通信の手順)とは、企業間(場合によっては企業内)で機密情報をやり取りする際に、機密情報を暗号化されたzipファイルとして電子メールで送信し、その…

Google Code Jam 2013 Round 1 に参加しました

コンテストそのものの紹介と、予選のときのお話 ⇒ Google Code Jam 2013(予選)に参加しました本戦の第1ラウンドは、1A、1B、1Cの3回が開催され、各回の上位1000人(合計3000人)が第2ラウンドへ進出というルールです。 3回ともチャレンジしたのですが、…

業務システム刷新

先日、会社の業務システムを刷新してきました。 書けること書けないこと色々ありますが、書けることだけかいつまんで、概要だけ紹介したいと思います。 もちろん、後年、自分自身で振り返ったときのためのメモでもあります。 形態と規模 一般的なLAMP(Linux…

チョードコーディング入賞!

先日、CodeIQさんにおいて「チョードコーディング」が開催されていたので参加しました。 全体で139人の挑戦者が居られたそうですが、なんと7位入賞を果たすことができました! 非常に嬉しい限りです。 どんな競技なのか? 「素数を小さい順に100個表示させる…

Struts 1 EOLと聞いて

JavaのWebアプリケーションフレームワークである Struts のバージョン1系統のEOL(End Of Life)が宣言されたというニュースを、Twitter経由で知りました。 まだEOLじゃなかったんだwと思うと同時に、非常に懐かしい気持ちで一杯です。というのも、僕がJav…

Google Code Jam 2013(予選)に参加しました

プログラミングコンテスト「Google Code Jam 2013」に参加しました。 参加したとは言ってもまだ予選が終わったばかりの状態ですが。コンテストのページはこちら: Google Code Jam 問題文や参加者の回答などは、「Practice」のリンクの「Past Contests」の欄…

ファイル転送

Webサーバなどなど、何かしら遠隔地のサーバにファイルを転送するとき、皆さんは何をお使いでしょうか?感覚的な話になりますが、一般的には SCP や SFTP が多いかとは思います。次に多いのはWebコンソール(コンパネ)over HTTPS でしょうか。エンタープラ…

アリバとアリババ

アリバ(Ariba)と言えば、企業間取引(調達・購買)の場面ではよく耳にする企業です。簡単に言うと、電子商取引を上手く支援してくれるネットワークを提供してくれる会社、というところでしょうか。このAribaはこの業界では大手なのですが、この広い世の中…

暗黙的デフォルト値

またまたMySQLでハマったのでメモ。 現象 実行できないはず(エラーになるはず)のSQL文が、MySQLでは実行できてしまいます。 具体的には、not null 制約のある列に対して null 値を格納させようとしても、実行できてしまう場合があります。 サンプルデータ…

年の瀬に Joel Test で 自己評価

Joel Test(ジョエル・テスト)とは、もう12年も前のものではありますが、ソフトウェア開発チームの良し悪しを測定するための、良くできたテストです。12個の質問に Yes / No で回答していき、 Yes の数が点数となります。 もちろん得点は高いほど良く、12点…

PreparedStatementはSQLi対策として100%安全なのか?

脇の甘い技術者というのは世の中には多く存在していて、日本に居た時もAustraliaに来てからも、SQLi (SQL Injection) 脆弱性を見つけたり治したりすることは多々ありました。 基本的にはエスケープをかけるか Prepared Statement を使うかの2択で、可能な限…

12チャンネル

無線LANでハマったのでメモ。「無線LANがどうしてもつながらないから助けてくれ」と救援依頼を頂いたので、調査と措置を取ることになりました。 環境(登場人物) 某Cisc○社製 SOHO市場向け無線LAN機能つきルータ 某S社製 少し古めのAndroid端末(2.3.6) 某A…

mixiへ

日経にこんな記事 悩めるミクシィ、笠原社長の誤算と覚悟 :日本経済新聞 が掲載されたことを発端として、ネット上の色んなところで「mixiは○○がダメだ」とか「mixiの○○は優れてるんだから発展させようぜ」とか意見が飛び交っています。 僕もここで一言。 ユ…

Segmentation Fault

金曜日と土曜日にマジでハマったので、記事にしておきます。 現象 構築しているWebアプリの特定のページにアクセスすると、このような状態に陥りました。 ブラウザにはエラーページが表示される。が、5xx系のエラーページではなく、接続が絶たれた旨のエラー…