静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.
By nicola.albertini 「ウンコードとは、糞のようにヒドいプログラムのことです。クソースなどとも呼ばれます。ヒドいプログラムは、プログラマの健康を脅かします。 「ウンコードなんて今すぐ消してしまえばいい。」 と言いたいところですが、既存のヒドいコードのプロダクトが、利益を生んでるケースも多いことでしょう。 結局、ヒドいプログラムをメンテナンスしつづけているという不幸な人も多いはずです。ヒドいプログラムを書いてしまうプログラマが、このサイトでウンコードについて 勉強して、もっとプログラムに気を使うようになって、 引き継ぎをした人も健康でいられますように。なむなむ」ということで、プログラマのためのストレス解消サイトであり、なおかつ教育サイトでもあり、そして主に他の人が創作したウンコードを鑑賞するのが目的というサイトが「ウンコード・マニア」です。 ウンコード・マニア http:/
By Erik (HASH) Hersman アフリカは非常に長い間世界中から「農業の土地」と見られてきたので、アフリカで独立してプログラマーとして働くことはとてもつらいことのようです。そういった先入観を排除するために懸命に働くアフリカ人プログラマーたちが抱く「苦悩」を、アフリカに関するテクノロジー関連ニュースを配信するiAFRIKANが明かしています。 Agony of an African Programmer http://www.iafrikan.com/2014/04/03/agony-of-an-african-programmer/ Agony of an African programmer | GeekTime http://www.geektime.com/2014/04/06/agony-of-an-african-programmer/ ◆電力供給が安定しない By
シューティングゲーム制作 シューティングゲーム Javaでシューティングゲームを作成してみます。 まずはプログラム動作の流れを簡単にまとめておきます。 Javaアプレットが読み込まれたらまず、デモ画面を表示し、デモ画面上でスペースキーを押下するとゲームを開始させるようにします。 ゲームが開始されると、画面上部から黒い丸が順次発現します。 青い丸を操作し黒い丸を全てかわすことができればゲームクリアとします。 また、ゲーム途中、青い丸が黒い丸と少しでも重なったらゲームオーバーとします。 ゲームクリアあるいは、ゲームオーバーとなったらデモ画面に戻ります。 今回はメインクラスである『shooting』クラスと 自機(青い丸)の情報を管理する『Jiki』クラス、 全ての敵機(黒い丸)の情報を管理する『EnemyInfo』クラス、 敵機単体を管理する『Enemy』クラス を、用意します。 『Jiki』
Javaの様々な機能やプログラミング手法を試してみます。 Robotによる自動操縦とスクリーンキャプチャ取得(2007/12/31) Java2の印刷機能(2002/ 8/28) ネット上のMIDIファイル再生(2001/11/ 3) ClipによるPCM(Wave)データ再生(2001/10/26) HSBカラーとRGB(2001/ 3/16) Swingテスト(2001/ 1/25) MemoryImageSourceによるフレームバッファ(2000/12/ 2) Jarファイルのリソース(2000/ 8/25) JavaアプリケーションのMIDI/WAVE再生(2000/ 7/31) BMPファイルの読み込みと表示(2000/ 5/12) フレームバッファイメージ-BufferedImage(2000/ 5/ 8) ファイル読み込みテスト(2000/ 2/28) Javaアプリケーシ
いまさら聞けないRESTの基礎知識、JAX-RSを使ったREST APIの作り方と使い方:3つのフレームワークで学ぶエンタープライズJava開発入門(3)(1/3 ページ) 新規のエンタープライズJava開発において現在有力視される3つのフレームの違いについて解説する連載。前回から複数回に分けて、MVCのViewとControllerにフォーカスして各要素を紹介しています。今回はJava EEのJAX-RSについて。JAX-RSの基本的な設計方針であるRESTについて解説し、Struts 1、JSFとの違いやJAX-RSの使いどころを紹介します。 新規のエンタープライズJava開発において現在有力視される3つのフレームワーク、Java EE、Spring Framework、Play Framework。本連載「3つのフレームワークで学ぶエンタープライズJava開発入門」では、3つの違いに
�「そうだ、Webサービス作ろう」と思ったらエンジニアが自分だけだった人のための最低限の要素技術まとめアプリまとめWebサービス新規事業 仕事で、趣味で、何かコンシューマー向けのWebサービスをまったくの0から作ろうと思った時、理解してると全体像がイメージできて具体的に手を動かし始めやすいであろう要素技術や知識のまとめです。技術的な詳しいところの考察というよりは、こんな領域の理解が必要になるよ、という紹介の記事です。 なお、紹介する技術が多岐に渡りますので、各技術の参考リンクはあえて貼りません。詳しくは記事内のワードを元にネットなり書籍なりで調べていただければと思います。 想定読者としては、「システムの一部分を担当して開発・運用してはいるけれど、担当以外の各技術についてはあまり詳しくない」という感じのエンジニアの方です。 では書いていきます。 ユーザーが触れる部分を作る(アプリ) 何はなく
中学校や高校、大学初級レベルの数学や各種アルゴリズムに関するプログラムをまとめる演習ノートです。 Javaアプレットを使用しているページでは、プログラムを実行するためにJavaアプレットのプラグインが必要です。プログラムソースを修正、ビルドする際はダウンロードしたソースファイルをJDKでビルドしてください。 微分方程式の数値計算 状態の変化を数式で表現した微分方程式。その微分方程式をコンピュータ(プログラム)による数値計算で解いてみます。 微分方程式の数値計算(オイラー法) 微分方程式の数値計算(ルンゲ・クッタ法) ニュートン法で平方根を求める 整数 整数の性質を調べながら、「特別な数」を計算してみます。特に約数を持たない「素数」に注目してみましょう。 素因数分解 エラトステネスのふるいで素数を求める 最大公約数を求める ユークリッドの互除法で最大公約数を求める 最小公倍数を求める 幾何
C++やJavaなどさまざまなプログラミング言語を駆使して、問題を解いていくと仮想のアイドルを育成できるゲーム「恋するハッカソン~君色に染まるアイドル~」が公開中だ。エンジニア向け転職支援サイト「paiza(パイザ)」の期間限定サービス。 多数の技術者が集まってプログラミングに打ち込む「ハッカソン」をインターネット上で行う取り組み「paiza オンラインハッカソン」の第8弾という位置付け。初めてアイドル育成ゲームの要素を取り入れたという。 正直、そう聞いただけでは戸惑いを覚えるが、paizaは以前からプログラミングを学んでコードを書くと女性キャラクターが集まる「コードガールこれくしょん」を公開するなど、ゲーム要素を取り入れて課題解決に取り組むゲーミフィケーションに熱心。これもその一環というところだろうか。 恋するハッカソン~君色に染まるアイドル~では、ロボットの女性キャラクターをアイドルと
ソートアルゴリズムの最後を飾るのは、やはりクリックソートです。 クイックソートは、データの比較と交換回数が非常に少ないのが特徴で、一般的なばらばらデータ(ランダムに散らばっているデータ)に対して、最も効率良く並べ替えを実行します。 クイックソートは、実用上もっとも高速であるとされている並べ替えアルゴリズムで、多くのプログラムで利用されています。 ばらばらなデータが格納された配列 a[ ] が与えられた場合に、それらをクイックソートで並べ替える手順を、下の図に示します。 まず始めに、「軸要素」と呼ばれるデータ値を決定します。この値は、データ全体を2つに分割するときのしきい値として使われます。軸要素は、分割が均等に行われるように選ぶのが望ましいのですが、その選択に時間をかけると、かえって並べ替えの時間を大きくしてしまいます。一般には、次のような方法がよく用いられているようです。 データの先頭の
もっとJavaEE6っぽくやってみよう 昨日のエントリでは、AsyncContextの使いかたを試すため、サーブレットだけを使って実装してみました。 でも、すこし泥臭いコードも多くなっていたし、このまま実用的なコードにしていくときにゴテゴテとコードを継ぎ足していくというのもイヤな感じです。 そこで、もっとJavaEE6っぽいコードに書き換えてみましょう。 少し準備 今回は、JAX-RSでのRESTful Webサービスと、CDIでのインジェクションを使ってみます。 JAX-RSの準備 まずは、JAX-RSを使うための設定クラスを作成します。 package chat2; @javax.ws.rs.ApplicationPath("rs") public class ApplicationConfig extends javax.ws.rs.core.Application { } こういう
Cometとは? ブラウザベースのチャットをつくろうとする場合、以前は定期的にクライアントからリクエストを送信して更新を確認するという手法がとられました。そうすると、平均して更新間隔の1/2の遅延が発生し、更新がないときの問い合わせが無駄になるなど、ユーザーにもサーバーにもうれしい手法ではありませんでした。 そこで使われるようになったのがCometです。 Cometは、HTTPでクライアントからの接続への返答を保留して、サーバーからデータを送信する必要がでたときに返答を返すことで、サーバーからのリアルタイムデータ送信を行う手法の総称です。 Servlet3.0でのComet対応 Cometでは、クライアントからの接続を保持しつづけるので、これまでのServletの仕組みをつかって実現しようとすると、各接続にスレッドを割り当てることになり、スレッド数が多くなりすぎるため、多くのユーザーには対
かつて、Log4jというロギングライブラリがありました。 最強でした。1999年のお話です。 ロギングの大切さとLog4jの素晴らしさが見直され、Java標準にjava.util.loggingというAPIが追加されました。2002年のお話です。 java.util.loggingはLog4jを参考に作られましたが、ところどころ使いづらかったため、「標準」という武器をもってしても、Log4jに置き換わることはできませんでした。そのため、Javaの世界には2つのロギングライブラリが残ってしまいました。 Maven1.0が2004年にリリースされ、人々はOSSライブラリを組み合わせてアプリケーションを作るようになりました。 ところが、ロギングライブラリが2つあったため、Log4jを使っているライブラリと、java.util.loggingを使っているライブラリが混在してしまい、アプリケーション
1.ガチ新人向けのコンピュータに関する教養 新入社員で専門課程で情報処理教育を受けていない場合の基礎教育 専門教育を受けていてもレベルによっては、適宜読んだほうがよい プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識 プログラマにとってCPUとはなにか データを2進数でイメージしよう コンピュータが小数点数の計算を間違える理由 四角いメモリーを丸く使う メモリーとディスクの親密な関係 自分でデータを圧縮してみよう プログラムはどんな環境で動くのか ソース・ファイルから実行可能ファイルができるまで OSとアプリケーションの関係 アセンブリ言語からプログラムの本当の姿を知る ハードウェアを制御する方法 コンピュータに「考え」させるためには レッツ・トライC言語! ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識 第1章 Web
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く