Webエンジニア susumuis の技術ブログ

このブログの内容は個人の見解であり、所属する組織の公式見解ではありません

GCE上のDebianに Nginx / HHVM で 23.5msecでレスポンスする 爆速Wordpress立ててみた。

1ヶ月GCEで遊んだこと 先月クーポンを貰ってからすっかりGoogle Cloud Platformの虜になっています。特にGCEはインスタンスの立ち上げが速く楽なので、なにかやろうとするとき、既存のインスタンスに何かするよりも、新しいインスタンス立てようって気持ちに…

「きしだのはてなのあれってどうなの勉強会」 #kiskai に参加してきました

はじめに この記事は、非エンジニアの方にエンジニアの勉強会の様子をわかりやすく紹介しようと試みて書いているため、エンジニアの方から見ると、何を今更かもしれませんがご容赦く下さい。また、この記事では、会と同様、便宜上「サービス」系と「受託開発…

はてなブログEpicテーマをレスポンシブルしてみた

Web

悪乗りしてレスポンシブルしてみた。 こうですか?わかりません>< もう、何が何だかなので現在のものをそのまま貼ります。動きはこのブログ自体を見て! ソース全文 /* <system section="theme" selected="alpha2"> */ @import "/css/theme/alpha2/alpha2.css"; /* </system> */ h1#title { text-align: left; …

はてなブログのEpicテーマをリキッドレイアウトにしてみた

Web

はてなブログを使っている技術者の方はEpicテーマを使っている人が多いなあと思います。シンプルで読みやすいので、内容重視の技術者ブログに適していますよね。 このブログもEpicテーマを使用していますが、幅が960pxで固定されているのが気に入っていませ…

