プログラムの実行時イメージ 突然だが、本章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり
Ruby言語について、当面第一部を理解するのに必要な知識だけ簡単に解説して おく。プログラミング上のテクニックであるとか注意すべきところなんてもの は全く指摘しないので、この章を読んだからと言ってRubyプログラムが書ける ようになるわけではない。既にRuby言語の経験がある読者はこの章は飛ばし て問題ないだろう。 また文法については第二部で嫌というほど話すから、この章ではできるだけ文 法の詳細には関らないようにする。ハッシュリテラルなどバリエーションがあ る表記は最も多用されるもののみ示す。省略可能なものは原則的に省略せずに 示す。そのほうが構文規則がシンプルになるからだ。いちいち「省略できる」 とも言わない。 オブジェクト 文字列 Rubyプログラムが操作できるものは全てオブジェクトである。Javaのintや longのような「基本型(primitive)」はない。例えば以下のように書
はじめに 最近改めてElasticsearchをいろいろ触っているのですが、その中でElasticsearchにデータを流し込むRiverを覚えた...のですが、RiverはDeprecatingなのでLogstash使おうということらしいです。 ということで、elasticsearch-river-twitterでは無くLogstashを使って、Twitter Streaming APIから取得したデータをElasticsearchに投入し、かつKibana4で可視化してみました。 やってみた 全てEC2上のAmazon Linuxで作業を行っています。 Logstashのインストール Logstashはjavaで動くので、javaが入ってることを確認します。 $ java -version java version "1.7.0_85" OpenJDK Runtime Environm
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。
(注:2016/1/21、頂いたフィードバックをもとに記事を修正いたしました。) 『 Programming in Scala (Scalaでプログラミング) 』の初版を読み始めた(でも読み終えていない)5年前からJavaの代わりにScalaを使うようになりました。最初はテストの時に使用していましたが、すぐにちょっとしたユーティリティクラスでも使用するようになり、気付いたらプロジェクト全てで使用するようになっていました。 Scalaに対する不満は多く存在しますが、この記事は違います。これは非難するものではなく、むしろ称賛するものです。 Scalaに興味ある開発者や聞いたことがあっても詳しく見たことがない人、「スムーズなプログラミングの妨げになる」と思い使用を先送りしていた人のために書きました。もちろんScalaファンに読んでもらうのも、他の人にも紹介してもらうのも大歓迎です。 この記事は3
ここでは、Windows 7環境に、Javaの実行環境と開発環境を導入する方法を解説する。WindowsでJavaを開発するためのIDE(統合開発環境)としては、Sun NetBeansやOracle JDeveloperなど様々あるが、今回は、最も多く使われているEclipseを取り上げて解説する。 はじめに WindowsでJavaの開発を行うとなったら、やはりEclipseでしょう。非常に豊富なプラグインで、機能をどんどん拡張でき、Javaだけでなく、PHPやC/C++など他の言語の開発もこなすことができます。 1. Eclipseのインストール&日本語化 Eclipseのダウンロード・インストール・日本語化は、以下の記事に従いましょう。 ■Windows 7 に Eclipse をインストール&日本語化する! - RinGoon POP!! 2014/07/09 追記 Pleiad
2014/07/09 追記 2014年7月現在、日本語化された Eclipse を入手する最善の方法は、Pleiades All in One をダウンロードすることです。 Pleiades All in One は、Eclipse + 日本語化プラグイン + Eclipse実行用JRE + 各言語プラグイン + α が、あらかじめパッケージされているため、 この記事で説明しているJREの導入や日本語化の手順を省略できます。もちろん、Windows 8 / Windows 8.1 でも動作します。 このページでは、Windows 7に、フリーのIDE(統合開発環境)である Eclipse をインストールし、日本語化する方法を解説する。Eclipseは、主にJavaの開発で利用されるが、その他にもPHP、C言語(C++)など、多数の言語を開発・実行することができる。また、Eclipse Pu
Excel は滅びぬ! Excel の力こそ日本企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、__イミディエイトウィンドウ__と呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実
春なのでJava入門的なことを書こうと思い立ったので、入門書ではあまりとりあげられない部分を解説するコンセプトの入門記事を書いてみようと思う。(←ひねくれ者) 対象読者としては、Java言語の基礎を学んだがもう一歩踏み込んだ話が知りたいぐらいの初学者〜中級者を想定してる。上級者の方は記述に誤りがないかチェックしていただければ幸いだが、説明を簡単にするためにいろいろ端折っている点はご理解いただきたい。 今回は変数・フィールド編とした。筆者のやる気次第だがこのシリーズでいくつか書こうと考えている。 入門書が教えてくれないJava 変数編 (本稿) 入門書が教えてくれないJava スコープ編 - プログラマーの脳みそ 初期値を指定しない変数宣言 変数宣言に際して初期値を設定しないことができる。 int i; この場合、このint i;がフィールドであるか、ローカル変数であるかで扱いが変わってくる
Welcome to Apache HBase® Apache HBase® is the Hadoop database, a distributed, scalable, big data store. Use Apache HBase® when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. Apache HBase® is an open-source, distributed, versioned, non-relational d
What is Apache Cassandra? Apache Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data.
前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((
1 はじめに 下記のページでは、Xamarinが異常に早いことをレポートしています。 Mobile App Performance Redux テストの内容によって色々あるとは思いますが、Xamarin.iOSが、Objective-Cより早く、Xamarin.AndroidがJava Androidとほぼ互角と言うのは、正直すごいグラフだと思いました。 少なくとも、XamarinがObjective-CやJavaのコードを吐いているわけでは無いことだけは直ぐに分かります。 今回は、Xamarinが、どういう仕組みでiOSやAndroid上で動作しているかを可能な限り簡単に紹介したいと思います。 っと、偉そーに言ってますが、実は、これちゃんとした公式の資料を基づくものでなく、私が勝手に解釈している内容ですので、専門家からのツッコミを得て完成するエントリーと意味で投稿させて下さい。 [201
第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ
このサンプルでは管理者のみが利用できる「管理者メニュー」と、一般ユーザが見れる「一般ユーザメニュー」の2つのメニューがあります。 それぞれのメニュー表示用のサーブレットでは、ユーザの権限チェックを行い、画面を表示するかどうかを決定しています。 権限チェックで画面が利用できないのであれば、エラー画面を表示します。 ◎AbstractServlet(リスト1) AbstractServletは全ての業務サーブレットのスーパークラスとなるサーブレットです。 doPost()、doGet()メソッドからexecute()メソッドを呼び出すことで、ブラウザからのリクエストをexecuteメソッドで処理しています。 execute()メソッドでは以下の処理を行っています。 ①doSetup()メソッド(前処理)の呼び出し ②doAuth()メソッド(権限チェック)の呼び出し ③doExecute()メ
デザインパターンは「良い設計の虎の巻」 デザインパターンとは簡単に言うと「良い設計の虎の巻」です。 プログラミングや設計をしていると、以前経験したことがある、 似たような問題に出くわすことがよくありますよね。 そのような問題の解決法にわかりやすい名前を付けて、 カタログ化(虎の巻化)したものがデザインパターンです。 デザインパターンは虎の巻ですので、 知っているのと知らないのでは設計や効率に大きく差がついてきます。 先人たちの「設計に関する試行錯誤の結果」であるデザインパターンを、 効果的に再利用しない手はありません。 デザインパターンにはいくつか種類があります。 表1 デザインパターンの種類 カタログ名 説明
今年3月に,JAVAの総本山とも言えるサン・マイクロシステムズから「Project Darkstar」というシステムがリリースされ,JAVA言語を使った3D MMORPGの未来が広がった。「RuneScape」や「Yahoho! Puzzle Pirates」など,すでに数百万アカウントを誇るJAVA製のヒットゲームも多いが,ついにMMORPGまで低予算で開発できてしまう時代がやってきたのだろうか。 ジャバが熱い。と書けば今回はコーヒーの話なのかな? と思ってしまう読者もいるかもしれないが,違う。今回は,サン・マイクロシステムズが開発し,現在も進化を続けるオブジェクト指向のプログラミング言語「JAVA」と,それで書かれたゲームについてお伝えしよう。 PCユーザーなら,JAVAという名前は何度か耳にしているだろう。JAVAは,プラットフォームに依存しないアプリケーションの制作を可能にすること
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く