JavaScriptのTyped Arrayにおいて、JavaのSystem.arraycopy相当の関数は以下のような形で実装することができる。 function arraycopy(src, srcPos, dest, destPos, length) { dest.set(src.subarray(srcPos, length), destPos); }
JavaScriptのTyped Arrayにおいて、JavaのSystem.arraycopy相当の関数は以下のような形で実装することができる。 function arraycopy(src, srcPos, dest, destPos, length) { dest.set(src.subarray(srcPos, length), destPos); }
Java8 から追加されるインターフェイスの default 実装ですが、C# の拡張メソッドに似てますよね。 実際、このどちらも「シンインターフェイス」を定義するだけで「リッチインターフェイス」が手に入ります。 しかし、C# の拡張メソッドと Java のインターフェイスの default 実装には、それぞれの利点と欠点があります。 拡張メソッドの利点 拡張メソッドの利点は、インターフェイスの実装者だけでなく、 インターフェイスの使用者に対してもインターフェイスの拡張が開かれている点です。 既存の型ですら、後付けでメソッドを追加することができるということです。 using System; public static class StringExtension { // インターフェイスでなくても、どんな型に対しても拡張可能 public static int ToInt(this str
Java8にlambda構文が入りましたが、これはクロージャーではない、とされています。 では、どのように「クロージャーではない」のか、ちょっと見てみます。 まず、lambdaを返すメソッドを定義します。 public static Supplier<String> createMessenger(String name, String address){ return () -> { return String.format("私は%s、%sに住んでる", name, address); }; } 呼び出すと、こんな感じでSupplierを受け取ります。 Supplier<String> messenger = createMessenger("きしだ", "ふくおか"); このSupplierを実行すると、次のようになります。 System.out.println(messenger.
Java 8を関数型っぽく使うためのおまじない - きしだのはてな Java は大変ですね。 C# さんは、ラムダ式も Func 型(Java の Function 型に大体対応)も Visual Studio 2008 時代(5年前)から使えたので、似たようなことはすでにできます。 上記の記事のパクリなので、上記の記事をまずは読んでから読むことをおすすめします。 Func 型 C# では Func デリゲートというものがあります。名前空間名や型パラメータまで含めると、System.Func<TArg, TResult> です。 こんな感じで使います。 Func<string, string> enclose = s => "[" + s + "]"; これを呼び出そうとすると、こんな感じになります。 // Javaだとenclose.apply("foo")と、applyが必要 Syst
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo: Some rights reserved by yukiv Javaと比較しながら「へぇーObjective-Cってそういう感じか」と理解した気になろう。 流れ 軽くジャブ クラスファイルの構成 コメント import文 変数の定義 クラス定義 メソッドの定義 メッセージ式 プロパティ セレクタ プロトコル カテゴリ 文字列リテラル ログ出力 ひと通り使ってみる感じのソース まとめ 軽くジャブ まずは以下のソースを眺める //SampleClass.h #import <Foundation/Foundation.h> #import "SampleClassDelegate.h" @interface SampleClass : NSObject <sampleclas
下記のJavaコードが,意図した通りに動作しないのはなぜですか。(制限時間:1分) オブジェクトのプロパティを更新して,それぞれ3, 4と表示したい。 Hoge.java public class Hoge { // 数値を保持するクラス。 static class Fuga { public int x; } public static void main( String[] args ) { // オブジェクトを新規作成。 Fuga f1 = new Fuga(); f1.x = 1; // プロパティの値を更新。 func1( f1 ); // プロパティの値を表示。 System.out.println( f1.x ); // オブジェクトを新規作成。 Fuga f2 = new Fuga(); f2.x = 2; // プロパティの値を更新。 func2( f2 ); // プロ
A Framework for Integrated Software Development and Space Design Introduction CityCompiler is an integrated environment for iteration-based development of spatial interactive systems. CityCompiler visualizes interactive systems in a virtual 3D space by combining the source code of Processing and the real space ’s 3D model designed with Google SketchUp. CityCompiler is composed of the two modules:
Javaの標準API(java.*, javax.*)に含まれるメソッド名を分析して、よく使われている単語や接頭辞を抜き出してみました。 これで、もうメソッド名を決めるのに迷わない!はず…。 接頭辞 順位 単語 意味 代表例 出現回数 1 get 取得する List#get() 21198 2 set 設定する List#set() 8197 3 is 〜かどうか List#isEmpty() 4373 4 remove 取り除く List#remove() 2403 5 add 追加する List#add() 2213 6 create 作成する URI#create() 853 7 paint 描画する Component#paint() 731 8 update 更新する Component#update() 573 9 contains 含んでいるか List#contains()
unassert - encourage reliable programming by writing assertions in production
GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・本質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内
Java | 書籍『Effective Java』から Java のプログラミングテクニックを紹介します。クラスのインスタンスを提供するためには、普通は public コンストラクタを用意します。 public class Hoge { public Hoge() { ... } } そして、この public コンストラクタを new で呼び出し、インスタンスを得ます。 public class Main { public static void main(String[] args) { Hoge hoge = new Hoge(); } } しかし、すべてのプログラマが知っておくべき別のやり方があります。それが static ファクトリーメソッド(static factory method)です。 public class Hoge { private Hoge() { ... }
作成日: 2006-11-06 10:07:45 / last updated at: 2009-04-05 10:21:24 カテゴリ: Java [ Prev ] [ Next ] [ 技術 ] public static final を定数として使用していた。 定数の値を変えてpublics static finalを定義しているクラスをコンパイルし、それを参照している、例えばmainクラスなどを起動しても、変更が反映されない。変更前の値を使用してしまう。 という現象に悩まされていました。で、試しに次のような定数クラスを用意し、適当にそれらのフィールドを出力するmainクラスを作成してみる。 ここで重要なのは、定数クラスと mainクラスは別々のJavaソース、クラスファイルになっている点。 public class ConstTest { public static fin
技術書の読み方を考えつつ、『ドメイン駆動設計』を位置づける。 はじめに 〜1冊目の本〜 あなたは技術書をどのくらい読んでいるでしょうか?多い人は月何冊も読んでいるでしょうし、もう何年も読んでいないという人もいるでしょう*1。あるいは、「買っているけど読んでいない」ということもあるかもしれませんね。私にも積んでしまっている本があります。 技術書はすでにかなりの数が出版されており、その数は増え続けています。経験を積んだ方であれば、「自分にとって必要な本を見抜く眼」を持っているものですが、これから学ぼうとする方にとっては、読んだ方がよさそうな本の数も値段も絶望的かもしれません。このエントリの目的の1つに、『ドメイン駆動設計』の紹介があることは否定しませんが、それ以上に、「技術書の読み方」について考えてみたいと思います。 仕事としてプログラミングに携わる人であれば、「退職するまでに1冊も読まない人
Qwen3.6-35B-A3Bを動かしたときの量子化や設定、出力速度をまとめておきます。 Qwen3.6-35B-A3Bでコーディングエージェントを試してみる。小規模なら十分いける - きしだのHatena 基本はこの3環境 RTX 4060 Ti 16GB(+RTX 3050 6GB) M4 Pro 48GB M3 Ultra 512GB 量子化は4つ。メモリ使用量はLM Studioでの予測。 量子化 ファイル 4000tok 262K tok unsloth/Qwen3.6-35B-A3B-GGUF:Q4_K_XL 24.1GB 23.77GB 28.66GB unsloth/Qwen3.6-35B-A3B-GGUF:Q3_K_S 17.1GB 16.9GB 21.8GB unsloth/Qwen3.6-35B-A3B-GGUF:IQ2_M 13.3GB 13.13GB 18.03G
技術者たるもの、毎月積読タワーを成長させる義務があります。嘘です。成長させちゃいけません。とは言え毎月のように新しい技術書に触れる事は重要だと思います。私はそれほど読書速度も速くないし、勤勉でもありませんが、それでもそこそこの量は読んでると思います。 毎月の技術書代 「技術書に幾らかけているか?」はたまに話題になります。私の場合だいたい 1万円/月 です。値段がどうしたと思うかもしれませんが、だいたい冊数がわかります。3,000-4,000円 が多いので、だいたい3冊ってことですね。 費用自体は収入や読書速度、近くの図書館の蔵書などにも左右されるとは思いますが、勉強会でお会いする方々に聞いてみたところだいたい似たようなものでした。中には 2-3万円 かけてる方も居ましたが、大事なのは継続して読み続ける事だと思います。なので月当たりの費用を聞いてみました。本はそのまま身に付きますので、払えな
なんとかカレンダー 21日目 id:miya2000 です。こんばんは! 低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。 わずか数秒で世界が変わります! 元ネタ めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html Excelを使った高級コーディング とにかく Excel でコーディングを行った画面を見てみましょう。今回は Java のコーディングをやってみます。 どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分か
Javaの例外処理で知らないと損する7つのテクニック:【改訂版】Eclipseではじめるプログラミング(24)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります(この回と前回のみ、別連載「EclipseでJavaに強くなる」の改訂版です。今回は第4回Javaの例外のテクニックを知る」の改訂版です) 前回の「プログラマの宿命! 例外とエラー処理を理解する」では、Javaにおける例外の用途と基本的なコードの書き方、例外が発生するさまざまなケースについて理解しました。 今回は、独自に例外を定義する方法や、ちょっとした例外のテクニックを紹介します。 【1】Eclipseで独自の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く