Cocos2d-jsを試してみた(秋葉原Cocos2d-html5もくもく勉強会#4 にて)

4連休の初日は、秋葉原Cocos2d-html5もくもく勉強会#4 に参加してきました。 秋葉原Cocos2d-html5もくもく勉強会#4 - connpass 参加経緯 僕はCocos2dもゲームプログラミングも業務経験がないド初心者ですが、実は、昔、学生の頃は僕もガラケー向けの落ち物パ…

Google Cloud Platform に Google Compute Engine を構築して、Wordpressを動かすまで(その3 - wordpressらしきものが動いた!)

前回: Google Cloud Platform に Google Compute Engine を構築して、Wordpressを動かすまで(その2 - LAMP環境の構築) - susumuis Info GCE上に構築したDebian LAMP環境にwordpressをインストール さて、前回までで、wordpressをインストールする前の役者…

Google Cloud Platform に Google Compute Engine を構築して、Wordpressを動かすまで(その2 - LAMP環境の構築)

前回 : Google Cloud Platform に Google Compute Engine を構築して、Wordpressを動かすまで(その1 - instance に SSHで接続するまで) - susumuis Info それでは、昨日に引き続き、ビギナーの記録的日記を書きます。 GCE上のDebianにWordPressをインスト…

Google Cloud Platform に Google Compute Engine を構築して、Wordpressを動かすまで(その1 - instance に SSHで接続するまで)

先日、GCEを使って遊んでみました。 基本的なことですが、自分用のログとして残します。 なお、事前にGoogle Cloud Platformの登録は済んでいてプロジェクト作成済みで、インスタンスも作成済み、さらにgcutilもインストール済みとします。(そこまでの記録…

gcp ja night #27に参加してきました。(+Google Cloud Platformとクラウドプラットフォームの今をおさらい付き)

gcp ja night #27 - connpass に参加してきました。 僕とgcpja night(旧称appengine ja night) 私事で恐縮ですが、僕は旧appengine ja nightの常連だと思っていました。一時期毎回のように参加をしていたと思います。しかしどうやら、僕が最後に参加したの…

僕がコラボしたいと思う理由

よく人に雑談で言ってることを書いてみました。駄文です。忙しい人は読まないでください。このブログのプロフィールとか、僕のTwitterのbioとかに「クリエイティブな人とコラボしたい」と書いています。でも、僕はコミュ力が高い方じゃなくて、初対面の人に…

Java8をインストールしたMacでもさくらVPSのVNCは使えましたという報告

今日のお題: さくらVPSのVNC機能を使う場合はJava6を入れなきゃいけないという誤解→ウソ→Java8でも動いたよ! 筆者環境 MacBook Air (11-inch, Late 2010) OSX 10.9.2 Maverics Safari 7.0.3 java version "1.8.0" 経緯: 急にサーバー立てたくなりまして。…

JVM Operation Casual Talks に参加してきました。

JVM Operation Casual Talks : ATND に参加してきました。 会場はLINE株式会社渋谷オフィス、ヒカリエの27階です。中も景色も綺麗ですね。 「カジュアルトーク」なんて言うものだから、きっと、どこかの「基礎勉強会」のような怖い勉強会であることを覚悟し…

sun.misc.Unsafeを使う

コンストラクタを呼ばないでインスタンスを生成してリフレクションで横から強制的に初期化という行為が必要だった。sun.misc.UnsafeというAPIを使用するとできるらしいのでやってみた。あっけなく出来てしまった。まずは今回テストしたコードを下記に貼り付…

#kyon_kao_wedding に参加しました。LTはできませんでした(笑)

きょんさん (@kyon_mm)、かおりさん (@kaori_t_spica) さんのご結婚記念LT大会に参加してきました。 http://peatix.com/event/29745/ きょんさん、かおりさん、ご結婚おめでとうございます。 とても仲睦まじい感じでした。 撮った写真アップします。 きょん…

ブログ引っ越しました。

ブログの最初は、始まりの挨拶の方が良いと思うので、引っ越しの挨拶を投稿します。 今更はてなダイアリーから引っ越しました。引っ越し元は http://d.hatena.ne.jp/s-ishigami です。これまで通り技術中心にブログを書いて行きます。 旧ブログの記事につい…

はてなブログへ移行します。

さすがに、旧時代のはてなダイアリーで記事を書くのは、Facebookに投稿したりするのが簡単になった昨今、面倒に感じて来たので僕もはてなブログに移行することにしました。今後の記事はこちらで書いて行きますので、よろしくお願いします。 http://susumuis.…

僕の行きつけのお店「サカノウエカフェ」について

今日は僕がよく訪れるお店を紹介します。 文京区湯島、東京の真ん中にあるのにローカル色が強い土地です。湯島天神は初詣と梅祭りなどの一部の時期は賑わいますが、それ以外は静かなスポットです。そんな僕の住む街にある「サカノウエカフェ」は、その名の通…

64bit環境でなんかheapを多く消費するなあと思ったら

かいつまんで話すと、100KBくらいのXMLデータをモデル化したデータ*1がJavaのheap上で10MBになった!なぜか!という話です。DOMのような構造データは要するにこんなデータ構造を持っていれば良いです。 class Node { Map<String, String> attribute; QName qName; } class QN</string,>…

PostgreSQLを使っていて、カラムの中にカンマ区切りデータを入れてしまった時のノウハウあれこれ

DB

一つのカラムのなかに、カンマ区切りでデータを入れてしまったとします。自分用のメモとして、そんな時に役立つテクニックをここにまとめます。言ってみれば第一正規形ですらないテーブルデータと言えるので、いかがなものかとも思いますが、それはそれとし…

JJUG CCC 2013 Fall で発表してきました

共同発表者のWebデザイナーさんがスライドを作ってくれたのですが、残念なことに、はてなダイアリーに埋め込むことはできないみたいですので、以下よりリンクをしてみて下さい。 テンプレートエンジンを利用してプログラマーとWebデザイナーが共同作業をする…

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」でLTしてきました。

スライド: from JSP to Design-friendly Template Endine JSPからMayaaに移行した本当の話 from Susumu Ishigami 動画: こちらが自分で こちらが共同発表をしてくれた@smilelx_xl さんです。 去年の11月にCCCで発表させて頂いて以来、公の場で発表するのは…

JJUG CCC 2012 Fallで発表をしました。

2012年11月10日開催の日本Javaユーザーグループ主催のクロスコミュニティカンファレンス 2012 Fallにて「Javaを使用したSaaS型ECプラットフォームえびすマート開発の概要」という演目で発表させていただきました。発表の機会を与えて頂いた JJUG の皆様、業…

JavaMailで文字化けを防ぐ方法まとめ

ハマったので自分のためにまとめます。 JavaMailで普通にメールを送信すると「〜」や丸数字が文字化けします。 その対策についての調べた記事をまとめます。 x-windows-iso2022jpを使う http://www.igapyon.jp/igapyon/diary/2007/ig070427.htmlShift_JISに…

Mayaaでm:idの解決の仕方を自分好みにカスタマイズする方法

このブログで何度か触れましたが、僕の勤務先の会社ではMayaaを使っています。まだMayaaを使っていますし、これからも使っていくと思います。しかしさすがにMayaa長いこと使用していると、次の悩みが発生しました。 default.mayaaファイルが巨大化しすぎた …

Java One Tokyo 2012 (#JavaOneJP) に参加しました

2012年4月4,5日に開催されたJava One Tokyoに参加させて頂いてきました。タイトルは "Moving Java Forward" ということで、Javaはどのように前進しているのでしょうか? 感想 このエントリは最後グダグダになるので、いきなり冒頭から総括します(^^; メイン…

地下鉄で最適な情報端末は何だったのだろう

地下鉄内でネットが使えるようになっていくらしい。今後は都内で電波が切れるということを体験することはほぼ無くなると思われるので、今のうちに、そんな時代を振り返って書き残したいと思う。電波が途切れがちな地下鉄で最適な情報端末は何だったのだろう…

Mac初心者としてMac初心者が知っておいた方が良いと思ったこと

MacBookAirを買ってちょうど1年くらいになります。既に型落ちモデルになっていますし、OSも次の次のバージョンが発表されていますが、バリバリSnow leopardを使っています。僕はこのマシンを買うまで今までMacというものに触ったことがありませんでした。そ…

PostgreSQL で LANケーブルが抜けた場合にConnectionを破棄する方法

TomcatでWebアプリを開発していてDBとの接続はコネクションプーリングを行なっています。コネクションプーリングをしているとはいえ、何らかの原因でConnectionが使い物にならない場合は、再接続をするために、Connection取得時に以下のようなSQLを投げて死…

java.lang.reflect.Proxyは使える子か?

ResultSetみたいな巨大なインターフェースを独自で実装使用とすると、あまりのメソッドの量に途方にくれてしまいます。ちなみに僕のMacBookAir 11inch 2010年型 (メモリ4G) では、テキストエディタでひらいてもEclipseがカクカクします。一部のメソッドを書…

Amazon s3とCloudFrontを試してみた。

週末に試してみました。Amazon S3は http://aws.amazon.com/jp/s3/ CloudFrontは http://aws.amazon.com/jp/cloudfront/両方共構築はビックリするほど簡単でした。S3は管理コンソールからリージョンを指定してバケットを作成し、管理コンソール上からGUIでフ…

GWTでJavaプログラミングをはじめよう!

Java アドベントカレンダー2011 31日目です。みんな大晦日だよ!僕が子供の頃は青いネコ型ロボットが出るアニメが特番をやるのが楽しみでした。「こんなことできたらいいな」と思って「叶えてくれる」と言ったら、「はい、Java言語」ということで子供たちの…

何者にもなれないエンジニアが、技術を磨くためのただ3つの方法

エンジニアの生存戦略として、よく「アウトプット大事」と言われます。「勉強会でお客さんになっていては上達しない。発表者にならなければ!」とか「本を読むだけでなく、OSSにコミットしよう」とかは、確かにその通りだと思います。言うまでもなく、人に教…

JVM用のJavaScriptエンジンをまとめてみる

JVM上で動くJavaScriptについて調べたので、メモしておきます。 これまでの状況 まずは、Rhinoが有名です。「ライノ」と呼びます。RingoJSやMayaaなど、すでに広く使われています。Java6から標準でJDKにバンドルされています。(ただし、バンドルされたもの…

変態Comparatorを書いてユニットテストをしてみた

変態アドベントカレンダーが止まってしまいそうなので支援します。最近、勤務先の会社で、アルバイト希望の学生に試験を出したりしているのですが、Comparatorが書ける子いないので、(ある意味)模範例のつもりで颯爽と書いてみたいと思います。(いえーい…

変態テンプレートでみんなの変態を集めてみた

変態アドベントカレンダー2011に参加しました。他の参加者の方々は、Twitterなどで見かけてはおりますが、リアルでの面識はありません。そんな僕がこの企画に参加した理由は、半年前、出身高校の文化祭に行ったのですが、科学部の理系女子高生がおっさんに向…

HTMLとCSSの棲み分けについて

Web

前のエントリで、HTML5とCSS3の現代的な棲み分けとして、 div#container > div:nth-of-type(3) > div > aside p { ... } のような複雑なCSSセレクタを組み立てて、HTML側のマークアップは必要最小限のclassとdivを使った 美しいものとするという方針には「疑…

BootCamp 2011 に参加してきました

去年はGDDの前日に会場と同じ東京国際フォーラムで行われましたが、今年はGDD会場の横浜ではなく、六本木のGoogleオフィスにて行われました。 DevQuizを100.0点で落ちた僕としては、せめて横浜に是非行ってみたかったのですが、六本木のような綺麗なところは…

アンドロイドは猫さんとは仲がわるいのか

こんにちは。またまたはまりましたので報告します。このところ連投だなあ(笑) 問題概要 Android端末で毎画面セッションIDが変わるという現象が開発用のローカル環境で発生し、延々と調べてしまいました。 原因は、http://d.hatena.ne.jp/s-ishigami/201109…

MayaaなどRhinoを使っていてハマること。It is not a function, it is String

またまたドハマリをしたので報告します。シチュエーション的にはまれだと思いますが、同じ罠にはまると、解決するのに時間がかかると思うので報告します。現象としては、以下の2記事の組み合わせです。TreeSetのComparatorではまったのでメモ(初心者向け)…

Androidの標準Webブラウザでセキュア属性付きのCookieの扱いがPCやiPhoneと異なる件について

Android用のWebサイトを作っていてはまったので、報告します。対象はブラウザ上で動くWebアプリの話で、ネイティブアプリではありません。 Googleで検索しても、ネイティブアプリ関連の情報は出てきますがWeb開発の情報が意外とすくなかったので、少しでもお…

EclipseのJavaScript環境(JSDT)を快適に使う方法

今日ますます重要となってきているプログラミング言語JavaScriptの開発環境として、WebStormやIntelliJ IDEAの評判が良いですが、Eclipseを使わざるを得ない状況ことも多いと思います。今回Eclipseで快適にJavaScript開発を行う環境をどのように構築したらよ…

2年間Mayaaを使ってわかったこと その2

前回のエントリは、ここ最近の自分の取り組みの集大成(大げさw)のつもりで気合を入れて書きました。結果、このブログとしては多めアクセス数、ブックマークをいただいているようで、誠にありがとうございます。*1しかし読み返してみると書き忘れたことが…

そろそろ2年間Mayaa使ってわかったことを書く

みなさん、日々のお仕事お疲れ様です。僕は、2年ほど前に、所属している会社の主要プロダクトであるのリニューアルに係わりました。その際、Mayaaを採用し、今日までにそれを運用してノウハウが蓄積してきたので、ここに発表しようと思います。 経緯 私たち…

首都圏でJR線の一筆書きルールを利用してノマド作業をするのに適したコース9選

僕は休日によくMacBookAirを持ち歩いて、外でコーディングをします。そういう時、ルノアールを活用される方が多いようですが、どうも自分はカフェで作業が肌に合わず、そこで、電車コーディングを始めました。ところで、JRには以下のルールがあります。 http…

TreeSetのComparatorではまったのでメモ(初心者向け)

今更感のある話題ですが、初心者=僕が、ドハマリして、いろいろ面白い現象に遭遇しました。 内容はいたって基本中の基本のため、仕事でプログラミングしている者としては恥ずかしい限りですが、後に同じようにハマる人がいたときのために、メモを残します。…

JavaでPDF生成する方法(LibreOffice, jodConverterによる方法)

JavaでPDFを生成する場合、こういった方法や、http://allabout.co.jp/gm/gc/80691/ こういった方法http://www.atmarkit.co.jp/fjava/javatips/121jspservlet41.html がある。しかし、どちらも低レベル過ぎて、美しいビジネス文書や帳票を出力するにはワープ…

MacにPostgreSQL 9.0を入れました。

外出先で仕事をするために、Macにポスグレを入れましたが簡単でした。基本的には、 http://lets.postgresql.jp/documents/tutorial/macosx/ の記述で、PostgreSQL 8.3 を 9.0に読み替えるだけでOK MacはMacbook Air 11 inch (late 2010)を使用 OSX 10.6.6 sn…

MayaaでHTML5のスマートフォンページを作る際にはまったこと

僕はMayaaが好きです。仕事でもかなり使っています。今回、スマートフォン(iPhoneおよびAndroid対応)向けECサイトのフロントエンドに、Mayaaを使用しました。そこではまったことを報告します。 metaタグにContentTypeが省略できるようになったため、ドキュ…

Mayaaファイルを命名規則から一括作成するEmEditorマクロ

業務でMayaa使っています。 私が所属する開発チームでは、Mayaaのプロセッサとひもづけるid(m:id)に、一定の命名規則を持たせています。ルールは以下の4種類しかありません。 その場に値を出力する(m:writeプロセッサ):"〜_HERE" そのタグの属性を変化さ…

PostgreSQL Conference 2011 Tokyoに参加してきました。

簡単ですが、レポートします。有料カンファレンスですが、チケット完売ということで、一部セッションは立ち見でした。どんな人が来るのかと思っていましたが、参加者は、スーツの人も私服の人もいました。日本PostgreSQLユーザ会は頑張っているんだなという…