並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 698件

新着順 人気順

BigDecimalの検索結果1 - 40 件 / 698件

  • すべてのプログラマが読むべき記事10選 | POSTD

    Javaプログラマやソフトウェア開発者として、私は「プログラマが知っておくべき…」というタイトルが付く記事から、多くのことを学びました。そういった記事は、特定のトピックに関する有益かつ詳細な情報を数多く与えてくれましたが、探し出すのが非常に困難でもあったのです。知識を探求する中でとても役に立つ記事を見つけたら、参考として何度も読み返せるようにブックマークしてきました。こういった記事を読むことは、どのプログラマにとっても有益になると思うので、私が集めた「 すべてのプログラマが知っておくべきこと 」を皆さんと共有する為にこれを書きました。 ここで紹介する記事は私が個人的にブックマークしたものです。「メモリ」、「Unicode」、「浮動小数点演算」、「ネットワーキング」、「オブジェクト指向設計」、「時刻」、「URLエンコード」、「文字列」などといった代表的なトピックについて載っています。このリス

      すべてのプログラマが読むべき記事10選 | POSTD
    • Javaプログラマが知るべき9のこと - @katzchang.contexts

      はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

        Javaプログラマが知るべき9のこと - @katzchang.contexts
      • Value Objectについて整理しよう - Software Transactional Memo

        Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

          Value Objectについて整理しよう - Software Transactional Memo
        • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

          Java: The Good Partsの本のタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

            業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
          • バッチ処理の一部で 30 分以上かかっていた処理を 14 秒で終わるようにした話 - @watson1978 の日記

            Ubiregi Advent Calendar 2018 の 18 日目です。 ユビレジではたくさんのお客様の大量の POS データをお預かりしており、様々なバッチ処理も実行されています。今回は特定のケースでバッチ処理の一部が 30 分以上かかっていた処理を 14 秒で終わるようにした話について書きたいと思います。前回の Ruby 2.5 の SEGV と闘った話 - @watson1978 の日記 に引き続き DTrace を使った話になります。 はじめに ユビレジでは CSV ファイルでお客様が特定のデータをダウンロードしたりアップロードできる機能があります。CSV ファイルにエクスポートしたり、CSV ファイルから DB に取り込む処理を Worker を起動してバッチ処理しています。 大量のデータを保有しているアカウントと同量のデータを用意して手元の環境で試したところ時間がかかるこ

              バッチ処理の一部で 30 分以上かかっていた処理を 14 秒で終わるようにした話 - @watson1978 の日記
            • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

              プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断の食い違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

                不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
              • ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える

                ドメイン駆動設計との出会い 10年前に、エヴァンスのドメイン駆動設計を初めて読んだ時は、書いてある内容がほとんど理解できなかった。 あまり、面白いとも思わなかった。 当時は、現場でバグだらけのコードと格闘していた。障害が報告されるたびに、リファクタリング本を参考に、該当個所の長いメソッドや大きなクラスを片端からリファクタリング。その結果、コードがわかりやすくなり、やっかいなバグが単純な修正で解消できてしまうことの効果に驚き、設計の重要性を再認識していた。 それ以前は、UNIXとC言語、OracleとPL/SQLという、オブジェクト指向ではない世界で技術を身に着けてきた。 どちらかというとオブジェクト指向には、ネガティブな印象を持っていた。現場では役に立たんだろうと。 バグとの格闘の中で、リファクタリング(設計改善)の威力を肌で感じ、その考え方とやり方がオブジェクト指向に由来するということを

                  ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える
                • 「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)

                  「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは? プログラミング言語Scalaの設計思想にあるという、オブジェクト指向と関数型プログラミングの融合(fusion)という理想と、それを掲げつつも現実主義的な点について、水島宏太(kmizu)さんが解説します。 kmizuと申します。株式会社ドワンゴでエンジニアを務めています。 最近では、毎年の新卒エンジニア向けScala研修の講師や、N予備校 プログラミングコースの一部教材のレビューといった教育、および研究等の面でも活動しています。 ドワンゴでは、私が入社した時点でScalaがかなり採用されており、社内にScalaをより深く広めることも職務の一環でした。私は2007年くらいの、Scalaがまだほとんど注目されていなかった頃からScalaを触り始めており、その縁で新卒エンジニア向けのScala研修資料作

                    「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)
                  • 読みやすいコード(僕にとって) - Mitsuyuki.Shiiba

                    最近気づいたことがある。それは、僕はみんなみたいに複雑なことが理解できない、ってこと。 話をしてても「ごめんなさい。いまのわかんなかった。もう一回教えて欲しい。」とかよくあるし。ドキュメントも、ちょっと複雑なことが書いてあると、全然頭に入ってこない。 色んなルールがドキュメントに書いてあって、それをちゃんと守りながら開発してる人たちとか見てると、みんなすごいなぁって思うのであった。 なんだろうなぁ。こう・・・色んな想像が始まってしまって、考えが落ち着かないんよね。 そんな僕なのだけど、ここ数年はありがたいことに色んなコードを読む機会がある。読みやすいコードもあれば、パズルみたいに複雑なものもあって。そんな中で、たぶん、僕にとって読みやすいコード、というのは普通の人にとってはとても読みやすいコードなのかなぁって思って。書いてみる。 JavaでWebのアプリを開発してる。基盤とかフレームワーク

                      読みやすいコード(僕にとって) - Mitsuyuki.Shiiba
                    • PHPとRubyの文法面での比較

                      PHPとRubyの文法面および主要な機能にのみ注目して(ラフな)比較を行った。そのため、各種関数などにはほとんど触れていない。 式と文 やや便宜的な説明になるがPHPの式および文の特徴を以下に示す。 なんらかの記述を式と呼ぶ 式は値を持つことも持たないこともある 関数は必ず返り値を持つが、echoなど一見関数に見えるものの中には値を返さないものもある 文は式を;で終えたもの Rubyの式および文の特徴を以下に示す。 なんらかの記述を式と呼ぶ 厳密にいうと式は値を持つことも持たないこともあるが、Rubyではほとんどすべての記述が値を持つと考えてよい ifやfor、メソッド定義も値を返す 文は式からなり終端を明示するために;を付けてもよい 通常はつけない 複数の文字を一行に書くときには必要 ブロック 「ブロック」といったときPHPとRubyで意味するところはかなり違う。 まずPHPでいうブロッ

                      • '10年代のRubyコア用語集

                        IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日本史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも

                          '10年代のRubyコア用語集
                        • ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)

                          ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう ドメイン駆動設計(DDD)が近年関心を集めていますが、同時にこの設計思想は難しい、わかりにくい、という見方もあります。さまざまなプロジェクトでドメイン駆動設計を実践してきたかとじゅんさんが、サンプル課題をもとに、ユースケース分析、モデル設計といった基礎を解説します。 はじめまして、Chatworkでテックリードをしている、かとじゅん( @j5ik2o )です。 僕は2010年ころより、大小さまざまなプロジェクトでドメイン駆動設計、いわゆるDDD(Domain Driven Design)を導入した開発を実践してきました。ドメイン駆動設計を主題としたワークショップなども主宰していますが、最近では加速度的にこの設計思想への関心が高まっていると感じます。本稿では、なにかと分かりにくいドメイン駆動設計の基本を、架空の

                            ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)
                          • じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル

                            先日こういうツイートが流れてきた。 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。— 遊撃部長F/S&RWAs (@fstora) 2024年6月6日 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。 普段我々がゴリゴリ馬車馬のように使っているソフトウェアでよく利用されている浮動小数点型、すなわちfloatやdoubleなどは特定の算術に弱いことが知られている。というかもうこの手の話題はあまりに拡散されてしまったので、なぜかネット民はみんな知っている基礎教養、三毛別羆事件とかデーモンコアみたいな感じになっている。 ちなみにこれはCOBOLかそうではないか、という軸が問題になっ

                              じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
                            • 「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート

                              Firebaseについて、事前知識 Firebaseとは、以下のような機能群を「Serverless」の文脈でバンドルしたものである。「Serverless」として、これらの統合管理コンソールの出来栄えが秀逸。 - Firestore ... Document-oriented KVS - Cloud Functions ... AWSのLambda - Cloud Storage ... AWSのS3 - Hosting ... Web Assetsのデプロイ先の提供、CDN展開サポート - Authentication ... ユーザー管理・統合認証サービスの提供 - Cloud Messaging ... iOS/Android/Web(JS)クライアントアプリへの統合プッシュ通知サービス - その他 いうまでもなく「Serverless」とは「サーバー運用・管理レス」の意味。まさに

                                「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート
                              • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                                技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                                  プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                                • 株式会社 Speee に Ruby コミッターとして入社しました - Speee DEVELOPER BLOG

                                  こんにちは。開発部 R&D グループの村田 (mrkn)です。 2/1 より株式会社 Speee で働いております。所属部門の名称に R&D とあるように、役割は研究開発です。特にオープンソースソフトウェアの開発、データ活用の取り組み、社の技術レベル向上のための取り組みを担当します。後者においては、エンジニアの是澤、顧問の井原、藤とも協力して進めて参ります。 なぜ Speee に入社したか 私が Speee への入社を決めた理由は大きく3つあります。 1つは、Ruby のエコシステムの発展に貢献するための活動が主務になるポジションを用意していただけたこと、そして、その活動が Speee の技術にダイレクトに良い影響を与えられることです。 私はこれまで CRuby のコミッターとして bigdecimal ライブラリのメンテナンスなどに従事してきました。加えて、昨年から取り組み始めたデータサ

                                    株式会社 Speee に Ruby コミッターとして入社しました - Speee DEVELOPER BLOG
                                  • きしだのHatena

                                    LINEヤフーから日本語CLIPが出ていたので、どうやって使うんだろうと試してたら、なんかめちゃくちゃ便利な画像検索ができてしまいました。 clip-japanese-basic LINEヤフーの日本語CLIP、clip-japanese-baseはこちらで紹介されています。 高性能な日本語マルチモーダル基盤モデル「clip-japanese-base」を公開しました HuggingFaceのモデルはこちら。 https://huggingface.co/line-corporation/clip-japanese-base CLIPとは? ところでCLIPとは、となりますけど、OpenAIが公開してる、言語と画像を扱える機械学習モデルです。Contrastive Language-Image Pre-Trainingの略らしい。 https://openai.com/index/clip

                                      きしだのHatena
                                    • はてなスターランキング 2015 - ゆとりずむ

                                      こんにちは、らくからちゃです。 なんやかんやで今年も今日で最後ですね。なんだか年の瀬が近づいてくると、色々なランキング記事が出てきますね! 10位  簿記の基礎と基本について10分くらいで分かるようにまとめてみる 68位 99%減資とは何か? - ゆとりずむ 70位 あるシステム屋さんが平均残業時間一桁を実現した方法 106位 IT屋必見! 『コマンドプロンプト』のストレスが少し減る小技集 121位 はてなブログでの収入が10万円を超えたので色々とまとめてみるよ 155位 読みやすくて分かりやすい会計入門書三選(簿記・財務会計・管理会計) を頂きました!ありしゃっす! このはてなブログのランキングって、『はてブのついた数』で行われています。はてブがたくさんついた記事=良い記事という訳ではないと思いますが、はてブを沢山集める記事を眺めていると、 オピニオン系 インフォメーション系 の二種類に

                                        はてなスターランキング 2015 - ゆとりずむ
                                      • Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena

                                        Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText

                                          Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena
                                        • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

                                          ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

                                            Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
                                          • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

                                            この記事はRust Advent Calendar 2021の12/24日の記事です。 仕事ではScalaを使っていますが、趣味のプログラミングではRustで書いたものが増えました。Rustは楽しいですね。 今回は、Rustでオブジェクト指向プログラミングに関数型デザインを導入することで、スケーラブルなプログラムを書く方法(スケーラブル・プログラミング)について書きます。 「スケーラブル・プログラミング」といえばScalaです。Scalaの「スケーラブル」という言葉には「小さいプログラムも大規模なプログラムも同じ概念で記述できるべきである」という、柔軟性や拡張性を重視した設計の意図が込められています。それを実現するために必要なものは、オブジェクト指向と関数型を組み合わせたマルチパラダイムな設計です。 Scalaはマルチパラダイム言語の先駆者(今も先頭を走り続けています)ですが、他の言語にも

                                              Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                            • 小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない - かとじゅんの技術日誌

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

                                                小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない - かとじゅんの技術日誌
                                              • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                                                技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                                                  プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                                                • 最近のruby-core (2016年2月) - Money Forward Developers Blog

                                                  こんにちは。卜部です。 ruby-coreというRuby本体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。 [#12039] Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite? Float と BigDecimal には #infinite? メソッドがあるのに Fixnum と Bignum には存在しないので困る/欲しい、という提案です。これはあると便利ですね。 [#12040][Win32] File.stat fails on a mounted volume Windows

                                                    最近のruby-core (2016年2月) - Money Forward Developers Blog
                                                  • 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
                                                    • Blog by Sadayuki Furuhashi

                                                      MessagePackフォーマット仕様のPull Request #209をマージし、MessagePackにTimestamp型を追加しました。 ※この記事の英語版は XXX にあります(翻訳中) Extension型の型コード -1 として定義されているため、後方互換性が維持されています。つまり、既にExtension型に対応しているデシリアライザであれば、Timestamp型を使用して作成されたデータを、Timestamp型に対応していない古いデシリアライズで読み出すことができます。 新しいTimestamp型には timestamp 32、timestamp 64、timestamp 96 の3つのフォーマットがあり、よく使う値をより少ないバイト数で保存できるようになっています。例えば、1970年〜2106年までの時刻で、秒までの精度しか持たない時刻であれば、合計6バイトで保存でき

                                                        Blog by Sadayuki Furuhashi
                                                      • 浮動小数点って何? - Qiita

                                                        件のまとめでは「今の時代になって…」という意見も出てたりしますが、浮動小数点が何か知ってる人にはアタリマエの知識であっても、そうでないと単なる小数データとしか見えなくて、下手すると「計算でズレが出るなんてケシカラン!」という印象を抱くことも少なくないようです。 …本来であれば、(大抵の言語に標準で備わっているデータの種類なので)入門書等で知識を身に着けておくものかと思いますが、ちゃんと説明があるか?というとあまり無いようにも思いますので、ざっくり記事にすることにしました。 固定小数点と浮動小数点 一言で言えば、浮動小数点というのは一般の人が想像するような小数ではなく、計算で誤差が発生することを前提とした数値データのことです。 逆に言えば、浮動小数点を使う時は常に近似計算であることを意識し、結果の精度を考えろということでもあります。 それだけだと、何でそんなイケてないことするの? と疑問に思

                                                          浮動小数点って何? - Qiita
                                                        • QuickJS Javascript Engine

                                                          News 2024-01-13: New release (Changelog) 2023-12-09: New release (Changelog) Introduction QuickJS is a small and embeddable Javascript engine. It supports the ES2023 specification including modules, asynchronous generators, proxies and BigInt. It optionally supports mathematical extensions such as big decimal floating point numbers (BigDecimal), big binary floating point numbers (BigFloat) and ope

                                                          • JRuby - Home

                                                            JRuby JRuby is an 100% pure-Java implementation of the Ruby programming language. Features A 1.8.6 compatible Ruby interpreter written in 100% pure Java Most builtin Ruby classes provided Support for interacting with and defining java classes from within ruby Bean Scripting Framework (BSF) support Distributed under a tri-license (CPL/GPL/LGPL) The JRuby community is pleased to announce the release

                                                            • Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog

                                                              ネタ元 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 結論から先に言うと、3と10以外は結構直接的にscalaで解決できるというか、javaに比べてscalaの方が便利だとおもいます。*1 あと、元ネタのblogの人はgroovy詳しいみたいですが・・・ groovyとscala比べるとgroovyの方が手軽で便利だったり、scalaのほうが型安全だったり*2いろいろあるかもしれませんが、groovyあまり詳しくないので、その辺の言及というか、比較はやめておきます。*3 1.標準APIのチェック例外が扱いにくい チェック例外ってなにそれおいしいの?(・ω・) java Field field; try { field = getClass().getField("testField"); Object value = field.get(this); }

                                                                Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog
                                                              • Rails ユーザー必見!Rais 5の注目新機能と変更点まとめ | Wantedly Engineer Blog

                                                                こんにちは。企業や個人が使っているツールを紹介しあうサービスToolsの開発をしていますWebエンジニアの永田です。 WantedlyではWebアプリケーションの開発にRailsを使っていています。Railsはそれ自体の開発速度が速く、新しい機能や変更をキャッチアップしてアップグレードするのも一苦労です。と同時に新しい機能や改善の恩恵を受けるのもまた使っていて嬉しくもあります。 さて、Rails 5はちょうど一ヶ月前にリリースされましたが、もうプロダクションで使っているよという方はいらっしゃいますでしょうか?実際のところ、まだまだ多くはないのかなと思っています。Wantedlyでは現在Rails 4.1を使っており、まだRails 5ではありません。しかし、Railsのレールを走り続けるには継続的なアップグレードは重要です。その準備として今回はRails 5でチェックすべき新機能や変更点を

                                                                  Rails ユーザー必見!Rais 5の注目新機能と変更点まとめ | Wantedly Engineer Blog
                                                                • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                                                  テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                                                    プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                                                  • OS X 10.11 El Capitanにアップデート: やったこととか気になってることとか

                                                                    B! 94 0 0 0 今日、OS Xの新しいバージョン10.11 El Capitanが正式リリースされたので 手元のMacに入れてみました。 OS X 10.10 El Capitan El Capitanとは? Split View Mission Control カーソルを目立たせよう! フォントとテキスト入力 Spotlight メール 写真 コンテキストメニューで名前を変更 メニューバーを自動的に非表示にする Finderでファイルパスをコピー 生まれ変わったディスクユーティリティ System Integrity Protection (SIP), Rootless brew doctor bundlerが使えない いくつかまだ使えないアプリケーション アイコンの変更 変なキーリピートがかかる? OS X El Capitanのインストラーをダウンロードだけしてインストールし

                                                                      OS X 10.11 El Capitanにアップデート: やったこととか気になってることとか
                                                                    • Scala Standard Library — _root_

                                                                      This is the documentation for the Scala standard library. Package structure The scala package contains core types like Int, Float, Array or Option which are accessible in all Scala compilation units without explicit qualification or imports. Notable packages include: scala.collection and its sub-packages contain Scala's collections framework scala.collection.immutable - Immutable, sequential data-

                                                                      • Ruby on Rails 5.0 リリースノート - Railsガイド

                                                                        Rails 5.0の注目ポイント Action Cable Rails API Active Record属性API テストランナー Rakeコマンドをrailsコマンドに統一 Sprockets 3 Turbolinks 5 Ruby 2.2.2以上が必須 本リリースノートでは、主要な変更についてのみ説明します。多数のバグ修正および変更点については、GitHubのRailsリポジトリにあるコミットリストのchangelogを参照してください。 1 Rails 5.0へのアップグレード 既存のアプリケーションをアップグレードするのであれば、その前に質のよいテストカバレッジを用意するのはよい考えです。アプリケーションがRails 4.2までアップグレードされていない場合は先にそれを完了し、アプリケーションが正常に動作することを十分確認してからRails 5.0にアップデートしてください。アッ

                                                                          Ruby on Rails 5.0 リリースノート - Railsガイド
                                                                        • 『現場で役立つシステム設計の原則』 増田亨さん を読んだ。「データしか持たないデータクラスは作らない!」 - エンジニア的なネタを毎週書くブログ

                                                                          こちらの本を読んででのレポートです。現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法【電子書籍】[ 増田亨 ] 価格:3175円 (2017/11/4時点) 複雑な業務ロジックは「適切な境界」で分離されていれば理解しやすくなる! …が最近の自分の持論なのですが、じゃあ「適切な境界」って何よ? …と言われると、うまく言語化説明できない。 そんな私にたくさんヒントを与えてくれた本でした。 なかなか消化しきれていないところもあるのですが、腹落ちさせるためにもブログに落としてみます。 このブログに書いたことをまとめると・・・ 修正が大変なのはロジックが分散しているから データとロジックをひとつのクラスにまとめるとロジックが分散しない! じゃあWeb APIでサービス間連携するときも、データを持つほうにロジックを寄せるべき… と思ったら、そうでもない? この本のすごい

                                                                            『現場で役立つシステム設計の原則』 増田亨さん を読んだ。「データしか持たないデータクラスは作らない!」 - エンジニア的なネタを毎週書くブログ
                                                                          • コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - かとじゅんの技術日誌

                                                                            先日、DevLOVEで発表した「コードで学ぶドメイン駆動設計入門」ですが、入門としながらも難しかったかもしれません。モデリングの話は難しい方の話題なので仕方ないのですが、できるだけわかりやすく補足するブログを書いてみたいと思います。 まず、レイヤードアーキテクチャの話ですが、こちらのスライドを参照してください。 DEVLOVE HangarFlight で話したスライド&ソースコード - じゅんいち☆かとうの技術日誌 平たく言うと、そのアプリケーションが解決する問題の領域がドメインです。ドメインとそれ以外のものをごっちゃにしないようにしたのが、ドメイン駆動設計だと考えればよいと思います。 一般的に業務システムでは、対象業務がドメインに成り得ますので、ドメインは業務に準えて語られることが多いと思います。ドメインに登場する概念をユビキタス言語*1として定義し、モデルに落としこむというのが設計の

                                                                              コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - かとじゅんの技術日誌
                                                                            • Ruby on Rails 5.0 Release Notes — Ruby on Rails Guides

                                                                              Highlights in Rails 5.0: Action Cable Rails API Active Record Attributes API Test Runner Exclusive use of rails CLI over Rake Sprockets 3 Turbolinks 5 Ruby 2.2.2+ required These release notes cover only the major changes. To learn about various bug fixes and changes, please refer to the changelogs or check out the list of commits in the main Rails repository on GitHub. 1 Upgrading to Rails 5.0If y

                                                                                Ruby on Rails 5.0 Release Notes — Ruby on Rails Guides
                                                                              • xUTPの著者から教えてもらった「テストのクラフトマンシップ」 - PoohSunny's blog

                                                                                はじめに これはRecruit Engineers Advent Calendar 2016の11日目の記事ですが遅れての投稿です。すみません。 先日、xUTPの著者のセッションに行って聞いたきたので、その内容をまとめたものです。 謝辞と注意点 この記事を書くに際し、セッションのスピーカーであるGerard Meszarosさんに、特別にスライド内のコードの利用を認めていただきました*1。この場を借りて感謝いたします。Thank you for giving me the right to use code sample in Agile Singapore 2016 presentation, Mr. Meszaros! 上記の経緯から、以下に出てくるコードのライセンスはCopyright 2016 Gerard Meszarosです。ご注意ください。 Unit Test Craftma

                                                                                  xUTPの著者から教えてもらった「テストのクラフトマンシップ」 - PoohSunny's blog
                                                                                • どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita

                                                                                  テレビで素敵なサイトが紹介されていたのでアクセスしてみたら、なかなかレスポンスが返ってこなかったりステータスコード503になったりすることってありますよね。 テレビで紹介されたことで多くの人がサイトにアクセスした結果、そのサービスのキャパシティを超えてしまったわけです。 どうなるとキャパシティを超えるのでしょうか? また、いつからレスポンスが遅くなるのでしょう。 効果的にリクエストをさばくにはどうしたらいいのでしょう。 Photo by Roman Arkhipov on Unsplash 待ち行列理論を使って理想的なモデルからこれらを考えてみたいと思います。 待ち行列理論はコンピュータサイエンスをやってきた人はみんな触れたことがあるとは思いますが、大石の場合はそれが何十年も(!)前のことなのであらためて思い出してみました。 モデル Railsでサービスを提供するとき、rackサーバとして

                                                                                    どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita