【Java】文字列を10万回連結してみた【String vs StringBuilder】

目次 この記事の目的 文字列連結の2種類の仕方 パフォーマンスを比較する 10万回ではなく1000回であれば 結論 1. この記事の目的 Javaで文字列を連結する際は、StringとStringBuilderのどちらを使えばいいのかを考えたいと思います。 String と StringBuild…

【Java】なぜ文字列リテラルは演算子で比較できる時があるのか

目次 この記事の目的 String Constant Pool String#intern String#intern の実装を追う まとめ 1. この記事の目的 Javaで文字列同士の比較(等しいか判定)したい時は、 equals メソッドを使いましょう。 とは初心者に最初に教えるべき1つの教訓になってい…

【Java】2つの線分の交点を求める

目次 この記事の目的 x, y-平面上の線分を表すクラス 2つの線分の交点をもとめる方法 まとめ 1. この記事の目的 この記事では2つの線分の交点を求める方法を紹介します。 そのために必要になる、線分を表すクラスのコードも紹介します。 サンプルコードを上…

【Java】2つのベクトルがなす角度を求める

目次 この記事の目的 三点がなす角度の求め方 x,y-平面上の座標を表すクラス ベクトルの差、長さ、内積、外積 三点がなす外角を求める まとめ 1. この記事の目的 この記事では、xy-平面上の点の情報から角度を求める方法について紹介します。 特に、三点を…

UnityでC++のクラスを管理する

目次 この記事の目的 概要 C++のコード C#のコード まとめ 1. この記事の目的 既存のC++の実装をUnityでも使いたい時にこの記事を参照してください。 C++のクラスを使って実装されていれば、そのクラスをUnityで管理できます。 サンプルコードをGitHubにあ…

C++ の std::vector と参照の組み合わせには注意

目次 この記事の目的 問題のコード 理想と現実 何が起こったのか 解決策 まとめ 1. この記事の目的 私がC++に慣れてきたと思った矢先にどハマりした問題を共有します。 C++のstd::vectorを、ただの可変長配列とかリストだと理解している方は注意です。 私は…

タイムアウト検証用のアプリケーションサーバをGo言語で実装しました

目次 この記事の目的 Go言語でサーバをたてる URLのパスに応じて処理を行う その他の処理 最終的なコード まとめ 1. この記事の目的 この記事では簡単なアプリケーションサーバをGo言語で実装します。 例として、クエリストリングで指定した時間が経過したら…

three.jsでカメラとの距離を無視して描画順序を制御する方法

目次 この記事の目的 描画順序を制御する方法 描画処理のソースコード 全ソースコード まとめ 1. この記事の目的 この記事では、カメラからの距離を無視して描画順序を制御する方法を紹介します。 今回は例として、二つのオブジェクトを空間に配置し、描画…

KotlinでRecyclerViewとAdapterを実装しました

目次 この記事の目的 JavaのActivityのソース KotlinのActivityのソース JavaのAdapterのソース KotlinのAdapterのソース まとめ

karmaでテスト実行中に、fetchでローカルファイルを取得する

目次 この記事の目的 テスト対象のコードを準備する karmaの設定ファイルを準備 テストコードでfetchする まとめ

babel, webpack, karmaでnode_modulesを除いてカバレッジを計測する

目次 この記事の目的 テスト対象のコードを準備する karmaとbabel, webpack karmaでカバレッジを測定する テストを実行します まとめ

【WebAssembly】JSとwasmでソートの速度を比較する

目次 この記事の目的 C++でソートを実装 JSでソートを実装 実行用のHTMLを準備する 実際に速度を比較する まとめ

【WebAssembly】JS側で作成したtyped arrayをwasm側に渡す

目次 この記事の目的 wasm側のソースコードを準備 wasmにコンパイルするスクリプトを準備 JSのtyped arrayをwasmに渡す方法 サンプルの動作確認を行うHTMLを準備 まとめ

【WebAssembly】babael, webpackと一緒にwasmを使う

目次 この記事の目的 babel, webpackの導入 JavaScriptのソースコードを用意する サンプルを動かすHTMLを準備する wasmに変換するソースコードを準備する Utilsクラスでwasm読み込みを実装する 動作確認用のHTMLを準備する まとめ

【WebAssembly】wasm側で動的に作成したインスタンスをJSに渡す

目次 この記事の目的 JSに渡したいクラスをC++で定義する wasmのソースコードを実装する JS側でポインタからインスタンスを読み込む HTMLからwasmを読み込んで実行する まとめ

