タグ

JavaとProgrammingに関するt-tanakaのブックマーク (65)

  • タイムゾーン呪いの書 (Java 編)

    「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「Java 編」は、「知識編」と「実装編」に続く最終章です。記事全体を通して、「知識編」「実装編」を読んでいることを前提にしているので、ご注意ください。 はじめに 「知識編」と「実装編」では、言語やソフトウェア特有の話にはあまり踏み込まずに、時刻とタイムゾーンについてなるべく一般論を書いてきました。そんな中でも Java の JSR 310: Date and Time API は何度も参照しています。 JSR 310 は時刻やタイムゾーンという概念をけっこう上手に一般化していて、一般論の検討にもいいモデル

    タイムゾーン呪いの書 (Java 編)
  • JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ

    JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス

    JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ
  • JavaプログラマのためのKotlin入門 - Qiita

    KotlinAndroid の公式言語になることが Goole I/O 2017 で発表されました。 Java プログラマが Kotlin を始めることがこれから多くなると思うので、 Kotlin をスムーズに始められるように次の 3 点についてまとめます。 Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ Kotlinならではの便利なこと すべてを一つの投稿にすると長くなるので連載形式とし、投稿では最初の「Javaと同じところ」について説明します。 Kotlinって何? 題の前に、 Kotlin について簡単に説明します。 まずは↓の Android のコードを見て下さい。これは Android Studio が生成するテンプレートの Kotlin 版です。 Android アプリ開発者であれば、初見でも概ね何をしているのかわかると思います。 class Ma

    JavaプログラマのためのKotlin入門 - Qiita
  • 古のJavaを使うということ / JJUC CCC 2016 Spring

    #jjug_ccc #ccc_m71

    古のJavaを使うということ / JJUC CCC 2016 Spring
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • Reactive Streams 入門 #jjug

    2015/06/24 JJUG ナイトセミナー 「Reactive Streams特集」 by @okapies https://jjug.doorkeeper.jp/events/26547 補足記事: http://okapies.hateblo.jp/entry/2015/06/26/024505

    Reactive Streams 入門 #jjug
  • searchcode | source code search engine

    Bitbucket CodePlex Fedora Project GitLab Github Gitorious Google Android Google Code Minix3 Seek Quarry Sourceforge Tizen codeberg repo.or.cz sr.ht ABAP AMPLE ASP ASP.NET ATS AWK ActionScript Ada Agda Alchemist Alex Alloy Android Interface Definition Language Ant Apex Trigger Arduino Sketch Arvo AsciiDoc AspectJ Assembly AutoHotkey Autoconf Bash Basic Batch Bazel Bitbake Bitbucket Pipeline Blade B

    searchcode | source code search engine
    t-tanaka
    t-tanaka 2014/10/03
    ごめんなさい。この間「if (osName.startsWith("Windows 8") )」というコードを書きました。Windows 8000とかでたら誤作動するな…。
  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
  • Efficient data transfer through zero copy

    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.

    Efficient data transfer through zero copy
  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
  • GradleとMavenとAnt+ivyの比較 - kaakaa Blog

    JUnit実践入門見ながらMaven試してたら、いつのまにか3つのビルドスクリプト比較してた。 簡単なスクリプトだけど、Gradleの簡便さが分かると思います。 【やりたいこと】 Javaコンパイラのバージョンを指定してコンパイル JUnitのjarをMavenCentralから持ってくる ソースのエンコードをUTF-8で指定 以上。 ついでに、それぞれ一回実行して、jarがローカルにキャッシュされた状態での実行時間も測ってみました。 コンパイル対象は以下の2クラス。 Sample.java package org.sample; public class Sample { public static void main(String[] args){ System.out.println("Hello World!"); } } SampleTest.java package org.s

    GradleとMavenとAnt+ivyの比較 - kaakaa Blog
    t-tanaka
    t-tanaka 2014/03/10
    Javaのビルドツールの比較
  • Javaコーディング規約追補 - torutkのブログ

    最近GoogleJavaコーディング規約を公開したとニュースで知り、目を通してみたメモを書きます。 また、以前Javaのコーディング規約について調べたメモを次のURLに書きましたが、それ以降に公開されたJavaコーディング規約を探してみました。 http://www.alles.or.jp/~torutk/oojava/codingStandard/ Googleが策定・公開したJavaコーディング規約 先月、InfoQの日語訳の記事で、Googleが最近Javaコーディング規約を公開したことを知りました。 InfoQの記事(日語訳)GoogleJavaコーディング規約 (Google)http://google-styleguide.googlecode.com/svn/trunk/javaguide.html さらっと目を通してみたメモを箇条書きで列挙します。 ファイルのエンコ

    Javaコーディング規約追補 - torutkのブログ
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    友人から「しんぺいさん DI について書いてほしい」みたいな話をだいぶ前からされてたんだけど書く気力ずっとなかった。でも仕事の気分転換にちょっとずつ書いたやつがいい量まとまったので公開するです。たいしたことは書いてないっていうか知ってるひとにはあたりまえのことしか書いてない。サンプルコードはわたしの趣味Scala で書いてあるが、Java が読めればなんとなく読めると思います。 DI ってなに Dependency Injection、日語で言えば依存性の注入です。おしまい。 で記事を終えてもいいんだけど、そもそも依存性とはなんなのか、それを注入するとはどういうことなのか、なぜ DI が必要となるのかみたいな話をこれからします。 そもそも依存性ってなあに 例を出します。入力された文字列をもとにおみくじをひいて、その結果を twitter に投稿するプログラムにしましょう。 まずは普通

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    t-tanaka
    t-tanaka 2014/02/13
    ここまでは分かる。私が知りたいのは,なぜFactoryパターンは廃れて,コンテナによるDIがもてはやされるようになったか,ということ。
  • Javaを使うメリットはありますか? はい、それはもちろんあるに決まってます! - ブログなんだよもん

    /.Jに聞け:Javaを使うメリットは? | スラッシュドット・ジャパン デベロッパー え、ありますよね? Webアプリに限っても。 というか、上げてるデメリットが現代的じゃないなぁ... 個人的には少数精鋭チームを作れてないならJavaはかなり有りな選択だと思っています。 ※ Java使ってるメンバーがスキルが低いのではなく、LL系で高品質なものを作るのにスキルが必要で、例えスキルがあっても多人数開発にはあまり向かない、という意図 というわけで、自分が思うLL系言語ではなく、JavaでWebアプリを開発するメリットを書いてみます。 静的型づけ言語 HaskellとかOCamlとかScalaとか、その辺の超強力な型付け言語から見ると弱いですが、多くのLLと違い静的型付けな事が特徴です。 これは型というメタ情報を言語仕様に明確に取り込んでいるということです。以下のメリットがあります。 人間が

    Javaを使うメリットはありますか? はい、それはもちろんあるに決まってます! - ブログなんだよもん
  • Javaプログラミング入門

    書は著者が非常勤講師を担当した大学の講義資料を再構成したもの。 理工系学部の学部1年生が初めて計算機室でプログラミング科目に向かうことを想定して、プログラミングの初歩的な知識がまとめられおり、各章においてゲーム性のある親しみやすいサンプルプログラムを掲載し、遊びながらプログラミングに接することができるよう構成されている。 著作の著作権は著者が保持しています。 通常の閲覧以外の利用については、お茶の水女子大学附属図書館にお問い合わせください。 Copyright of this work is retained by the author. If you wish to use this material for purposes other than reading, please contact Ochanomizu University Library.

  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

  • Dislable java

    Statistics Favorites 2 Downloads 0 Comments 0 Embed Views 36 Views on SlideShare 53 Total Views 89 Dislable java Presentation Transcript 第4回若手Webエンジニア交流会 in 2013/2/28 そういえば先週ですが… Ruby 20周年おめでとうございます 若手Webエンジニア= 基的に新卒 3 年目前後のウェブエンジニア とのこと 大御所 LISP 55歳まだ若手 Perl 26歳 Haskell 23歳 Ruby 20歳 若手 Java 18歳 年齢で言うと JavaScript 18歳 18~27,8くらい? PHP 18歳 C# 11歳若すぎる Scala 10歳 Clojure 6歳 Go 4歳 大御所 LISP 55歳まだ若手 Perl

  • Codespell – Java言語がそのまま呪文となる教育用3Dゲーム

    カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ

    Codespell – Java言語がそのまま呪文となる教育用3Dゲーム
  • オワコンであるVectorとListの同期の話 - プログラマーの脳みそ

    JJUG Night Seminarへ行ってきました - 虎塚にあったjava.util.Vectorの話。 java.util.Vectorは随分前にオワコン化していて、今、新たにVectorを使ってコードを書く人がいたら優しく諌めてあげるべきシロモノ。 「VectorとArrayListだとArrayListの方が同期化されていなくて速いです!」と習った人も多いのではないかと。 public synchronized E get(int index) { if (index >= elementCount) throw new ArrayIndexOutOfBoundsException(index); return elementData(index); } これはJDK7u7のVectorのコードのうちget()の部分の抜粋なのだけど、synchronizedメソッドになってる。s

    オワコンであるVectorとListの同期の話 - プログラマーの脳みそ
  • Java 8 lambdas

    Scheduled for release in 2013, Java 8 will include language support for lambda functions. Although the specification is still in flux, lambdas are already implemented in JDK 8 binaries. This article takes a tour of the new lambda syntax, the use of lambdas in the Collections API, and related language enhancements. All code snippets were compiled with JDK 8 lambda build b39. Functional interfaces I

    t-tanaka
    t-tanaka 2012/06/26
    やはりJavaにlambdaを自然な形で入れるのは至難の技か。