並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 8015件

新着順 人気順

println javaの検索結果161 - 200 件 / 8015件

  • Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena

    Java8にlambda構文が入りましたが、これはクロージャーではない、とされています。 では、どのように「クロージャーではない」のか、ちょっと見てみます。 まず、lambdaを返すメソッドを定義します。 public static Supplier<String> createMessenger(String name, String address){ return () -> { return String.format("私は%s、%sに住んでる", name, address); }; } 呼び出すと、こんな感じでSupplierを受け取ります。 Supplier<String> messenger = createMessenger("きしだ", "ふくおか"); このSupplierを実行すると、次のようになります。 System.out.println(messenger.

      Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena
    • Java脳でもわかるObjective-C入門

      ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo: Some rights reserved by yukiv Javaと比較しながら「へぇーObjective-Cってそういう感じか」と理解した気になろう。 流れ 軽くジャブ クラスファイルの構成 コメント import文 変数の定義 クラス定義 メソッドの定義 メッセージ式 プロパティ セレクタ プロトコル カテゴリ 文字列リテラル ログ出力 ひと通り使ってみる感じのソース まとめ 軽くジャブ まずは以下のソースを眺める //SampleClass.h #import <Foundation/Foundation.h> #import "SampleClassDelegate.h" @interface SampleClass : NSObject <sampleclas

        Java脳でもわかるObjective-C入門
      • 幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita

        クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基本から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基本 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす

          幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita
        • EmbulkでPostgreSQLをMySQLに移行した話 - LIVESENSE ENGINEER BLOG

          こんにちは。マッハバイトを運営するアルバイト事業部エンジニアの mnmandahalf です。 先日、マッハバイトの販売管理システムで使っているデータベースをオンプレPostgreSQLからAmazon Aurora MySQLに移行しました。 本記事では移行に至った背景、吸収する必要があった差分や苦労した点についてお話しします。 環境 移行前のバージョン: PostgreSQL 9.4 ※ドキュメントはバージョン14のものを添付しています 移行後のバージョン: Aurora MySQL 3.02.0 (compatible with MySQL 8.0.23) 環境 MySQL移行の背景 データ移行方法の検討 Embulkの実行で考慮したポイント Embulkの設定 scram-sha-256認証への対応 タイムスタンプが9時間巻き戻る FK制約を無効化できない PostgreSQLとM

            EmbulkでPostgreSQLをMySQLに移行した話 - LIVESENSE ENGINEER BLOG
          • JavaアプリをExe化するLaunch4jの使い方と仕組み - seraphyの日記

            Launch4jとは? Launch4jとは、JavaアプリケーションのExeラッパーを作成するツールである。 以下よりダウンロードできる。 http://launch4j.sourceforge.net/ このLaunch4jを使うことで、実行可能JarをExeファイルとして起動できるようにラップすることができる。 しかし、生成されたExeは単純なラッパーにすぎず、Exe化したといってもJavaランタイムが不要になるわけではない。 これは、端的にいえば、「Javaアプリケーションを起動するためのexe」を作るものだと考えてよい。 であれば、単純な「実行可能なjar」と比較して何が嬉しいのか? 機能的には以下のようなアドバンテージがある。 Launch4jでExe化するメリット Exeなので、これがアプリケーションであることが一目でわかる Javaに詳しくない人はjarファイルを見ても扱い

              JavaアプリをExe化するLaunch4jの使い方と仕組み - seraphyの日記
            • 実戦での Scala: Cake パターンを用いた Dependency Injection (DI) · eed3si9n

              2011-04-23 Akka の作者として益々注目を集めている Jonas Bonér が 2008年に書いた “Real-World Scala: Dependency Injection (DI)” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2008年10月6日 Jonas Bonér 著 2011年4月22日 eed3si9n 訳 さて、実戦での Scala シリーズ第二弾の今回は、Scala を用いた Depenency Injection (DI) の実装をみていきたい。Scala は、備わっている言語機構だけを用いても何通りかの DI を実現できる非常に豊かでディープな言語だが、必要に応じて既存の Java DI フレームワークを使うこともできる。 Triental では、一つの戦略に落ち着くまで三つの異なる方法を試した

              • 小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない - かとじゅんの技術日誌

                おつかれさまです。 型を選ぶというのはプログラミングの基礎中の基礎ですが、以外に開発の現場でも注意が必要なのが、floatとdoubleの精度の問題があります。これぐらい当然と思っていたのですが、最近よく耳にしますので、あえて言及w これらの型の目的が科学技術計算のための用途。多少誤差が生じても高速に演算をすることを目的としています。グラフィックなどの描画系とかですかね。 このように、float型やdouble型は誤差を含む可能性があるため、科学・工学計算で多少の誤差は許容できる場合はよいのですが、金融・会計分野のように正確な値が要求される計算には向きません。 どうしても正確な値が欲しい場合は、BigDecimalクラスを使用することになります。基本データ型のdoubleやfloatと比較すると不便かつ低速ですが、精度が保証されており、丸め方も指定できます。 ここで言及されているように、お

                  小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない - かとじゅんの技術日誌
                • ココが好きだよIntelliJ IDEA – 便利機能10選 #jbugj – yusuke.blog

                  IDEA Advent Calendar 2013の22日目です。 IntelliJ IDEAを使っていて「やっぱ便利!」と最近実感している小粒な機能を淡々と10件あげます。 1. 構造選択(⌘ + w) Structural selectionと呼ばれるもので文法上の構造の単位で選択範囲を広げていってくれます。単語→リテラル内(ダブルクォート内)→リテラル(ダブルクォート込)といった感じ。 言葉だとわかりにくいけど実際の動きを見てもらえれば分かるはず。Shiftを押しながらだと選択範囲を狭めていける。 慣れるとIDEA以外でテキストを編集しているときにも⌘ + wを押してしまい「あわわ」ってなる。 2. どこでも検索(Shift2回) とにかくShiftを2回押してからクラス名やファイル名、メソッド名などの断片をタイプするとインクリメンタルに絞り込んで好きなところにジャンプ出来ます。これ

                    ココが好きだよIntelliJ IDEA – 便利機能10選 #jbugj – yusuke.blog
                  • 【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 - paiza times

                    2014年12月3日より2015年1月7日まで開催した、paizaオンラインハッカソンVol.4Lite「エンジニアでも恋したい」は、トータルで3問有りましたが全て解けましたでしょうか? 各問題の成否によりストーリーが変わるのであえて間違えて解いた方もいらっしゃると思いますがw (プレゼント対象期間は終了しましたが、問題チャレンジは可能なので、未チャレンジの方は是非チャレンジください!) 問題1、問題2は解説するほどのむずかしさでもないので省きますが、問題3は多少工夫が必要なので、問題3について今回もPOH恒例の「図解解説」をしてみたいと思います。既に解けた方もそうでない方も、今回の解説を読んで、それぞれの方法すべてを実装してみると勉強になると思いますので、是非試してみてください。 ■どのような高速化ステップがあるのか? 今回の問題ですが、解法の大きなパターンとしては、1.全てのパターンを

                      【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 - paiza times
                    • Ajax in Action

                      News April 08, 2024 08 Apr'24 Worlds toughest core Java interview question The trickiest Java interview question ever asked? In five words or less, explain the red 'x' the Eclipse IDE displays at the end of the provided Java code snippet. March 04, 2024 04 Mar'24 Best crash course to learn Jenkins from scratch Need to learn Jenkins CI fast? This Jenkins tutorial will quickly get you up to speed on

                      • Java で引数の null チェックで迷った話 - yukungのブログ

                        これは Java Advent Calendar 2015 の 15 日目の記事です。 昨日は @opengl_8080 さんの Byteman 使い方メモ+α でした。明日は @irof さんです。 前置き ついこないだチームでちょっとだけ話題に上って、みんなある程度指針は持っているものの、割と悩みつつ明確に答えを出せなかったので、もっと良い意見があればと思って晒してみます。まぁよくある話だし、Java 8 で Optional が使えるようになって null について語られるケースが増えたと思うので、再考するちょうどよい機会になればいいなーと思います。初心者向けです。 どう処す?処す? こんな状況の時にあなたならどうしますか? // Generics なのは例です。String でもなんでもいいです public T doSomething(T input) { // input が

                          Java で引数の null チェックで迷った話 - yukungのブログ
                        • グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main

                          java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日本語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun

                            グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main
                          • 技術/HTTP/URLエンコードで 0x20(スペース) を "+" にすべきか "%20" にすべきか - Glamenv-Septzen.net

                            id: 1170 所有者: msakamoto-sf 作成日: 2013-03-23 22:18:13 カテゴリ: HTML HTTP ネットワーク [ Prev ] [ Next ] [ 技術 ] ※時間がないとか、だらだらとRFCの解説を読んでる暇が無い方は、末尾のまとめ部分だけ目を通していただければ十分かと。 URLのpath中やquery中、POSTリクエストボディ中で、0x20のスペースを、"+"に変換するのが「正しい」のか、"%20"にするのが「正しい」のか、わからなくなってきたのでちょっと調べてみました。 ただしRFCの全文を熟読してるわけではないので、言い回しや表現はもとより理解そのものが間違ってる可能性もあるので、話半分程度に参考にしてください。 "+"を使うべきか、"%20"を使うべきか、よく迷う箇所: URLのパス中 URLのクエリ中 "application/x-w

                            • Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ - いろいろ解析日記

                              Javaを使う場合に必ず必要になるデータ構造 - 配列・リスト・マップの使い方について簡単に説明します。 目次 配列 配列を生成する。 配列にデータを格納する。 配列からデータを取得する。 配列中のすべてのデータに同じ処理をする。 リスト (注) リストを使うにはimport文が必要 リストを生成する。 リストにデータを追加する。 リストからデータを取得する。 リストのデータを置き換える。 リスト中のすべてのデータに同じ処理をする。 マップ (注) マップを使うにはimport文が必要 マップを生成する。 マップにデータを格納する。 マップからデータを取得する。 マップ中の全てのデータに同じ処理をする。 関連記事 配列 配列は複数件のデータを扱うためのデータ構造です。 Javaの配列の特徴は、生成時にサイズ(格納するデータの個数)を決める必要があることです。いったん配列を生成すると、後から

                                Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ - いろいろ解析日記
                              • Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。

                                grpc/grpc · GitHub gRPC - An RPC library and framework https://github.com/grpc/grpc gRPC は Google が開発しているRPC(リモートプロシージャコール)のライブラリとフレームワークで、通信層は HTTP/2 を介して行われます。 データ層については、固定されている訳ではなくあくまでデフォルトで Protocol Buffers が使われる様になっています。使用出来るプログラミング言語は現在、C++, Node.js, Python, Ruby, Objective-C, PHP, C# となっています。 実はこれら以外にも grpc-go という、なぜかこのリストに加えられていないオフィシャルリポジトリがあります。 grpc/grpc-go - GitHub gRPC-Go The Go impl

                                  Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。
                                • Spring Boot 使い方メモ - Qiita

                                  Spring Boot とは Spring プロジェクトが提供する様々なライブラリやフレームワークを、手っ取り早く使えるようにしたフレームワーク。 Dropwizard の Spring 版みたいなの。 ビルドすると単独の jar ファイルができあがる。 Web アプリの場合は、組み込みの Tomcat が起動する(Jetty や Undertow に切り替え可)。 Web アプリでなく、普通の Java プログラムとしても動かせる。 Maven や Gradle などのビルドツールを利用する(Ant でもできなくはない)。 使用したいコンポーネントを依存関係に追加するだけで、結合に必要な設定などが自動で行われる。 環境 Java 1.8.0_45 Gradle 2.3 Spring Boot 1.2.3 Hello World 実装 buildscript { repositories

                                    Spring Boot 使い方メモ - Qiita
                                  • Mailosaurでメール送信のE2Eテスト - febc技術メモ

                                    最近MailosaurというSaaSを使ってメール送信機能をテストしてみましたので、備忘がてら紹介メモを残しておきます。 Mailosaurとは? Mailosaurとは Email and SMS testing platformだそうです。 mailosaur.com メールがちゃんと送れているか?だとかメール本文/添付ファイルなどは意図通りか?をテストするのに便利な機能が提供されています。 Mailosaurってなんて読むの? 以下の動画をみたところ、カタカナだと「メイラソー」のように呼ばれていました。 www.youtube.com どんなことができるの? EメールやSMS関連のテストを行うための様々な便利機能が提供されています。 詳細は以下のドキュメントに記載されています。 mailosaur.com 例えばEメール関連ですと以下のような機能が提供されています。(上位プランのみの

                                      Mailosaurでメール送信のE2Eテスト - febc技術メモ
                                    • TokuLog 改めB日記

                                      pure kotlin な double array の実装である KDary をリリースした https://central.sonatype.com/artifact/io.github.tokuhirom.kdary/kdary https://github.com/tokuhirom/kdary KMP(Kotlin Multiplatform) 環境で Mac アプリを実装していた。その中で雑な文書要約をしたくなり、 TF-IDF を使いたくなった。日本語で TF-IDF を使うには単語を分かち書きする必要があるわけだが、分かち書きするには形態素解析機を使うのが手っ取り早いということになる。しかしながら、KMP 環境では利用できる日本語形態素解析機は存在していない。 ないものは作るしかないので、作るのだが、日本語の形態素解析を効率よくやるためには共通接頭辞検索を行う必要がある。こ

                                      • mixi Engineers’ Blog » OpenSSLの暗号文をJava/Perl/Rubyで開く

                                        秘密鍵やプライベートな情報などを秘匿するためにパスワードでデータを暗号化・復号したい場合があります。このとき、暗号化と復号するアプリケーションが同じであれば簡単ですが、例えばCで暗号化してJava、Perl、Rubyで復号するといった風に異なるプラットフォームで暗号データをやりとりする場合には、いくつか気 をつけなければいけないポイントがあります。 OpenSSLによる暗号化 OpenSSLはWebサーバのSSL/TLSサポートに利用されますが、その他にも付属しているopensslコマンドから基本的な暗号アルゴリズムを利用できます。次のような簡単なコマンドで、パスワードを使ってデータを暗号化したり復号したりすることができます: $ echo 'Hello World!' | openssl enc -e -aes-128-cbc > cipher.txt enter aes-128-cbc

                                          mixi Engineers’ Blog » OpenSSLの暗号文をJava/Perl/Rubyで開く
                                        • KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ - エンジニアHub|Webエンジニアのキャリアを考える!

                                          KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ 近年注目を集めるKotlinはどのように書き、どのように運用するのがいいのか。2012年からKotlinに親しむUbie社の長澤太郎さんに、その経験から得られたKotlinノウハウを聞きました。 2011年7月に登場したJVM言語・Kotlinは、近年多くの注目を集めている言語の1つです。Androidアプリの開発言語としてGoogle I/O 2017で正式採用されたことも契機となり、Kotlinはその存在感を一挙に高めました。 そして、この言語に黎明期から親しみ続けてきたのが、Ubie株式会社の長澤太郎(ながさわ・たろう/ @ngsw_taro )さんです。業務や登壇、執筆活動など、多くの局面でKotlinを活用し、ノウハウを蓄積してきた長澤さんに、Kotlinの言語特性やより

                                            KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ - エンジニアHub|Webエンジニアのキャリアを考える!
                                          • 細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS

                                            本日のエントリーはJava Advent Calendarの25日目です。昨日は @mike_neck さんのmike、mikeなるままに…: hamcrestを拡張してmoreThanとか作ってみたでした。本日はクリスマスですが、Advent Calendarはまだまだ続きます。明日はt.ogisawaさんのhttp://webinter.sakura.ne.jp/pbd/210です。 さて、今年はJava7がリリースされましたね。try-with-resources、diamond operator、invoke dynamic、Folk/Join framework…魅力的な新機能の数々が、多くの人によって紹介されています。が、Java7の変更はそれだけじゃないはず。小粒だが、キラリと光る変更がきっとあるはず。ということで、Java6とJava7のsrc.zipを比較してみました。小

                                              細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS
                                            • MODULE.JP - 日本語に絡むUnicodeブロックとスクリプト(正規表現)

                                              といった感じ。ちなみにjava.util.regexとPerlのUnicodeブロックは接頭子Inを使うが、.NETの場合は接頭子Isを使う、という差異があります。 Unicodeスクリプトとブロックの違いがビミョーに見えるけど、ブロックがコードブロックをゴリッと指定したものに対して、スクリプトは特定言語に関係する文字の種類を直接指定するものなのでブロックよりも断定的、って感じで見れば良かなと。ちなみにUnicode関連のドキュメントによるとUnicodeプロパティとスクリプトで日本語の文章を表そうとすると m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x; こんな感じになるそうな。実際流通している文章はこれより多様なので現実とは微妙に乖離

                                              • おねえさんを組み合わせ爆発から救う:完結編おねえさんは星になった - きしだのHatena

                                                おねえさんを組み合わせ爆発から救うために、経路をZDDとして表したら、すっきりと経路情報が扱えました。 http://d.hatena.ne.jp/nowokay/20121018#1350528607 あとは、このZDDを効率よく構築できれば、おねえさんを救えそうです。このZDDの構築には、クヌース先生の開発したSimpathアルゴリズムを使うと非常に効率よく構築できます。 前回生成したZDDを見ると、同じノードにまとまっているものがいくつかあることがわかります。特に後半になるとどんどん同じパターンになるものがまとめられていきます。 つまり、この経路問題のZDDを構築するときには、いかに同じパターンになるものをまとめるかが鍵になるということです。 Simpathでは、辺の端だけに注目して、同じパターンになっていればそれ以降のノードを使いまわすという考え方で、ノードをまとめていきます。 つ

                                                  おねえさんを組み合わせ爆発から救う:完結編おねえさんは星になった - きしだのHatena
                                                • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

                                                  自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

                                                    これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
                                                  • 『はじめての RabbitMQ』

                                                    アメーバ事業本部 API 基盤グループでプログラマをしている @na_ga です。 API 基盤グループでは、弊社の様々なサービスから利用される共通 API の開発・運用を行なっております。今回は、私が担当した API でメッセージキューとして利用した RabbitMQ を紹介させていただきたいと思います。 はじめにAPI 基盤グループで提供している API には、リクエストをリアルタイムに処理する必要がないものもあります。例えばメール配信 API や、投稿内容の有人監視 API などが挙げられます。 これらの非同期処理が可能な API では、大量のリクエストを受け取るためにメッセージキューを使用しています。 メッセージキューを使用した構成では、リクエストを受け取るプログラムが、受け取ったリクエストから生成したメッセージをキューに格納します。キューに格納されたメッセージは、メッセージを処理

                                                      『はじめての RabbitMQ』
                                                    • Big Sky :: golang で複数のエラーをハンドリングする方法

                                                      golangいまどき例外ないの頭おかしいって思ってたけどようするにgoroutineと例外がうまくいかないからgoroutineのほう取って例外捨てたってことかねえ。 — Urabe, Shyouhei (@shyouhei) April 15, 2014 FAQ に書いてあります。 Why does Go not have exceptions? - Frequently Asked Questions (FAQ) - The Go Programming Language We believe that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code. It also tends to encourage programme

                                                        Big Sky :: golang で複数のエラーをハンドリングする方法
                                                      • Java外部プロセス起動メモ(Hishidama's Java Process Memo)

                                                        Process プロセス終了待ち データ読み込み 後から読むとNG 先に読んでもNG 全データ廃棄 スレッド化 [/2015-04-18] リダイレクション クローズ [2010-12-26] プロセス強制終了(タイムアウト) Timer使用 [/2014-03-19] exitValue利用 [/2014-03-19] isAlive利用 [2014-03-19] Future利用 [2014-03-18] タイムアウト付きwaitFor [2014-03-19] Runtime JDK1.4までは、外部プロセスの起動にRuntimeクラスを使う。 JDK1.5以降でも使えるが、JDK1.5以降ではRuntimeの内部でProcessBuilderを使っているので、素直にProcessBuilderを使う方がよい。 「java -version」を実行する例 Runtime r = Ru

                                                        • Java の AST を解析できる javaparser がアツい!!! - tokuhirom's blog

                                                          https://github.com/javaparser/javaparser javaparser は Java をパースして AST にしてくれるライブラリである。 この手のライブラリは数多あるのだが、ほとんどのものが Java 1.5 ぐらいでメンテナンスが止まっている。 実際このライブラリもメンテナンスが止まっていたのだが、Java 1.8 対応版とし開発が再開されたものだ。 このライブラリはパーサーライブラリであるから、文字列をパースして AST を構築してくれるというものになっている。 実際どのような AST が構築されるのかが気になるところなので、構築された AST をダンプできるツールを groovy で書いた。 #!/usr/bin/env groovy @Grab('com.github.javaparser:javaparser-core:2.1.0') impor

                                                          • 理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found

                                                            2009年08月20日18:00 カテゴリ書評/画評/品評Lightweight Languages 理想の言語? - 書評 - Scalaスケーラブルプログラミング インプレス石橋様より献本御礼。 Scalaスケーラブルプログラミング Martin Odersky Lex Spoon Bill Venners / 羽生田栄一監 / 長尾高弘訳 [原著:Programming in Scala] 素晴らしい言語の、素晴らしい入門本。 何が素晴らしいかというと、言語の思想が、頭ではなく体で覚えられるようになっていること。これなら言語オタクでなくとも、いや言語オタクでない方が、無名関数やActorの素晴らしさがよくわかる。 それだけに、結構残念である。 Scalaが、Java上の言語であることに。 本書「Scalaスケーラブルプログラミング」の原題は、「Programming in Scala

                                                              理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found
                                                            • GraalVMはどれだけ遅いか - きしだのHatena

                                                              GraalVM流行ってますね。 そして、多くの人はGraalをAOTとして使うnative-imageのことだけをGraalVMと言ってたりします。 ご安心を。このエントリではGraalをJITとして使うHotSpotモードとGraalをAOTとして使うnative-imageの両方が遅いという話です。 GraalVMは速い、と言われてますが、残念ながらHotSpotモードでC2より速い結果を手元では出せていません。 公式ブログでは1.7倍から5倍速くなると書いてますけど、手元では再現できてません。 Under the hood of GraalVM JIT optimizations - graalvm - Medium native-imageは速い、というのはよくありますが、これはネイティブ化によりJVMの起動時間や最適化の時間、最適化されずに動く時間が省略されるので起動が速い、とい

                                                                GraalVMはどれだけ遅いか - きしだのHatena
                                                              • JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog

                                                                その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D

                                                                  JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog
                                                                • Twitter4J

                                                                  Twitter4Jとは? Twitter4J は TwitterAPI の Java ラッパです。 Twitter4J を使うと XML や HTTP に詳しくなくても容易に Twitter とインタラクトするアプリケーションを書くことが出来ます。 システム要件 OS: Java をサポートする Windows または Unix 系 OS JVM: JDK1.4.2 以降 使い方 twitter4j-1.0.3.jar をクラスパスに通して、好きなメソッドを呼び出してください。 Java が分かっていれば JavaDoc を見るのが早いです。 twitter4j.Twitter クラスが最初に見るべきクラスです。 コードサンプル サンプルコードは src/twitter4j/examples/ 以下に配置されています。 それぞれ bin/className.cmd|sh で実行できます。

                                                                  • Groovy - Java用スクリプト言語

                                                                    以下の文章は、Object Computing, Inc(OCI) による「The Java News Brief」(2004年2月) に掲載された、Mark Volkmann による「Groovy - Scripting for Java」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。翻訳にあたっては、ma2さん、takaiさんから草稿に対してコメントをいただきました。ありがとうございます。 Groovy は日々発展中の新しい言語です。本記事の原文は2004年2月頃のものであり、当然その内容は Groovy の最新状況に追随しているわけではありません。翻訳時点での状況(1.0-beta4)をなるべく反映するようにはしましたが、正式版リリースまでにはさらに幾つもの変更が加えられることが予想されます。記事の記述と Groovy の現状とが異なる場合は、現状を優先して

                                                                    • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

                                                                      遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

                                                                      • JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌

                                                                        テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、

                                                                          JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌
                                                                        • ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介

                                                                          ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに Pub-Subとは 用語の定義 システム構成 Hello World おわりに 緊急告知 参考 はじめに こんにちは。システム統括本部プラットフォーム開発本部の栗原と申します。 2016年9月、Yahoo! Inc.からPulsarがOSSとして公開されました。Pulsarは高い配信信頼性/パフォーマンス/スケーラビリティを誇るPub-Subメッセージングシステムです。Yahoo! Inc.において開発され、これまでYahoo! Inc.のメール、ファイナンス、スポーツなど主要サービスにおいて、メッセージを高速かつ消失することなく配信するために利用されて来ました。 Pulsar開発者によって書かれた技術ブログ:Open-

                                                                            ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介
                                                                          • Java書けるんなら当然JavaScript呼び出せるよね? - プログラマーの脳みそ

                                                                            上司「Java書けるんなら当然JavaScript呼び出せるよね?さっさとやっておいて」 JavaからJavaScriptを呼び出す Java 6 からスクリプトAPIを通じてスクリプト言語を呼び出すことができる。Java標準でJavaScriptのエンジン Rhinoが組み込まれているので特にインストール作業やクラスパスを通すような作業なしにJavaScriptの呼び出しをすることができる。 import javax.script.*; public class Sample { public static void main(String[] args) throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEn

                                                                              Java書けるんなら当然JavaScript呼び出せるよね? - プログラマーの脳みそ
                                                                            • 10分で基礎をマスターするApache Camel - Qiita

                                                                              思ってた以上に前回の記事がアクセス多かったので、今回は使い方のほうをご紹介しようかと。 Apache Cmaelとは 前回の記事に書いた Apache Camel (Java)を使うと開発が楽になる7つの理由 ステップ0 > ガチのHelloWorld package test.hello; public class Hello { public static void main(String[] args) throws Exception { System.out.println("hello camel"); } }

                                                                                10分で基礎をマスターするApache Camel - Qiita
                                                                              • Java Programming Tipsクラスローダーを自作する方法

                                                                                【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu

                                                                                  Java Programming Tipsクラスローダーを自作する方法
                                                                                • マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch

                                                                                  前回 の記事では、関数型プログラミングの概念とJava8による実装例を示しました。しかしJava8のリリースは来年まで延期されてしまったため、今すぐ試してみるには少しハードルが高いかもしれません。 そこで今回は、Java7のJVM上で動作する代表的な関数型プログラミング言語、 Scala と Clojure を紹介します。 Scalaとは では、 Scala から紹介しましょう。 ScalaはJVM上で動作するプログラミング言語で、関数型の特徴とオブジェクト指向の特徴を合わせ持った、欲張りな言語です。 JVM上で動作するため、既存の膨大なJavaライブラリをそのまま流用でき、JVMのパフォーマンスチューニングノウハウを最大限活用することができます。またJavaよりも豊富な記述形式を持ちながらもJavaオブジェクトをそのまま扱え、強力な型推論を持った静的型付け言語でもあるため、定型的で冗