タグ

programmingとjavaに関するlarkerのブックマーク (42)

  • Java コーディングスタンダード CERT/Oracle 版

    Top へ AA参考情報 References (CERT Oracle Secure Coding Standard for Java のページにとびます) 『Java セキュアコーディング 並行処理編』 Top へ BBGlossary Glossary (CERT Oracle Secure Coding Standard for Java のページにとびます) Top へ XXお問い合わせ ページに関するご質問・お問い合わせは、secure-coding@jpcert.or.jp までメールにてお願いいたします。 Top

    Java コーディングスタンダード CERT/Oracle 版
  • やってはいけないJavaプログラミング | ウルシステムズ株式会社

    1.これだけはやってはいけない 製品としてプログラムを記述する場合に「決して」やってはいけないのは、ソフトウエアに対する要求仕様を満たさないこと、つまり製品にバグを残すことです(注1)。仕様としてなにがどこまで定義されているかは、それぞれのプロジェクトによって異なるでしょう。シビアな場面では、メソッドの応答速度や使用メモリ量を定義することもあります。そこまでは掘り下げずに、画面仕様書とファイル仕様書、データベース仕様書だけで、「ボタンAが押されると、ファイルBに記述された設定にしたがってユーザの入力値を演算し、データベースのこのテーブルにこういう行を挿入、画面のこの個所に○○というメッセージを表示する」といった条件のみを定義することもあります。 いずれの場合でも、仕様を最終的にブレークダウンした結果である個々のプログラム、ソースコードが、これを満たしていることが最低限の完成条件となります。

    やってはいけないJavaプログラミング | ウルシステムズ株式会社
  • これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita

    もうちょっと規約的なものを「JavaでのUT作成基準を整理してみた」にもまとめてみました。 はじめに 去年、ブログの方に「ふつうのユニットテストのための7つのルール」という記事を書いたのですが、思ったより反響がありました。 あの記事で書いたのはあくまで原理・原則で、それを実現するためにはいくつかのテクニックが必要です。 特に、ああいうルールを作って「ユニットテストを書く事」を厳守するようにしても、 適切なテクニックを知らなければメンテが困難だったり、品質に寄与しなかったり、実行性能が悪いゴミが量産される可能性があります。 じゃあ、どうすれば良いかというと「最初からユニットテストが書きやすいように元のコードを設計する」ということです。 そう。まず身に付けるべきは「テストコードの書き方」では無く「テスト対象コード」すなわち「プロダクトコードの書き方」なのです。 また、ここで言ってる「最初から」

    これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita
  • 【Java初心者向け】throwとthrowsの違いとその使い方

    このページではJavaの例外処理として、throwとthrowsについてご紹介しよう。 とても似ているが、それぞれで意味も使い方も違う。 例外処理を行う上で、どちらも知っておこう。 Javaの例外処理には「throw」、「throws」という処理がある。両方ともその名前の通り処理を「投げる」という意味だ。 名前は同じような「throw」、「throws」であるが、内容はだいぶ違う。それぞれの特徴をよく理解して利用していきたい処理だ。 まずは「throw」についてみてみよう。「throw」は例外を意図的に起こして、例外処理を行わせることができる。 例外を意図的に発生させるメリットとしては、以下サンプルプログラムのように、引数の値が望んでいるものでない場合に例外を発生させ、呼び出し元にエラーメッセージを返すことができるなどがある。 サンプルプログラムで処理を確認してみよう。

    【Java初心者向け】throwとthrowsの違いとその使い方
  • android-samples/StreetViewPanoramaEventsDemoActivity.java at master · googlemaps/android-samples · GitHub

    larker
    larker 2017/08/24
    StreetViewのサンプルコード
  • JavaでMySQLに接続してデータ操作をする - TASK NOTES

    JavaMySQLを操作する基的な部分について書きました。 JDBCドライバの取得 JavaからMySQLへ接続するにはJDBCドライバが必要です。 MySQL :: Download Connector/J からダウンロードして下さい。ダウンロードしたら解凍して、中のjarファイルを使用します。 $ tar zxvf mysql-connector-java-5.1.35.tar.gz $ ls mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar Maven リポジトリは以下の通り。 <dependency> <groupId>mysql</groupId> <artifactId>

    JavaでMySQLに接続してデータ操作をする - TASK NOTES
  • Google Web API をコールするクライアントを作る

    はじめに Webサービスを用いて検索を行う、そんなことができるのでしょうか。それができるのです。検索の巨人Googleは検索サービスをWebサービスとして公開しており、誰もがこれを自由に使用することができるのです。これでを使うことでWebサービスと検索の両方を一緒に試すことができます。 さて、Webサービスを使用するには道具があるほうが、なにかと便利です。今回、使用する道具はJAX-RPC (Java API for XML-based RPC))です。JAX-RPCJava Comunity Processで策定されており、Webサービスで使用されるSOAPをJavaで使用することができます。 JAX-RPCのリファレンスインプリメンテーションはSun Microsystemsが無償で公開しているJava Web Services Developer Pack (Java WSDP)や

  • 最近のプログラミング言語にgetter/setterがないのはなぜ?

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基的にいかなるプラットフォームでも作動します。 Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

    最近のプログラミング言語にgetter/setterがないのはなぜ?
    larker
    larker 2016/02/24
    プロパティ機能のほうが主流らしい
  • Java - 最小二乗法!

    これまで、C++, Ruby, Fortran による「最小二乗法」のアルゴリズムを紹介しました。 C++ - 最小二乗法! Ruby - 最小二乗法! Fortran - 最小二乗法! 今回は、同じアルゴリズムを Java で実現してみました。アルゴリズムについては、上記リンクの記事を参照してください。 0. 前提条件 Linux Mint 13 Maya (64bit) での作業を想定。 コンパイラ・ランタイムは、 Oracle Java 1.7.0_51 を想定。 最小二乗法についての説明は割愛。(「C++ - 最小二乗法!」を参照) 1. Java ソースコード作成 File: LeastSquaresMethod.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3

    Java - 最小二乗法!
  • スレッドから値を返すには

    @ITの スレッドの戻り値の取り方についてより。 スレッドでの処理は何かと面倒が多いのですが、結果を返すというのもかなり面倒な処理です。スレッドを扱う上で難しいのは、複数スレッドから操作されるデータの扱い、つまり同期の問題と、複数スレッドの協調動作の扱いです。 データの同期も、スレッドの協調動作も、同じsynchronized キーワードを利用するのですが、だからこそ逆に使い分けが混乱しがちなのではないでしょうか。 このあたりは詳しく掘り下げると分量が多くなるので、とりあえずスレッドからの結果取得のサンプルです。 public class ThreadTest extends Thread { /** 同期用オブジェクト */ private Object lock = new Object(); /** 処理完了フラグ */ private boolean flag; /** retur

  • Javaであまりしないコーディング - 日々常々

    Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理由を無理矢理書いてみた。 決して「やってはいけないコーディング」と言う意味ではないです。単に「私はあまりしない」程度で、一般的な(?)業務開発でもあまり見ない、くらいの位置付け。理解した上でやる分には全く問題無いですし、そう言うもんだと思って使っても良いとは思います。 複数変数を同時に宣言する int i, j = 2, k; 同じ型の変数(フィールドでもローカル変数でも)は同じ文で宣言できます。 けど、あまり使ってるのは見ません。 同じ型でしか使えないし、フィールドだとJavaDocコメント書き辛いし、初期化式

    Javaであまりしないコーディング - 日々常々
  • Home

    What is Jython? The Jython project provides implementations of Python in Java, providing to Python the benefits of running on the JVM and access to classes written in Java. The current release (a Jython 2.7.x) only supports Python 2 (sorry). There is work towards a Python 3 in the project’s GitHub repository. Jython implementations are freely available for both commercial and non-commercial use. T

  • EpochTime(エポックタイム)を変換する (Java編)

    EpochTime(エポックタイム)とは そもそも、エポックタイムとは何でしょうか。 EpochTimeはUnixTimeとも呼ばれ、1970年1月1日00:00:00を基準にして、それから何秒たったかを数値にしています。 Javaで操作する場合には、long型が適切です。 Unixの世界では良く使われているので、このような呼ばれ方もするのですね。 JavaによるEpochTime⇔Date型の相互変換 では、早速、変換してみましょう。 Date型 → EpochTime public static long getEpochTime(String strDate){ Date lm = new Date(strDate); return lm.getTime(); }

    EpochTime(エポックタイム)を変換する (Java編)
  • モンテカルロシミュレーション

    このホームページは、乱数をたくさん発生させ、確率実験を行なう手法――これをモンテカルロ・シミュレーションといいます――のオンライン教科書です。あなたのパソコンを用いて、実際にプログラミングしてWEB上で実行することができます。 C言語版はこちら 1994年に、著者はソフトバンク社から「Cによるシミュレーションプログラミング」 というを、出版しました。現在それは絶版となっています。しかしながら、その後、それを大学などの教科書に使いたい、再版しないのかなどの問い合わせが ありました。出版したときの電子ファイルが残っていたので、それのすべてをホームページで、公開することといたします。その際、ホームページ上から、直接 プログラムを実行出来るように、CプログラムをJavaアプレットに変換し、公表します。 このホームページが、シミュレーションに興味をお持ちの方、トラヒック理論の研究者などのお役に立て

    larker
    larker 2011/03/29
    著者による解説資料
  • LuceneによるGoogleの「もしかして」キーワードアドバイス機能の実現 | 関口宏司のLuceneブログ

    一定期間更新がないため広告を表示しています

    LuceneによるGoogleの「もしかして」キーワードアドバイス機能の実現 | 関口宏司のLuceneブログ
    larker
    larker 2011/03/29
    あいまい検索
  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Javaはスクリプト言語より速い・・・のか?

    『プログラミング言語人気TOP10の簡易解説』という記事が人気を呼んでいたのだが、軽快な語り口で面白い読み物だが、語弊がありそうな部分がある。その中で特に、「(Javaは)実行速度はCに及ばないもののスクリプト言語よりは数十倍速い」とある部分が気になったので、簡単な例で検証してみた。 1. PythonPHPJava、Cで不適切な速度比較を行う 最初にコーディングが不適切な場合にプログラミング言語の速度比較を行うと、通説と異なる結果になる事を示したい。 Ubuntu Linuxで、オブジェクトをなるべく使わずに、順列の整数を100万個生成し、ランダムにシャッフルし、クイックソートを行ったときの経過時間を、timeコマンドで計測したものだ。ソート前、ソート後に配列の内容を、", "で連結して標準出力に書き出している。また、PythonAPIをなるべく使ったもの(*無し)と、なるべく使わ

    Javaはスクリプト言語より速い・・・のか?
  • Google App Engine - Google Code

    スタート ガイド App Engine アカウントにログインします。 App Engine SDK をダウンロードします。 スタート ガイドを参照します。 アプリケーション ギャラリーのサンプル アプリケーションをご覧ください。

    larker
    larker 2010/11/29
    スタートガイドではpythonのサンプル
  • アクセス制限をweb.xmlの記述だけで実現する

    アプリケーションに認証機能を追加したいと思った場合、もちろん、自分で認証機能を実装することも可能です。しかし、コンテナ(Tomcat)にあらかじめ用意されている機能を利用することで、より簡便に(しかも確実に)認証機能を実現することができます。 操作手順 (1)デプロイメントディスクリプタを定義する Tomcatの認証機能を利用するには、デプロイメントディスクリプタ(web.xml)に以下のように認証の定義を記述するだけです。 ただし、すでになにかしらの記述のあるweb.xmlに追記する場合には、任意の個所に追加することはできませんので、注意してください。 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.

    アクセス制限をweb.xmlの記述だけで実現する
  • セッション管理 - サーブレット入門

    セッションはクッキーと似ていますが、必要な情報をクライアントではなくサーバ側に保存します。その為、よりセキュアに利用することができます。ここではセッションの使い方について解説します。 セッションの開始 セッションを使ったデータの書き込みと読み込み セッションオブジェクトの削除 セッションの破棄 セッション作成日時と最終アクセス日時 セッションの有効期限 セッションIDの確認 URL書き換え クッキーかURL書き換えかの判別