Javaのreduceの戻り値が異なるのに戸惑っていた。 Javaのreduceの使い方は2種類ある。 ラフなメモ。 【参考】 Java:Streamのreduceの使用方法 | GWT Center Stream BinaryOperator(Java Platform SE 8 ) Javaのreduceは、Rubyのreduceみたいに、累積する処理みたいなもの。 MapRedcueの間柄のように、map関数とreduce関数はペアで考える。 reduceの引数はBinaryOperator型になるのは分かる。 合計値のように、2つの引数を累積させる処理を行って、1つの戻り値を返すだけ。 しかし、reduce(BinaryOperator)とreduce(初期値, BinaryOperator)は戻り値の型が異なるのに混同していた。 結論は、初期値を設定していなければ、戻り値が空の場
Javaのモジュールシステムの理解が深まったのでメモ。 Java初心者のラフなメモ書き。 【1】モジュールシステムはなぜJavaで必要なのか? 異なるJarであっても、同一パッケージ名が衝突する問題があった。 モジュールは、パッケージを区別するための仕組み。 パッケージはクラスを包み込み、モジュールはパッケージを包み込む。 Javaはオブジェクト指向言語なので、機能追加したい場合、開放閉鎖原則に従って、既存クラスは修正せず新規クラスを追加する。 Rubyのオープンクラスみたいなもの。 すると、クラスがどんどん増えるので、パッケージでクラスを分類しようとする。 そして、パッケージをまとめたJarを配布して、開発者に利用してもらうようにする。 しかし、Jarファイルもどんどん増えてしまって、異なるJarなのに同一パッケージで衝突する場合がある。 Mavenでこういう依存ライブラリのJarを管理
クラウド上の開発がJavaに与えた影響は何なのだろうか。 考えがまとまっていないがラフなメモ。 自分はAWSも知らないし、Go言語も知らないので、間違っていたら後で直す。 【参考】 Javaがサーバレスに至るまでの道のり 元JavaエンジニアがGoに感じた「表現力の低さ」と「開発生産性」の話 - DMM inside Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由 - Qiita Javaがサーバレスに至るまでの道のりの記事を読むと、いかに軽量のWebアプリケーションを実現するか、に注力しているように思える。 従来のWebアプリケーション開発では、PerlのCGIのようなプロセス指向ではなく、JavaのServletのようなマルチスレッドの方が無駄にリソースを食わず、効率が良いと歌われていた。 しかし、サーバーレス環境では、AWS Lambdaのように
「ソフトウェアアーキテクチャの基礎」は良い本と思う。 アーキテクトが読むべき本だったと思う。 ラフなメモ。 【1】ソフトウェアアーキテクチャの定義とは何か? 以前の定義は、ソフトウェアアーキテクチャとは後から変更することが難しいモノだった。 しかし、今は、マイクロサービスの出現により、変化しやすい設計を指すようになって、ガラリと変わった。 【2】アーキテクチャの重要な要素は、トレードオフの決定だ。 品質、コスト、スケジュール、スコープのバランスから、一番最良のものを選ぶ。 それぞれの要素を最大限にするのではなく、トータルでバランスが取れているものを選ぶ。 【3】アーキテクトに期待されている役割。 アーキテクチャ決定を下す。 アーキテクチャを継続的に分析する。 アーキテクチャの最新のトレンドを把握している。 アーキテクチャ決定の順序を徹底している。 様々な技術に精通している。 事業ドメインに
テスト管理ツールに触った経験が少しだけあった。 TestRail、CAT、QualityForwardの感想をラフなメモ。 【参考】 テスト管理ツール TestRail | ソフトウェア品質保証 | テクマトリックス株式会社 CAT | テスト管理ツール | 株式会社SHIFT テスト管理ツールQualityForward|ソフトウェアテスト・第三者検証のベリサーブ テスト管理ツールに必要とされる機能要件は、欧米と日本で異なるのではないか: プログラマの思索 TestLinkがExcelのテスト仕様書よりも素晴らしい点: プログラマの思索 脱Excel! TestLinkでアジャイルにテストをする:エンジニアがお薦めする 現場で使えるツール10選 - @IT SEA関西プロセス分科会講演資料「TestLinkのベストプラクティス~日本の品質管理技術を見直そう」 ETWest2009講演資料
初中級プロマネがIPAデータ白書の統計情報をどんな観点で活用できるか、説明した利用事例がとても良かった。 理解できた内容をラフなメモ。 【参考】 初中級プロマネのための 現場で活かせ!統計情報1 初中級プロマネのための 現場で活かせ!統計情報2 「ソフトウェア開発分析データ集2020」の発行:IPA 独立行政法人 情報処理推進機構 「ソフトウェア開発データ白書」のダウンロード:IPA 独立行政法人 情報処理推進機構 初中級プロマネのための現場で活かせ!統計情報 2019年4月19日| CITP Community CITPアニュアルレポート2018を公開しました | CITP Community 【0】「ソフトウェア開発分析データ集2020」をIPAデータ白書と呼ぶことにする。 【1】IPAのソフトウェア開発データ白書を使いたい動機は2つある。 1つ目は、プロマネとしてシステムの企画書や
ITの地殻変動はどこで起きているのか?~今後の課題はソフトウェア事業におけるエージェンシー問題を解決すること ITの地殻変動はどこで起きているのかを2022年現在で考えてみる。 ラフなメモ書き。 特に後半は、ロジックが飛んでいるが、自分のアイデアを書き残すことに重点を置く。 【過去の記事】 ITの地殻変動はどこで起きているのか?~2006年: プログラマの思索 ITの地殻変動はどこで起きているのか?~SeasarとRuby、そしてPF: プログラマの思索 ITの地殻変動はどこで起きているのか?~チケット駆動開発はなぜ生まれたのか・2009年: プログラマの思索 ITの地殻変動はどこで起きているか?~Agile2.0をサポートするチケット駆動開発: プログラマの思索 ITの地殻変動はどこで起きているのか?~チケット駆動開発が進むべき道: プログラマの思索 ITの地殻変動はどこで起きているのか
「ソフトウェアが世界を飲み込む理由」「ソフトウエア、それが問題だ」の記事をメモ。 特に主張はなし。 【参考1】 『ソフトウェアが世界を飲み込む理由』 - 渡部薫 ジークラウド CEO - 経歴・略歴 - Kaoru Watanabe, Profile, Career M・アンドリーセン氏が考える2012年--「ソフトウェアが世界を飲み込む」 - CNET Japan 次の5年でソフトウェアが世界を食べつくす。 | リーディング&カンパニー株式会社 (引用開始) コンピュータ革命から60年、マイクロプロセッサーの発明から40年、そして近代インターネットが興隆してから20年、ソフトウェアによって産業を変革するのに必要な技術の全てが、ようやく実用化され、世界規模で広く提供されるようになった。 (中略) 私の意見では、医療と教育が、次にソフトウェアをベースとした根本的な変革が起きる分野である。 私
「品質・バグ管理はなぜ必要なのか」という質問があって、回答が面白かったのでメモ。 以下は、深く考えずにラフなメモ書き。 【参考】 Redmine - 品質・バグ管理の必要性についてご意見をお聞かせください。(10612)|teratail BTSを制する者がソフトウェア開発を制する: プログラマの思索 akipiiさんのツイート: "数人の回答が面白い。僕なら「BTSを制する者がソフトウェア開発を制する」という言葉で回答するかな。「品質・バグ管理の必要性についてご意見をお聞かせください。故障票などに記載(Redmine的なものです)」 https://t.co/L5LKK7hDEd #teratail" 【1】(引用開始) タイトル通りですが、品質管理・バグ管理の必要性について質問させてください。 個人的には、「100%必要ない!」とは思っていませんが、厳重に管理したバグ票やらを必死に分析
Excel2010を使ってABテスト結果に対しt検定を行う方法が紹介されていたのでメモ。[ 特に主張はなし。 【参考】 やってみよう分析! 第5章:Excelの分析ツールとソルバーの活用(回帰、最小2乗法) - Qiita 【1】自分は統計初心者だが、色々書籍をあさって、t検定の意味がようやくわかった。 t検定を使う場面としては、「サンプルの平均値は母集団と同じか?」「2つのサンプルの平均値が同じ母集団から出ているのか?」があるだろう。 たとえば、前者は工場における製品の品質管理、後者はABテストなどで使われているだろう。 t検定の例は下記が分かりやすい。 平均値の検定 (引用開始) 例 和歌山の某梅干し工場では,塩分7%の梅干しを生産している.品質をチェックするため,30個の梅干しをピックアップし,検査したところ,平均は7.2%,標準偏差は0.6だった. (引用終了) では、某梅干し工場
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く