タグ

Programmingに関するmoockmoockのブックマーク (38)

  • これからMySQLをイチから学ぶ人に捧げたい23個のコマンドリスト

    どーも。今年の春頃からMySQLを学び始めた、するぷ( @isloop )です。 学び初めのころは、「たかだか文字列を記録するだけでなんてかったるいんだ。やっぱりCSV保存に逃げようかな。」と思っていました。が、最近になってようやく慣れてきたようで、「結構便利じゃんMySQL」と思えるようになってきました。 というわけで今日は、学び初めの頃に欲しかった「とりあえずこれだけ覚えたらなんとかなるMySQLのコマンドリスト」というものを作ってみました。 これからMySQLをイチから学びたいという人が参考になればこれ幸い。

    これからMySQLをイチから学ぶ人に捧げたい23個のコマンドリスト
  • 『Java言語で学ぶリファクタリング入門』

    このページは、 書籍『Java言語で学ぶリファクタリング入門』 のサポートページです。 最新情報やサンプルプログラムなどを公開しています。 目次 アマゾンで買う『Java言語で学ぶリファクタリング入門』 はじめに 書の想定読者 リファクタリングとは 書の目次 サンプルプログラムのダウンロード 誤りと訂正 ぜひ、感想をお送りください 更新履歴 はじめに こんにちは、結城浩です。 このページは、 書籍『Java言語で学ぶリファクタリング入門』 のサポートページです。 リファクタリングは、デザインパターンやエクストリームプログラミングに並んで、ソフトウェア開発の重要な技法として注目されています。 きれいなソースは読むのが楽で、修正するのが楽で、デバッグするのが楽です。 これに対して、きたないソースはすべてが大変です。 ではどうすれば「きれいなソース」になるのでしょう。 きたないソースをどうす

    moockmoock
    moockmoock 2014/07/11
     結城浩さん
  • TECHSCORE - Java,SQLプログラミング技術解説

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • マンガで分かる Java入門講座 - マンガPG

    「マンガで分かるJava入門講座」は、Javaというプログラム言語を、じっくりと時間を掛けてマンガで解説していくという入門者向けの講座です。 架空の高校生たちに教える形式で、Javaの基礎から順に解説していきます。一通りのマンガを読めば、Javaのオブジェクト指向の概念について学べます。 以下、内容の数値データです。 マンガありの話数:95話 マンガなしのコラム:9話 合計Webページ数:104ページ マンガの総ページ数:832ページ ソースコードは、ダウンロード ページ から入手できます。 PDF版はこちらから入手できます。kindle版はこちらから入手できます。 このマンガは「箱人形マンガ(Box Comic) 」で作成しています。 公開開始:2013/04/20 第1部完結:2013/06/09 第2版完成:2015/08/18 最終更新:2018/03/01 作成:クロノス・クラウ

    マンガで分かる Java入門講座 - マンガPG
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • 稲員勇輝の覚書 2/27 スレッド

    Javaのコードを実行したときの処理の流れをスレッドと呼ぶ。 "シングルスレッド"とは、スレッドが一つしかない状態。 "マルチスレッド"とは、複数のスレッドが動いている状態。しかし、それは、一つ一つのスレッドを細切れにし一方のスレッドが停止している間に片方のスレッドを動かし、それを人間の感覚では認知できない速度で実行するため二つのスレッドが同時に動いているように見えるだけ。 スレッドを使うには以下の二種類の方法がある 1:Threadクラスを継承する 2:Runnableインターフェイスを実装する。 サーブレットの場合でもマルチスレッドが使われている。 以下の図のように、入力フォームから検索を行っている間も、ブラウザ内のサーブレットは動作し続けている。 【スレッドの状態遷移】 1:実行中(Running)…CPUが割り当てられて、実際に動作している状態 2:実行可能(Ready)…CPU

    稲員勇輝の覚書 2/27 スレッド
  • synchronizedブロックに使用されているStaticObjectが変更される場合、実質synchronizedされていない - 自分の仕事を憎むには人生は余りにも短い

    synchronizedブロックに使用されている変数が書き換わる場合それはスレッドセーフではありません。(まあ当然です) 例えばこれはNG class TargetDate { private static String staticCal = "書き換えられるかな?"; public void set(String s){ staticCal = s; } public void echo(){ synchronized (staticCal) { for (int i = 1; i <= 100; i++) { System.out.println(i + "回目 [" + staticCal + "]"); } } } } setメソッド内でstaticCalの値を変更しているときにシンクロしていないのでEchoの呼び出し側スレッドが影響を受けてしまいます。 Echoメソッドとしては

    synchronizedブロックに使用されているStaticObjectが変更される場合、実質synchronizedされていない - 自分の仕事を憎むには人生は余りにも短い
  • synchronizedのバグパターンを1つ知った - うなの日記

    隣の炎上プロジェクトのヤパイコード探しを仰せつかったので、とりあえずFindBugsにかけてみると、↓こんなのが出た。 class Hoge { private String foo; public void setFoo( String foo ) { synchronized( this.foo ) { // fooへの更新を1スレッドに制限したい(のだろうと推測) this.foo = foo; <処理...> } } } 「this.foo」のロックで同期化をしようとしているのだけど、synchronizedブロック内でthis.fooを書き換えてしまっている。書き換えた後のthis.fooは誰もロックしていないため、ブロックが複数スレッドから実行できてしまう。以下は検証コード。 class Foo { private String foo = ""; // nullを設定されると

    synchronizedのバグパターンを1つ知った - うなの日記
  • あなたの知らない、4つのマニアックなJava文法

    あなたの知らない、4つのマニアックなJava文法:【改訂版】Eclipseではじめるプログラミング(17)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 知ってました? Javaでも、あんなことやこんなことが… 前回の「“ネスト”した型で始める軽量Javaプログラミング!?」では、通常のJavaプログラミングよりもライトウェイト(軽量)なプログラミングをするために、「ネストした型/クラスとは何か」について基的な説明をしました。 ネストした型をきちんと利用できるようになるには、「staticのネストしたクラス」「内部クラス(インナークラス)」「エンクロージン

    あなたの知らない、4つのマニアックなJava文法
  • blog.pasberth.com: Javaのsynchronizedってなにをブロックしているの?

    2011年3月31日木曜日 Javaのsynchronizedってなにをブロックしているの? えー。 ずいぶん以前のネタになりますが。 Javaのスレッド同期にsynchronized修飾子があるじゃないですか。 俺、ずっとあれを「同じメソッドに、複数のスレッドがアクセスしようとすると、ブロックされる」という感じだと思っていたんですよ。 えー、つまり、たとえばsynchronizedメソッドAとnot synchronizedメソッドBがあったら、スレッドCがAを呼び出しているあいだに、スレッドDがメソッドBを呼び出しても、スレッドDはブロックされない、と。 だってそうじゃないですか? public synchronized void method()ですよ。明らかにメソッド関連じゃないですか。 って思っていたんですけどね。ある日知ったんですよ。 synchronized(t

  • java.nio.file.Filesのメソッドを一通り使ってみた - kagamihogeの日記

    2016/12/10追記 1.8で追加された主としてStreamを使うメソッド群を追加。jdk1.8.0_111を使用。 2020/03/21追記 jdk11で追加されたreadString/writeStringを追加。 Java SE 7徹底理解 第4回 New I/O 2の新しいファイルシステムインタフェース その1 | 日経クロステック(xTECH)とかJava SE 7徹底理解 第5回 New I/O 2の新しいファイルシステムインタフェース その2 | 日経クロステック(xTECH)とか読んでjava.nio.file.Files便利そうですねー、ということでFilesのメソッドを一通り使ってみることにした。 このエントリを読む上での注意点として、ファイルを扱うAPIてことで環境によっては動いたり動かなかったりがあるってのと、俺がなんかおかしい事書いてる可能性無きにしもあらずな

    java.nio.file.Filesのメソッドを一通り使ってみた - kagamihogeの日記
  • Files (Java Platform SE 7)

    このクラスは、ファイル、ディレクトリ、またはその他の種類のファイルを操作する static メソッドだけで構成されます。 ほとんどの場合、ここで定義されているメソッドは関連付けられたファイルシステムプロバイダにファイル操作の実行を委譲します。

  • J2SE 5.0 Tiger 虎の穴 StringBuilder

    StringBuilder クラスは Tiger で導入されたクラスなのですが、なんと機能は StringBuffer クラスとまったく同じなのです。 それじゃ、なぜ今になって新しいクラスを作ったのでしょうか。 それはスレッドセーフとパフォーマンスに関連します。 StringBuffer クラスのすべてのメソッドは synchronized になっており、同期化されています。このため、複数のスレッドから使用される場合でも、安全に使用することができます。 その一方で同期化にはコストがかかります。簡単にいえばメソッドを synchronized にすると遅くなってしまうのです。 しかし、StringBuffer を使うときに当にスレッドセーフが必要ですか? 私が書いてきたコードには StringBuffer クラスにスレッドセーフが必要だったケースはほとんどありませんでした。それなのにわざわ

  • Javaパフォーマンス改善作戦

    おすすめリンク - Java Performance Tuning News(日語版) さて、このページではJavaに関する話をしようと思います。 パフォーマンス改善を中心にした話なので、ちょっと難しい話も出てきますが 頑張って着いてきて(笑)下さい。 優先順位 まず最初に話したい事は、これから説明するJavaプログラムのパフォーマンス改善策は あくまで最終手段であるということです。 まずやるべき事、それはアプリケーションの中で 「どの部分にどの位の時間が掛かっているか」を計測する事です。 そして、一番時間が掛かっている部分から改善することを心掛けましょう。 おそらく多くの場合、それはデータベースへアクセスしている箇所のはずです。 ですから、まずデータベースの設計を見直します。 次に、データベースへ発行しているSQL文をチューニングします。 それらをチューニングした上で、さらにパフォーマ

  • finallyを使う場面と、finallyでしてはいけないこと

    finallyを使う場面と、finallyでしてはいけないこと:JavaTips ~Javaプログラミング編 finallyは、try-catch構文において、例外の有無や処置に限らずに行いたいことがある場合に指定する句であり、Javaの例外処理の柔軟性を高めます。プログラムが例外によって中断しても、catchによって捕捉されて続行しても、あるいは、正常に進んでも、finallyによって同等の処理を行うことができます。よって、例外が付き物の通信処理やファイル処理の後始末などに役立ちます。 しかし、finallyを用いると、通常のtry-catch構文の場合に比べて、動作が複雑になりますので、使うべき場面かどうかを考えるのが肝心です。 また、finallyを用いると動作テストが難しくなります。catchが1つしかない場合でも、下記の全パターンを試す必要があるからです。 例外が発生せずに進み、

    finallyを使う場面と、finallyでしてはいけないこと
  • Javaの道:例外(2.try、catch、finally)

    catchの使用方法(応用) 1. catchは複数指定可能 catchはスローされる例外オブジェクトにあわせ複数指定することができます。上から順に実行され、1つのcatch節が実行されるとそれ以降のcatch節は実行されません。 【例2】catchを複数指定した例です。 class ExException6 { public static void main (String[] args) { try { int x = Integer.parseInt(args[0]); //(1) System.out.println("答えは" + (100/x)); //(2) //ArithmeticExceptionの例外ハンドラ } catch(ArithmeticException e) { System.err.println("ArithmeticExceptionをキャッチ");

    Javaの道:例外(2.try、catch、finally)
  • https://ryoasai.hatenadiary.org/entry/20110321/1300696942

  • 『Listのfor文と拡張for文およびIteratorの実行アクセス速度』

    Javaの下巻で勉強したコレクションクラスでのArrayListとLinkedListについてのお話。 Javaを結構勉強している人は間違いがないかご確認下さい(笑 今回の日記では、ArrayListとLinkedListの使い分けに絡めて、for文と拡張for文およびIteratorではどちらの方がアクセス速度が早いのか、といったところです。 さて、私はこの2つのクラスを今までは、何となくスタックの機能使いたいからLinkedListで、それ以外はArrayListでいいかなと言った感じで使ってました。 はい、ダメダメですね。 何がダメかと言うと、次の特徴を見れば分かると思います。 2つのリストにおける最大の特徴 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, ja

    『Listのfor文と拡張for文およびIteratorの実行アクセス速度』
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • AtomicIntegerを追ってみた - プログラムdeタマゴ

    Atomic〜とか中身でsynchronizedしてるだけじゃね〜(´・∀・`) なんて思ってた。で、試す機会が来た。 import java.util.concurrent.atomic.AtomicInteger; public class Test{ //走らせるスレッドの数 static final int thread = 1000; //1つのスレッドの中でカウントする回数 static final int loop = 100000; //AtomicIntegerを使ってカウント static AtomicInteger acounter=new AtomicInteger(); static class Runnable1 implements Runnable{ public void run(){ for(int i=0;i<loop;i++)acounter.inc

    AtomicIntegerを追ってみた - プログラムdeタマゴ