みたいなのが挙げられます。これが話題になった時にSNSで見かける言説が「十進小数 (decimal) 型ならこういう問題はない」です。 ですが、decimal型は十進小数を正確に表現できるという話でしかなく、全ての実数を正確に表現できるわけではありません。例えば、 1.0 / 3.0 * 3.0 の計算を考えてみましょう。数学的には、これはちょうど 1.0 になるはずです。 C#の場合 C#には標準の decimal 型があります。これで 1.0 / 3.0 * 3.0 を計算してみましょう。
![decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/5c44cbdda4abdc1b8c7bd9738b96be9d301be40c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9ZGVjaW1hbCVFNSU5RSU4QiVFRiVCQyU4OCVFNSU4RCU4MSVFOSU4MCVCMiVFNSVCMCU4RiVFNiU5NSVCMCVFRiVCQyU4OSVFMyU4MSVBQiVFNSVBNCVBMiVFMyU4MiU5MiVFOCVBNiU4QiVFMyU4MSVBNiVFMyU4MSU4NCVFMyU4MiU4QiVFOCVCQyVBOSVFMyU4MSU4QyVFNSVBNCU5QSVFMyU4MSU5OSVFMyU4MSU4RSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MjhkZjNkYWQ5MjBiMGM5ZjliMDBkNzUyNzNmYzZhODk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtb2RfcG9wcG8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTBmMzQxNGY4MWJmMmNiODhlNWE0YWRmOWUzZGNkNTA4%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D0e68a2ec2b37a33e0fe089ae8df08dd1)
追記:続きを書きました。 はじめに 先日以下の記事が投稿され、その斬新な考え方に個人的ながら衝撃を受けました。 内容をざっくり言うと、ニューラルネットワークの学習を現在の主流であるBP法(誤差逆伝播法)ではなく、ED法(誤差拡散法)という新しい学習手法を提案しているものです。 もし記事の内容が本当ならニューラルネットワークの学習がO(1)でできてしまう事になり、まさしく革命が起きてしまいます。 (結論からいうと速度面はそこまででもなかったです(それでも早くなる可能性あり)) (ただこの新手法のポテンシャルは革命を起こす可能性は秘めているといっても過言ではありません) ED法に関してネットを探すとインターネットアーカイブに情報が少し残っていました。 このページですがED法のサンプルプログラム(C言語)が残っており、このサンプルプログラムをベースにpythonで書き起こしたものが本記事となりま
本記事は4月3日21:30(JST)時点で判明している事実をまとめたものです。誤りがあればコメントでお知らせください。 本記事には誤りが含まれている可能性があります。 新しい情報があれば随時更新します。 ** 4/2 18:30 Q&Aを追加しました。 4/2 11:30 実際にバックドアが存在する環境を作成し、攻撃可能なこと、出力されるログ等について追記しました。また、攻撃可能な人物は秘密鍵を持っている必要があることを追記しました。** ところどころに考察を記載しています。 事実は~です。~であると断定し、考察、推測、未確定情報は考えられる、可能性があるなどの表現としています。 またpiyokango氏のまとめ、JPCERT/CCの注意喚起もご覧ください。 なお、各国のCSIRTまたは関連組織による注意喚起の状況は以下のとおりで、アドバイザリを出している国は少ない状況です。 概要 問題の
はじめに こんにちは! DMM WEBCAMP Advent Calendar 2023 最後の25日目も去年に引き続き @Keichan_15 が担当させて頂きます!よろしくお願い致します! 今年は初の メンター × 卒業生のコラボ企画 ということで、1つの素晴らしいカレンダーを作り上げることができました! 記事執筆にご協力頂いた皆さん!本当にありがとうございました! ■今までの記事はこちらからどうぞ! さて、そんなAdvent Calendarもいよいよ最終日を迎えることになりました。 25日目のお題は…、 【GitHubのプロフィールをアレンジして、多くの人に自分を知ってもらおう! 】 といった内容になります! 自身も個人開発や勉強のアウトプットの一環でGitHubを頻繁に使用するのですが、多くの人が訪れるGitHubのプロフィール、華やかにアレンジしてみたくないですか?? ちなみに
こちらは 「本番環境などでやらかしちゃった人 Advent Calendar 2023」 22 日目の記事になります。 はじめに Happy Coding!🤶 みなさん年末いかがお過ごしでしょうか。 私は卒論の抄録執筆が終わらないし、今年体調崩しまくってるしで泣きそうです😭 この記事では「Docker が俺の Postgres を勝手に全世界に公開しやがって色々怒られた話」について述べていきたいと思います。 ※所属団体の関係で、技術的な話以外のところの一部で詳しく話せないところはぼかしたり、デタラメなことで置き換えたりしています。ご了承ください。 背景 私は大学 4 年で、働いているという訳でもなく、 個人やちょっとした団体で Web アプリや API サーバなどを作って、みんなが使えるようにしています。 今回は数年前に起こった、とある団体でのお話です。 サービス構成 そこではオンプレ
1. はじめに 魅力的な機能が多数登場しているVSCode、新しい機能や設定を試しているうちに、試用中の拡張機能が増えたり、設定が肥大化したりして魔改造になりがち。環境は綺麗に保ちたいですよね。 VSCodeの各種設定を綺麗に保つには、プロファイル機能を活用して、「普段使い用」や「お試し用」のように用途別の設定(プロファイル)として用意しておき、作業に適したプロファイルに切り替えて作業するのがおすすめです。 プロファイル機能は 1.75 ( January 2023 ) でGA(一般公開)となりました。 その後も機能追加が行われています。 本記事では執筆時点の最新版 1.85 ( November 2023 ) を対象としています。 プロファイルはエクスポート・インポートもできるので、VSCodeの各種設定をプロファイルにまとめておき、エクスポートしたものをインポートしてもらうことで簡単に
はじめに この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023の18日目です。 もう何年も前のことなのでもうそろそろ時効だろうと思い、誰かの学びになればとここに供養します。 やらかしちゃった出来事 ある日の保守作業 保守管理しているWebシステムの調査のためにOracle Databaseが動いているWindows Serverにリモートデスクトップ接続していました。 調査の過程でデータベースインスタンスにアクセスして状態を確認する必要が生じました。 普段は自分のクライアントPCにインストールしたデータベースクライアントツールでつないで確認していたのですが、その時は横着してサーバーにインストールされていたSQL Developer(OracleのGUIデータベースクライアントアプリ)を起動してしまいました。 固まる画面 じんわり起動していくSQL Deve
久しぶりの投稿です。 はじめに 昨今、様々なサイトがどんどんパスキーに対応しはじめてきました。 まだまだパスキーがデフォルトになっていくには時間が掛かりそうですが、どのような仕組みでパスキーを実装するのか、早めにキャッチアップしておくのも悪くないと思い、パスキーについて色々と調べてみました。 パスキーとは? パスワードの代わりに、自分の持つデバイスによる生体認証やパターンを用いて認証を行う方法のことです。 次世代認証技術であるFIDO(Fast IDentity Onlineの略で、「ファイド」と呼びます)を使った認証方式(詳細は後述)で、Apple、Google、MicrosoftがFIDOを普及させるために命名したブランド名になります。 FIDOとは? 脆弱なパスワードは安全ではありません。 2段階・2要素認証を採用してもそれを有効にするユーザーは少なく、昨今では2段階認証を突破する攻
こんにちは。おうちKubernetesを勧めるためにやってきました。 このシリーズでは、Part 1で「なぜやるのか」、Part 2で「どうやるのか」について話します。 この記事は自宅サーバー上のKubernetesで不特定多数向けのサービスを展開することを勧めるものではなく、自分用・身内用のアプリを自宅サーバー上のKubernetesで運用することを勧めるものです。 エンジニアは全員おうちKubernetesをやるべき絶対的な理由 自己研鑽のために (鑽←この字「研鑽」と「大鑽井盆地」でしか見ない) 企業がKubernetesを採用する場合、ほとんどがEKSやGKEといったクラウド上で動作するマネージドKubernetesサービスを使用すると思います。ただ、Kubernetesであればコマンドやマニフェストファイルの書き方は共通なので、おうちKubernetesで学んだことがそのまま業務
昨今、継続的にプロダクト開発していくことが主流となり、Four Keysなどの開発パフォーマンスを測る指標なども出てきており開発生産性を向上させることが注目されています。 しかし、かつての開発現場では今では信じられないような開発生産性を爆下げするようなことをやっていました。 この記事では10年以上前に私が経験した開発生産性を爆下げする事例を書いていこうと思います。 (私が体験したことをベースに書いているので10年前は全てがこうだったということではないのでご留意ください ) 修正前のコードはコメントアウトで残す 当時、ウォーターフォールで開発していました。 ウォーターフォールでは開発工程とテスト工程が分かれています。 開発工程で一通りコーディングして、テスト工程で動作確認を行いバグを潰します。 問題はここからです。 とある現場では、テスト工程でバグを直すときにコードを破壊的に直すのではなく、
理由 びっくりした。対話シェルで実行してパフォーマンス測定すると何故かめちゃくちゃ時間がかかる。これではデータにならない。 追記 よくよく考えたらパフォーマンス測定だけの問題ではなく実際に遅くなるのだから、対話シェルから「このようなコード」を実行してはいけないということを意味しています。「このようなコード」がどのようなコードなのか発生条件はまだ特定できていませんが、少なくともシェルスクリプトにしていれば問題は発生しません。また bash 以外のシェルでも問題は発生しません。 検証結果が気になった方は、ぜひ試してみて、この話を広めてください。 証拠 実行環境: Ubuntu 22.04.3 LTS、bash 5.1.16
TL; DR こちらが難解プログラミング言語 Malbolge で HelloWorld を行うプログラムになります。プログラムとはいったい・・・ (=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm Malbolge Malbolge は 1998 年 Ben Olmstead により開発された難解プログラミング言語です。オリジナルのホームページはとっくに消滅していますが、幸いにもアーカイブは残っていました。 Malbolge は難解プログラミング言語の中でも特に難解であること自体を目的に開発された、文字通り地獄みたいな言語です。 Malbolge was truly created with the i
Java 21が2023/9/19にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008267.html The Arrival of Java 21! LTSであり、パターンマッチングや仮想スレッドが正式化され、プレビューとして入ったString Templatesや無名クラス&インスタンスメインメソッドも面白い機能なので、大切なリリースになっていると思います。 詳細はこちら JDK 21 Release Notes Java SE 21 Platform JSR 396 OpenJDK JDK 21 GA Release APIドキュメントはこちら Overview (Java SE 21 & JDK 21) 追加されたAPIまとめはこちら https://docs.oracle.com/en/
私は新卒のときから10年ほどIT業界、ときには会社を移りながらエンタープライズのSI(System Integration)のさまざまな現場で働いてきましたが、システム開発のチーム編成として「アプリケーション担当」と「インフラ担当」に分かれていることが長らく当たり前でした。 最近はAWSをはじめとするパブリッククラウドの台頭、特に抽象度の高いマネージドサービスの普及によって従来型の分業モデルが理に叶わなくなってきたのでは?と感じることが増えたので、ポエムを書いてみます。 みなさんの案件はどんなチーム分けですか? 私がよくいた「エンタープライズの業務システム開発」はこんなフォーメーションが多かったです。 とある社内向けWebシステムの開発体制 ユーザー企業(発注元の会社スタッフ) アプリケーション担当:通称「業務」。要求定義と仕様調整。事業会社だとコードレビューまではしないところが多い印象
words = ['Japanese', 'English', 'French'] for w in words: print (w) # 結果 Japanese English French 同じ処理を繰り返すので「ループ処理」とも言われます。ではなぜloopじゃなくて、forなのか?と思いますよね。おれもそう思い、3年くらい経過していました。 ちなみに、別でwhile文もループ処理になります。 ちなみに、使い分けとしては、 for文: 繰り返し回数を指定したい処理 while文: とにかく条件ごとに値を処理 という使い分けができそうです。 本題:for文は如何にしてforなのか。 そろそろ本題に入りましょう。 なぜ、for文はforでループ処理なのか? 調べてみました。 そもそも、ループ処理の種類の表し方は? ループ処理では、whileやforがあることはご存知の通りかもしれませんが、
LLMs The History of Chatbots ELIZA (1966) 初期の人工知能プログラムのひとつ。 ルールベースの簡単なパターンマッチングで返答していた。 心理療法士の会話を模したELIZA(DOCTOR)が有名。 PARRY (1972) PARRYは偏執病的統合失調症患者をシミュレートしようとしたもの。 ELIZA(DOCTOR)と通信し話題となった。 Jabberwacky (1982, 1988, 1997) ユーモラスな人間同士の自然な会話をシミュレートすることを目的としていた。 ユーザーとの会話の大規模なデータベースを構築し、言語と文脈を学習することができた。 プロジェクト自体は1982年から開始されていたが、当初は学習機能は有していなかった。 ローブナー賞を2005年(George)、2006年(Joan)に受賞している。 ローブナー賞(Loebner P
アーキテクチャとWAS、DB2の活躍 20数年前にもなります。 B2B大規模WebシステムのITアーキテクチャ設計を行い、お客様のビジネスに大きく貢献できたことを今でも誇らしく思っています。リードITアーキテクトとしてプロジェクトに参加しましたが、インフラ・アーキテクト、アプリケーション・アーキテクト、WAS、DB2、ネットワークのスペシャリストとのコラボレーションの総合力で設計できたと考えています。このシステムのITアーキテクチャの判断 (Architectural Decision)を、WAS、DB2の活用とともに紹介いたします。 非機能要件はとても厳しいものでした このB2B Webシステムは 企業から金融機関への資金移動のオンライン窓口となるため、その要件、特に非機能要件(NFR)は厳しいものがありました。 1. 高セキュリティ資金移動の窓口のため、顧客データや取引データなど高いセ
シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ
AWS for Games Advent Calendar 2022 9日目の記事です。 Game Server Services(GS2) ではゲームに必要となるサーバー機能をマイクロサービス化し、皆さんに提供しています。 マイクロサービスには所持品の管理や、ゲーム内ストア、課金通貨の残高管理など30を超える機能を用意しており、これらを組み合わせながらゲーム内の仕様を実現できるようにしています。 さて、マイクロサービスの最も難しい課題はトランザクションにあると私は考えています。 今回は Game Server Services がどのようにこの課題に立ち向かい、そして問題を解決しているかお話ししたいと思います。 マイクロサービスとトランザクションの両立がなぜ難しいのか モノリシックなサーバーシステムは、大体の場合「所持品の所持数量」と「課金通貨の残高」は同じRDBに保存しています。 そし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く