ただのブログです

技術的な物とかを主に。主にWeb系がメイン。いつか、職業エンジニアになりたい。

ScalaでJVMの終了時のフック処理を行う

ただのメモ java.lang.Runtimeを使うとメソッド一個で終わるような処理でも new Thread { override def run() { } } しなきゃいけなくて、わりとしんどい。あとで読んだ時に。 Playを真似て書いてたので https://github.com/playframework/playframework/blo…

coffee scriptでrange([z...y])を使う際の注意

jsのコードをcoffeeで書き直してた際に見つけた。 やる前からだいたいわかってたんだけどjavascriptに無限リストはないので Array::zip = (arr) -> base = if (this.length < arr.length) then this else arr [0...base.length].map((i) -> [this[i], arr[i]…

LESSについて布教用の資料書いた

cssを使えなんて縛りがあるわけでもないのにcssでかかれると困るのです。 cssなんてメンテしたくない。 そう、そこで何番煎じか分からないけどlessの布教用の資料の下書き書いた。 あんまためになる情報書いてない。布教用。 scssよりもless派です。 既存のc…

色をレコメンドする(?)の作り始めました

ちらっと色選びって結構難しいよねーという話になったので、何処でも手軽にいい感じの色をチョイスしたり、リコメンドしてくれるものを作ろうかと思ってます。 Color Recomender IEは多分動きません。ChromeかFireFoxあたりでどうぞ。 デザイン系のツール名…

本当にあった怖いコード入賞しました!

最近ずっと社畜しすぎていて全然見れてなかったのですが、 http://codeiq.hatenablog.com/entry/2013/09/04/165809 入賞させて頂きました。ありがとうございます!(?) 会社で転職してきた人とお話すると 旧システム(汎用機・C)をJavaでリプレースした際…

Optionをjavascriptで実装しました

Optionをjavascriptで実装してみました。 https://github.com/BlackPrincess/javascriptx/blob/master/src/Option.js ブラウザ上で動く静的型付けの言語欲しいお…

javascriptの俺俺ライブラリ作り始めました

いつまで続くか分からないけど、作ってみました。 javascriptx 名前は面倒だったから適当に付けただけです。 MonadとかFunctorとかが沢山あるあのライブラリとは関係ありません。 主にはprototype周りを中心に拡張していって行くつもりです。 その他基底にな…

僕がいたところ

納涼!ほんとにあった怖いコード(by CodeIQ×はてな) 前にいたプロジェクトの話。 本当のヤバさはコード以外にも沢山ありエンジニアにとっては阿鼻叫喚。 でも営業マンと販売戦略が良かったので、「文言を追加したい?10万ですね(´σ `) 」という世界だった…

Twitterにバルス!するやっつけコードを書いた

コードのネタは数年前にどこかで見たscala日本語プログラミングの話から(忘れてしまった…) 来たる8月2日、Twitter vs バルスの日 当日バルス数十分前に思いついたのでやってみた。 バルスを唱えるスクリプトをScalaで書く。 まず初めに 崩壊の呪文を唱える…

抜き打ちテストが分からなかった

抜き打ちテストが分からなかった (※ブログの存在忘れててgistに書いてしまった) じゃあ this の抜き打ちテストやるぞーをやってみた。 結果として、コードが読めなくて2問空欄解答をするしかなかったので調べてみました。 あ、やってない人は読む前に先に…

圏論とかモナドについて②

群からMonoidまで適当に書きましたが、Scalazでたくさん出てくるモナドさんと戦うにはもう一つ別の方向から、いくつかの概念を知る必要があります。 マサカリが飛び交う戦場、圏論です。 圏について 対象と射の2種類の集合であること 射の合成演算・が存在 …

圏論とかモナドについて①

圏論とかモナドとかについて話さなければいけないので先にちょっと下書き的に書きます。 マサカリの燃料投下になればいいなぁ…(推敲できるし) 目的 圏論とかモナドとかという言葉に敏感に反応してマサカリを投げたりしない(できない)人を対象に、Scalaz…

jQueryでcheckboxのcheckedを取得・設定する

jQueryにはなぜかcheckedを取るスマートな方法が用意されていない。 色々なサイトを見ているとattr("checked")とかで取る方法などが紹介されてるけど、1.9からは正しく動かない(※jQuery Core 1.9 Upgrade Guide) ということで、Gistに上げておいた。 jQuer…

Grunt導入してみた

普段YUI Compressorを使っていたんだけど、Gruntが良いっぽい噂を聞いたのでGruntを試してみる。 あのjQueryもどうやらコレみたい?GitHub見る限りは。 実行環境は Windows 7(64-bit) アンチリンゴですし、Linux使ってると一般ユーザーから変な拡張子のファ…

スムーズスクロールっていうのか分からないけどやってみた

WindowsでWebみてるとスクロールがカクカクするのが地味にかっこ悪かったので スクロール上書きしてちょっとアニメーションしちゃおうぜと思ったので書いてみた スクロール幅の100とかアニメーションの500msとか埋め込みなのは微妙だし、jQueryとTWEENの両方…

貴様らには分かるまい!全角数字の恐ろしさが!

マルチバイトが浸透していない地域では分からないこのめんどくささ。 全角入力→半角数字入力的なフォームがあるとUX的に重要な入力補助。 こんな感じで持っておく。メソッド名が適切じゃないような気がするけど… String.prototype.toHalfNumber = function…

ER図とDB設計とクラス設計について

ちょっと最近スクラッチで作るプロジェクトが始まったのと、TwitterのTLで気になる話題があったので簡略に考えてみる。 まじで簡略に 議題としては、RDBにおいて ER図を書く意味って何? DB設計を行う優先度 クラス設計を行う優先度 この3つの事項に対しての…

CakePHP用のシンタックスエラーをはじくgit hooks

CakePHPを2週間ほど前に始めてさわってやっているけど、まだまだ慣れないので構文だったりで間違ったりする(そもそもPHPが10年ぶりだけど) のでhooks書いてブロックするようにしてみた。 書いた後に、ねこびーんさんがちゃんと警告出してくれるのと、テ…

CakePHPでバリデーションのヘルパーを作る

phpではstaticなメソッドであってもフィールド内で呼び出しが出来ないためバリデーションのヘルパメソッドを作る場合にはコンストラクタで呼び出すのが良い模様。 動的バリデーションをかけるのと同じ感じで。 例えば class ValidationHelper { public stati…

playでカスタムエラーページ

久しぶりにスクラッチで書き始めてみたらカスタムエラーページのやり方を忘れていたのでメモ 公式にも書いてあるけど GlobalSettingsを継承したGlobalオブジェクトをルートパッケージにつくりそこの onHandlerNotFoundとか onErrorをいじる デフォルトではGl…

アノテーションからインスタンス作成

C#

アノテーションからインスタンス作成 NUnitってTestのアノテーションからいろいろ作ってやってるから、リフレクション使えばできるのかなと思い付き、ちょっとやってみた。 やりたいこと 実行内容は外界から取ってくる(設定ファイルとかから) どこかの名前…

PCセットアップメモ

Windows8のPCをかったのでセットアップしたのをメモる セットアップスクリプトが古いのと、Windows8でいいかんじにならなかったorz Windowsのデフォルト設定 フォルダーオプション 隠しファイル、隠しフォルダー、および隠しドライブを表示する → 選択 登録…

phantomJsでJsのテスト

更新してなかったので、yum updateが終わるまでに意味の内容でいいからとりあえず記事を書いてみる。 環境はWindows. JsTestDriverを手に入れてくる https://code.google.com/p/js-test-driver/downloads/list お好みでJSTESTDRIVER_HOMEとかPATHを設定して…

Colorサンプル

Colorクラスのサンプル作ってみた。やっぱちょっと使いにくいのと、(クラス・メソッドの構造がおかしい) もうちょっと防御的プログラミングをしなければならない(コーディングの手抜きがやばい)ので週末にでもやろう。

javascriptでColor

javascriptでColorクラス。 探しても見つけられなかったので自作してみた。 写経元は特にない。Tweenで色のアニメーションやるのに不便だったから書いてみた。 もし無いと var r = g = b = 255; var color ="#" + r.toString(16) + g.toString(16) + b.toStr…

関数型言語とHTMLってめちゃくちゃ相性よくね?

せっかくブログ立てたので今更だけど関数型言語とHTMLの相性の良さについて。 最近play frameworkにお熱中。 ※playframeworkとは、JVMで動くWebアプリケーションフレームワーク。2.0からScalaメインに移行して、色々いい感じ。 で、play frameworkはScalaで…

Consolasフォントについて #LOVEFONT

Adventカレンダーのために、とりあえずブログたててみました← Advent Calender #LOVEFONT クリスマスの記事です Consolasとは Consolasはmonospacedフォント、Windows(Vista以降)に搭載されてます。 Consolasの好きなところ フォントによって誤認識しやすい…