一角獣は夜に啼く

ただの日記です。

思ってることとか考えたこととか適当に書きます。 主にソフトウェア開発の話題を扱う 「ひだまりソケットは壊れない」 というブログもやってます。

プログラミング

GitHub Desktop for Windows の Git Shell を起動すると 「Couldn't reserve space for cygwin's heap, Win32 error 0」 って言われる件の対処法

GitHub Desktop for Windows の Git Shell を起動すると、以下のようなエラーが表示されて Git コマンドが使えなくなってしまった。 Windows PowerShell Copyright (C) 2015 Microsoft Corporation. All rights reserved. 0 [main] us 0 init_cheap: Virtual…

ユニバーサルアプリの共有プロジェクトで TypeScript がサポートされていない問題の対処法 (Visual Studio 2013)

Windows 8.1 と Windows Phone 8.1 の両方のプラットフォームを対象にしたユニバーサルアプリ (Universal App) を開発する際、両方のプラットフォームで共有されるアセットは共有プロジェクト (Shared project) に置くことができます。 Windows と Windows P…

Visual Studio Community 2013 を使用して Windows ストアアプリを TypeScript で記述する

個人開発者などが無償で使用可能な Visual Studio Express 2013 for Windows では TypeScript を有効にするためのプラグインがインストールできず、TypeScript での Windows ストアアプリ開発を個人開発者が行うのはなかなか難しい状況でした。 (もしかした…

Java のバージョン間クロスコンパイル時の標準ライブラリについて (JDK 8 で Java 7 向けにコンパイルする場合など)

追記 (2017-10-21) Java SE 9 のリリースにより、より便利な --release フラグを使えるようになりました! 下記ページを参考にしてください。vividcode.hatenablog.com 元の内容 時代は Java 8 ですが、ライブラリなどはまだ Java 7 向けだったり Java 6 向…

Support library のソースコードを Android Studio 上で読む方法

Android Support library の http://t.co/64y7eYWAYH:recyclerview-v7 などのソースコードが AOSP のリポジトリの frameworks/support の中に見当たらないんだけどどこにあるんだろう。— nobuoka (@nobuoka) 2014, 10月 22v7 recyclerview library などのソ…

Java による Web アプリケーションのプロトタイプのために最近使っている構成

2014 年 5 月 3 日に開催された 「Kyoto.なんか」 という勉強会で、最近 Java で web アプリケーションのプロトタイピングするとき使っている構成について喋りました。 最近個人的に愛用している構成です。 Java による Web アプリケーションのプロトタイプ…

Groovy で IRC ボットを書いてみて得られた知見たち

IRC ボット i401 に触発されてしばらく前に yaya って名前の IRC ボットを Java で書いたりしてたのだけれど、IRC のイベントに対して反応する処理をプラグイン的に書きたい場合に Java だと微妙にやりにくいかなー、と思ったりして Groovy で書きなおした。…

Android アプリのビルド時に 『Module version XXX depends on libraries but is not a library itself』 というエラーが発生することがある

Android Gradle プラグイン を使って、Gradle で Android アプリのビルドをするときの話。Maven リポジトリで公開されている AAR パッケージを依存関係に含めてビルドしようとすると、次のようなエラーが発生することがある。 エラーメッセージを見てもいま…

Glassware (Google Glass 用アプリケーション) 開発の基礎

Google Glass を持ってないし特に近い将来手に入れる予定もないのですが、とある事情により Glassware 開発について週末に調べていました。 調べたことを簡単にまとめておきます。 ドキュメントを読んだだけで書いているので *1 何か間違ってるかもしれませ…

UTF-8 の build.gradle を使う Windows ユーザーにこれ以上悲しい思いをさせたくない!!

Android Studio 0.4.0 への移行 - ひだまりソケットは壊れない 上の記事の一番下で書いたのだけど、Gradle のビルドファイルはシステムのデフォルトエンコーディングで読み込まれるようになっている。 なので、UTF-8 で書かれた build.gradle を Windows (日…

ElasticSearch と戯れたりしてた

ElasticSearch とか勉強するぞー、と思ってから早 2 ヶ月。 手を付けなかったらいつまでも手つかずのままなのでこの週末はちょっと ElasticSearch さんと戯れたりしてた。 ElasticSearch のこと ElasticSearch は Apache Lucene ベースの検索エンジンで、HTT…

Java での web アプリケーション開発時の開発環境メモ #1

最近 Java で web アプリケーションを開発しようと思って、アプリケーション構成やら開発環境周りやら悩んだりしていたのだけれど、ある程度良さそうな構成に落ち着きつつあるので現状をメモしておく。 アプリケーション構成 とりあえず HTTP 周りは JAX-RS …

動的型付け言語とメソッド名

動的型付け言語を使うときは結構長めで説名的なメソッド名を付けるようにしてる。 型がわかるような名前をメソッド名に含めるとか。例えば何らかの画像の URI を文字列で返すようなメソッドを定義するとして、人によっては、あるいは場合によっては uri って…

画像の中の重要そうな場所を特定する方法を考えたりしてる

何か画像があったとして、その画像を指定の大きさにサイズ変更したいことってあると思うんですが、元画像のサイズと目標サイズのアスペクト比が違う場合なんかは単に画像を拡大縮小するだけじゃなくて、一部を切り抜いたりしないとだめなわけです。 で、その…

Windows 8.1 にアップデートしたら Android 端末を認識しなくなった問題

Windows 8.1 がリリースされましたね! Windows 8.1 - Microsoft Windows さっそく Windows 8 から 8.1 にアップデートしたのですが、Android 端末を認識しなくなってしまって困ったので、その問題についてと解決策を書いておきます。Google Nexus 7 (2013) T…

CSS3 でふわふわナビゲーション

『超次元ゲイム ネプテューヌmk2』 の公式サイト を見てたら、ナビゲーションリンクがふわふわしてておしゃれな感じだったので、似たような動きをするものを CSS3 で実装してみた。 (元は Flash ぽい。)↑ こんなの デモ 実際のコード JSFiddle にあるので興…

Test::Class と subtest を組み合わせた場合に、とあるテストメソッドの subtest 内で例外が発生してしまうと、それ以降の別のテストメソッドの subtest も全部失敗してしまうっぽい?

subtest を Test::Class と組み合わせると、とあるテストメソッド中の subtest 内で例外が発生した場合に他のテストメソッド内の subtest が問答無用で失敗になるっぽくて最悪だ。— nobuoka (@nobuoka) 2013, 7月 13 @nobuoka 気になる— 柴崎優季 (@shiba_yu…

modern Java は癒し

from old Java to modern Java from Shin Tanimoto だいたい知ってたけど、Java SE 7 で導入された java.nio.file.Files とか java.util.Objects とか知らなかった。 Files (Java Platform SE 7) Objects (Java Platform SE 7) Java API 周り、わりと知らな…

最近 『JavaScript Ninja の極意』 を読んでるんだけど Java と JS の比較が出てきて面白い

JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング (Programmers’ SELECTION)作者: ジョン・レシグ,John Resig,ベア・ビボー,Bear Bibeault,勝亦勇,吉川邦夫出版社/メーカー: 翔泳社発売日: 2013/05/25メディア: 大型本この商品を含むブログ…

chrome.extension.onConnect に addListener していない状態で chrome.extension.connect するとエラーが発生する

Chrome 拡張の manifest.json を version 2 にする作業をしていたときのこと。manifest.json の version を 2 にしてみたところ、以下のエラーが発生しました。 Port error: Could not establish connection. Receiving end does not exist. (miscellaneous_…

Web Storage の Storage オブジェクトが扱う key-value ペアの値は文字列である

JavaScript のソースコードいじってたんですよ。 他の人が書いたやつ。 localStorage.setItem( "confname", true ); みたいな行があったんですよ。 Web Storage のこと詳しくないのだけれど、これを見たら localStorage が扱う key-value ペアの値として tru…