タグ

2014年4月23日のブックマーク (21件)

  • Gradle fails on jdk8 with java.lang.ClassNotFoundException: java.util.HashMap$Entry

  • 初学者向けの Scala Tips (1) - Option#map()を使おう - kmizuの日記

    唐突に始まったScala Tipsコーナー、初学者が陥りがちなScalaのコードパターンを例にして、より良い方法を解説していきます。第一回はOptionクラスのmap()メソッドを使おうというものです。知ってる人には今更ですが、Option#map(f)は、レシーバーの値がSome(v)の場合は、fにvを渡した結果のSome(f(v))が、Noneの場合はNoneが返ります。したがって、パターンマッチを使った以下のようなコードは val result = exp1 match { case Some(v1) => val vx = //expression using v1 Some(vx) case None => None } 常に以下のような形に書き換えることができます。 val result = exp1.map{v1 => val vx = //expression using

    初学者向けの Scala Tips (1) - Option#map()を使おう - kmizuの日記
  • ビザンチン将軍問題 - Wikipedia

    ビザンチン将軍問題(ビザンチンしょうぐんもんだい、英語: Byzantine Generals Problem)とは、相互に通信しあう何らかのオブジェクト群において、通信および個々のオブジェクトが故障または故意によって偽の情報を伝達する可能性がある場合に、全体として正しい合意を形成できるかを問う問題である[1]。フォールトトレラントシステムでの多数決の妥当性や分散コンピューティングの処理の妥当性に関わる問題と言え、二人の将軍問題を一般化したものと言える。 ビザンチン将軍問題に帰結される故障や障害をビザンチン故障(Byzantine Failure、あるいはビザンチン障害)と呼ぶ。また、ビザンチン将軍問題が発生しても全体として正しく動作するシステムをビザンチン・フォールトトレラント性(Byzantine Fault Tolerance)があるという。 問題[編集] ビザンチン将軍問題は、東ロ

    nobusue
    nobusue 2014/04/23
    Kafkaの耐障害性を調べていたら、Bitcoinのアルゴリズムに辿り着いた・・・
  • Charming Python: Functional programming in Python, Part 3

    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.

    Charming Python: Functional programming in Python, Part 3
  • GitHub - Giwi/camel-kafka: camel-kafka

  • GitHub - MeltwaterArchive/dropwizard-extra: A set of miscellaneous and common Dropwizard utilities

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - MeltwaterArchive/dropwizard-extra: A set of miscellaneous and common Dropwizard utilities
  • 例えば、Strutsを避ける

    はじめに 筆者は10年以上ウェブアプリケーション開発を主な業務とするJavaプログラマであったにも関わらず、Strutsについてはこれまでずっとわず嫌いでした。初期のStrutsは「XMLだらけで効率が悪そう」というイメージが強かったためです。最近はRuby on Rails等の影響を受けCoC(convention over configuration)を採り入れ、XML地獄もだいぶ解消したようです。 StrutsはJavaアプリケーションらしくない種類(任意のコード実行等)の脆弱性を連発することでも知られており、最近は我々の提供するSaaS型WAFサービス、Scutum(スキュータム)のお客様からも頻繁にStrutsについての問い合わせを受けるようになりました。また、去年見つかった任意のコード実行の脆弱性では、脆弱性の公表後すぐにPoCが出回り実際に攻撃が発生するなど、悪い意味で注目

    例えば、Strutsを避ける
  • 新規格MOM、AMQPやSTOMP対応、プロダクトの性能はJMSと同等以上

    複数のシステムを連携動作させる際、連携ソフトにはMOM(Message Oriented Middleware、メッセージ指向ミドルウエア)が使われることが多い。MOMはキューを介してメッセージやデータ交換を行う仕組みを提供するミドルウエアである。この仕組みには、相互のシステムが相手の動作状況に依存することなく処理を進められるというメリットがある。例えば、社データベースのマスターを全国の支店や店舗データベースに配布するケースで、配布先の一部システムがメンテナンスで停止していたとしても、社システムはデータ送信処理を終えて、別の処理を実施できる(図1)。 現状、UNIX/Linux系のサーバーにおいてMOMとしては、Java EE(Java Platform、 Enterprise Edition)の一部であるJMS(Java Message Service)と呼ばれるAPIを実装したプロ

    新規格MOM、AMQPやSTOMP対応、プロダクトの性能はJMSと同等以上
  • RabbitMQ 3.1の導入とCluster構成を検証する

    RabbitMQ 3.1の導入と冗長化の検証をしたのでメモ。 検証のための構成はフロントのAPサーバー、RabbitMQが動作するキューサーバー、ワーカーそれぞれ二台づつ。キューサーバーが片方死んでも全体が動作し続けられる事、両方がダウンしたとしてもデータは損失しない事が確認できれば良い。要するに単一障害点にならないようにRabbitMQを使いたい。 サーバーの準備 仮想マシン6台はVagrantを使えば一発で用意できる、メモリ16GB積んでてよかった。ホスト名を後でいじるとrabbitmqctlで停止・再起動がうまくいかなくなった。ホスト名周りはEC2で使う時に面倒な事になりそうだ。 各サーバーの /etc/hosts にrabbit1とrabbit2は追加しておく。 RabbitMQ 3.1 のインストール 起動確認 vagrant@rabbit1:~$ sudo rabbitmq-s

  • 超簡単インストールが可能なGitHubクローン「GitBucket」が凄い | ソフトアンテナ

    世の中にはたくさんのGitHubクローンが存在しますが、高機能でもインストールが面倒だと、なかなか手が出しづらいものがありますよね。実際に使えるものかどうか確認したいだけなのに、動かすだけで精一杯だとやる気が萎えてしまいます。 ということで、手間をかけずにGitHubクローンソフトを体験したい方にオススメしたいのが「GitBucket」です。 gitbucket.warをダウンロードしてjavaを使って実行するだけという超簡単インストールで即動かすことができます。 インストール方法 gitbucket.war(現段階で最新版は1.12)をダウンロードし、以下のようにjavaを使って実行します。MacJava6でも問題なく動きました。 java -jar gitbucket.war 正常に起動したのを確認したら、ブラウザから「http://localhost:8080」へアクセスします。

    超簡単インストールが可能なGitHubクローン「GitBucket」が凄い | ソフトアンテナ
  • 2014-04-21

    エンジニアの世界には「35歳定年説」というものがあります。 この説の理由として昔からよく言われているのが、体力的な衰えによって若い頃のような働き方ができなくなったり、新しい技術を身に着けるのに時間がかかるようになるというものです。また、従来日のソフトウェア産業の中心であったSI業界の、エンジニアを1人いくらで売るビジネスモデルでは給料の上昇と共に部下のマネジメントや営業的な立ち位置で仕事をしないとペイしなくなってしまうということもあるでしょう。 僕は前職はSIerに勤務しており、今年でちょうど35歳になるのですが、実際に「35歳定年説」の存在を実感したのは能力的な面ではなく、後者のSIerでのキャリアパスが原因でした。 普通の会社で順調にキャリアを重ねた場合、このくらいの年齢になるとどうしてもマネージャとしての仕事を求められるようになります。しかしSIerでのマネージャの仕事とはどういう

    2014-04-21
  • Go 1.3 Release Notes - The Go Programming Language

    Introduction to Go 1.3 The latest Go release, version 1.3, arrives six months after 1.2, and contains no language changes. It focuses primarily on implementation work, providing precise garbage collection, a major refactoring of the compiler toolchain that results in faster builds, especially for large projects, significant performance improvements across the board, and support for DragonFly BSD,

    Go 1.3 Release Notes - The Go Programming Language
  • 無料でインストール&ログイン不要で使えるPC画面共有ツール「sgSCREEN」

    世の中には便利なソフトウェアがたくさん存在しますが、その多くは使用するまでにインストールやログインの作業が必要になってきます。最近はアカウントを作成する代わりに各種SNSアカウントでログインさせようとするサービスも少なくありませんが、それらを使う度に自分のSNSアカウントで無駄な投稿が行われたりして釈然としなかったりします。こういった面倒な作業なしで即使用可能になるのが「sgSCREEN」で、ソフトウェアをインストールしたり使用する度にログインしたりする必要は一切なく、複数台のPC画面を共有することが可能です。 sgSCREEN : Simple screen sharing https://screen.sonicgarden.jp/ 実際にsgSCREENを使ってPC画面を共有すると以下のようになります。 「sgSCREEN」を使ってPC画面を共有するとこんな感じ - YouTube

    無料でインストール&ログイン不要で使えるPC画面共有ツール「sgSCREEN」
  • NTTPCがエントリー型広域イーサネットの新サービス、低遅延・広帯域を実現

    NTTPCコミュニケーションズ(NTTPC)は2014年4月22日、アクセス回線にNTT東日NTT西日の「フレッツ 光ネクスト」(NGN)を利用した広域イーサネットサービス「Master'sONE ブロードバンド・イーサ ハイグレード」を発表した。同日に申し込み受付を開始し、5月30日に提供を始める。このサービスでは、利用企業の拠点間をレイヤー2で接続する。IPアドレスを意識せずに使えるため、オンプレミスからクラウドへの移行などに向くとする。 ブロードバンド・イーサ ハイグレードは、NGN上で提供されるIPv6接続機能を利用する。ただしIPv6で通信するのはNGN上であり、利用企業の拠点のLANではIPv4を使える。拠点のONUルーターの間にレンタル品のコンバーターを設置。ここで、WAN側に送信したイーサネットフレームをIPv6パケットでカプセリングして、通信先の拠点へ向けて送り出

    NTTPCがエントリー型広域イーサネットの新サービス、低遅延・広帯域を実現
  • Windows上で手軽に起動できるAndroid OS「Windroy」 - 窓の杜

    ニュース Windows上で手軽に起動できるAndroid OS「Windroy」 Androidのバージョンは4.0.3、アプリのインストールも可能 (2014/4/22 18:10) 「Windroy」 「Windroy」は、Windows上のアプリケーションとして動作するAndroid OS。Windows Vista/7/8に対応するフリーソフトで、現在作者のWebサイトからダウンロードできる。 面倒な設定などはなく、インストールするだけでいきなり起動できるのが特長。起動するAndroidのバージョンは4.0.3で、タブレット用のユーザーインターフェイスで表示される。マウスカーソルは指型に変化し、マウスの左ボタンを押すと画面をタッチしたことになる仕組み。 仮想の無線LAN“Windroy”を有効にすることで、PCで利用しているネット接続経由でインターネットを利用できる。また、And

    Windows上で手軽に起動できるAndroid OS「Windroy」 - 窓の杜
    nobusue
    nobusue 2014/04/23
    x86版かな
  • GitBook·Markdownで書いて電子書籍/HTMLを生成 MOONGIFT

    電子書籍を作るのは大変というイメージがあります。ePub自体は単なるZipファイルですが、その内容がXML/XHTMLなのが若干面倒さを感じさせます。専用のエディタもありますが、書き慣れたエディタの方が筆も進むというものです。 そんな訳で使ってみたいのがGitBookです。Markdownで書いて、ePub/PDFに変換するGit/GitHub連動型電子書籍作成ツールです。 GitBookの使い方 早速サンプルの電子書籍を見てみましょう。HTMLにも変換できます。 JavaScriptの勉強です。左側に目次、右側にコンテンツという形式になります。 ページ切り替えは矢印キーでもできます。ページの内容が1画面に収まっているのがいい感じです。 目次を隠すことが出来ます。 検索はインタラクティブにできます。 JavaScriptをWeb上で実行できます。今後、RubyPythonにも対応させる予

    GitBook·Markdownで書いて電子書籍/HTMLを生成 MOONGIFT
  • 5つの行動特性で「10倍成果を出す人」に近づく | ライフハッカー・ジャパン

    インバスケットとは、架空の人物になりきって、制限時間内に多くの案件を処理していくというビジネスゲーム。『同じ条件、同じ時間で 10倍仕事ができる人、10分の1しかできない人』(鳥原隆志著、大和書房)の著者は、このインバスケットを用いた同名の能力開発ツールを研究しているのだそうです。つまり書が目指しているのは、その方法論に基づいて、「成果を出す人の行動特性」を身につけること。 そんな性格上、各項目ごとに「現実にありそうなストーリー」が示され、その内容に沿って説明がなされています。ただストーリーの部分をここでご紹介するのは難しいですし、読む楽しみを奪うことにもなってしまうので、第2章「10倍成果を出す人、10分の1しか出せない人」の要点をまとめてみます。 1.「太いところ」を狙って働く 商売を考えるとき、「薄利多売」を意識する人は成果が上がりにくい。一方で、「どうすれば大きな売上を挙げられる

    5つの行動特性で「10倍成果を出す人」に近づく | ライフハッカー・ジャパン
  • 1万時間勉強するより効果的な学習方法とは?

    By Hartwig HKD 1つの物事を学習・習得するには、一心に同じ内容を反復することでしっかりと覚えられると考えられていますが、同じことを1万時間勉強するような一点集中型の学習方法よりも、さらに短時間でしっかりと覚えられる効果的な学習方法が、研究によって明らかになりました。 Ditch the 10,000 hour rule! Why Malcolm Gladwell’s famous advice falls short - Salon.com http://www.salon.com/2014/04/20/ditch_the_10000_hour_rule_why_malcolm_gladwells_famous_advice_falls_short/ ◆集中型学習 By Svein Halvor Halvorsen ほとんどの人は反復に次ぐ反復が有効な学習手段であると信頼を置

    1万時間勉強するより効果的な学習方法とは?
  • 「機動戦士ガンダムUC」エピソード1~6、地上波で放送決定!

    アニメ「機動戦士ガンダムUC(ユニコーン)」の最終章となるエピソード7「虹の彼方に」が5月17日に公開されることを記念して、これまでに公開されたエピソード1~6の6作品をテレビ地上波で放送することが発表されました。 4月25日に放送局や日時を公式サイトで発表する予定。同日から最新にして最終章となるエピソード7「虹の彼方に」の約7分間の冒頭映像も同サイトなどで公開を予定しています。 主人公のバナージ・リンクスが一角のガンダム「ユニコーンガンダム」と出会い、ジオンと連邦の思惑に左右されながらも、1人の男として成長していく姿をおさらいできるチャンスですよ。 (C)創通・サンライズ advertisement 関連記事 3倍速そう:特急ラピートがネオ・ジオン仕様で運行 南海電気鉄道が「機動戦士ガンダムUC」とコラボしてなんか速くて強そう 登場人物3人の専用席も用意。 「ガンダムビルドファイターズ

    「機動戦士ガンダムUC」エピソード1~6、地上波で放送決定!
  • クラウド プリントから移行する - Chrome Enterprise and Education ヘルプ

    2021 年 1 月をもって、Google クラウド プリントのサポートを終了いたしました。 どのオペレーティング システムでも、Google クラウド プリントを使用して印刷することはできません。代わりの印刷ソリューションに印刷サービスを移行することをおすすめします。 おすすめの印刷方法 Chrome OS デバイスの場合: CUPS 印刷 その他のデバイスや複数の OS を搭載したデバイスの場合: それぞれのプラットフォームの印刷インフラストラクチャを使用するか、印刷パートナーのサービスを利用することをおすすめします。 Chrome デバイスでの CUPS 印刷 Chrome OS デバイスの場合は Google 管理コンソールを使用して、ローカル プリンタやネットワーク プリンタで印刷するように CUPS を設定できます。ローカル プリンタやネットワーク プリンタを管理するをご覧くだ

  • JasperReportsで帳票出力してみた | DevelopersIO

    渡辺です。 現在開発しているシステムで帳票出力を実装したいなと思いまして、Javaの帳票系ライブラリを調べてみました。ここ5-6年はエンプラ系のシステムからは比較的に遠い場所にいたのですが、フリーで使えるライブラリとなるとPOIでExcel帳票にするか、JasperReportsを使うかの2択であることは変わっていないようです。有償のツールを見ると、帳票自体の機能よりもデータ分析などに価値付けがシフトしているようですね。 現在担当しているシステムは有償のライブラリを使うほど帳票が重要なシステムではありません。JasperReportsは7-8年ほど前に業務で使ったことがあり、現在もメンテナンスされているようだったので、JasperReportsを試してみました。 JasperReportsとは? JasperReportsは、Jaspersoft社が開発している帳票用のライブラリです。正確

    JasperReportsで帳票出力してみた | DevelopersIO