【WebAssembly】C/C++で実装された既存の資産をincludeする

目次 この記事の目的 includeされる側のクラスを実装 ビルド用のスクリプトを準備 includeする側の実装 HTMLからwasmを読み込み実行する まとめ

【WebAssembly】C/C++からJavaScriptで実装した関数を実行する

目次 この記事の目的 C/C++でコールバック関数の定義のみ書く JavaScriptでコールバック関数の実装を書く emccで –pre-js オプションでビルドする HTMLから読み込んで実行する まとめ

【WebAssembly】C/C++で実装した関数をJSから呼び出す

目次 本記事の目的 C/C++で呼び出したい関数を実装する emccのExportedFunctionsオプションを使ってビルド JSからwasmを読み込んで関数を呼び出す まとめ 1. 本記事の目的 本記事では、C/C++で実装した関数をJSから呼び出す方法を紹介します。 例として、int…

【WebAssembly】MODULARIZEオプションを使う

目次 関連記事 MODULARIZEオプション HTMLからwasmを読み込む方法 HTMLからwasmを読み込むサンプル まとめ 1. 関連記事 【WebAssembly】Getting Started をDocker で試す - shogonir blog wasm-sample/01-wasm-modularize at master · shogonir/wasm-sample …

【WebAssembly】Getting Started をDocker で試す

目次 WebAssemblyとは サンプルを動かしてみる サンプルの動作を解説する まとめ 1. WebAssemblyとは WebAssembly(wasm)とは、JavaScript高速化の最新技術です。JavaScriptの高速化技術であるasm.jsがさらに進化したものです。C/C++, Rust, Goなどの言語で記…

Ceylon の修飾子を Scala と比較する

Scala Ceylon 修飾子の意味 val value 型推論で変数を宣言する(再代入不可) var variable value 型推論で変数を宣言する(再代入可能) public shared 公開する object object シングルトンオブジェクト implements, with satisfies interface を実装する …

Mac の IntelliJ IDEA で Ceylon の Hello world

手順 大きく分けて手順は4つです。 brew で ceylon をインストール IntelliJ IDEA に ceylon のプラグインをインストール プロジェクト作成 実行

OkHttp3 を用いて Android 開発で通信を行う方法

Android 開発における通信 アプリ開発において不可欠とも言える Web 通信ですが、 Android だと少し面倒だと思ったことはありませんか。 最近の Android では、通信はメインスレッドでは行ってはいけません。つまり、別スレッドで非同期処理をする必要があり…

Android アプリ開発の setText() の中で文字列を連結すると怒られる

怒られるソースコード gist0bd60f44625485c5ca11

Java で文字列が 「はてなID」 として適切か判定する

はてなIDとは はてなキーワードによると、はてなIDの定義は以下。 d.hatena.ne.jp

Unity におけるパフォーマンス最適化 【ドローコールバッチング編】

結局なにをしたら最適化されるの 1. マテリアルを節約しましょう2. マップなどの大きくて動かないオブジェクトは Static フラグをたてましょう やってみて上手くいかない場合は、記事の続きを読んでみてください。

Unity Web Player をブラウザの画面に合わせて起動する

Unity Web Player をブラウザの画面に合わせて起動する 結論 Project をビルドした時に生成される HTML ファイルを編集する。コミットログを見ればわかる方は次のリンクへ飛んでください。以降では HTML の編集箇所の説明を書きます。 ※ Unity Web Player は…

「サマーウォーズの OZ を Unity で再現しました」開発日記

サマーウォーズの OZ を Unity で再現しました youtu.be 先日、動画をあげました。題名の通り、 OZ の世界を Unity で再現しました。作ったものは Web 上で公開していて、 OZ の世界を誰でも自由に飛び回れるようになっています。自分で言うのもなんですが、…

Python で別ディレクトリのコードをインポートする

結論 sys.path.append() を使う 例えばソースコード内で gistcfd10e3bf8661183fdee と記述すると、それ以降の import では親ディレクトリにあるライブラリやソースコードをインポート出来るようになる。

Python で 「ソフトウェアエンジニアが一時間で解くべき5つの問題」 に挑戦した話

ソフトウェアエンジニアが一時間で解くべき5つの問題 5つの問題のソースはこちら。英語です。 Five programming problems every Software Engineer should be able to solve in less than 1 hourblog.svpino.com