「モジュール」を含む日記 RSS

はてなキーワード: モジュールとは

2024-02-19

[] モジュール

コードを簡潔に保つにはモジュール化が必須であるしかし同じモジュール関係のない機能が含まれていたりすると混乱の元になる。

モジュール内の関数機能的関連性は凝集度という。

一方で、関数というのは引数の細かな仕様依存せずに、汎用的に呼び出せた方が何かと好都合だ。引数になんらかのオブジェクトを渡し、そのオブジェクトしか持ち得ないような特殊情報で処理を行なったりすると、関数オブジェクトが互いに依存しあってしまう。

これはモジュールの結合度と呼ぶ。

高い凝集度、低い結合度によってモジュールを作れば、保守性は上がる。

さらモジュール内では、公開する必要のない関数はprotectedまたはprivateにするべきだ。

そのためにはモジュールが公開すべき関数についてインターフェイスを作り、公開関数に対するユニットテストを書いておくのが良いだろう。

2024-02-18

sesamewifiモジュールいつ復活するんだよ

nature remo買ってくれってことならそう言ってくれ

2024-01-25

SLIM

着陸場所は想定通りってか合格なんだろうけど、

着地時に太陽電池があらぬ方向に向いちゃってるのはやはりまずいのでは

さらに着地の衝撃で太陽電池モジュールが壊れた可能性も現状拭いきれない

失敗とは思わないけど、「成功なんだからもっと喜んで!」みたいに無邪気に言える感じではないな

2024-01-22

[] phpコードベースを綺麗に保つ

php場合、<?php 処理 という具合に書くが、この中身にはhtmljavascript包含することができてしま

MVCフレームワークを使わないにしろ基本的にビューとバックエンド処理は分割しておくべき。

さらDB処理、ビジネスロジックプログラム処理と言ったものがあるが、

DB処理はdbhandler専用のモジュールに分けておき、さらにそのモジュールを処理するテーブルごとに分けておいた方が良い(MVCではモデルと言う)

特にビジネスロジックプログラム処理の区別だが、「商品名アダルト商品と思わしき文字列があった場合登録拒否する」という例外は「ビジネス例外であるのに対し、「商品名文字列DBで用意されたvarcharの可変文字範囲を超えた」という例外は「技術例外であるということを明確に区別するようにコードを書く。

おすすめ機能」のような凝ったアルゴリズム必要場合はそれ専用のクラスへ分離しておくこと。

あと外部化可能な設定情報jsonで分離するようにしておいた方が良い。

anond:20240122111105

適切な粒度関数を分割しとけば生産性上がるけどね。

module_name.pyみたいなモジュールごとにファイル分割して、インターフェイスだけ公開してその他はdef _funcみたいにprotected(or private)にしとく。

でも「共通性がありそうだから共通関数にする」はアンチパターンだな。たまたま共通してただけの場合分岐コードが増えて共通関数保守コストが上がる。

あとありがちなのは、php開発者関数分割しないですべてメインコードにべた書きするケース。こういうのはやめないと保守が大変。

とっておきのクズがやりがちなのは、神オブジェクトを作るとかだな。Userクラスフィールド関係する機能が多いからといって、コンポジションなどによるクラス分割をせずにユーザークラスにあらゆるフィールドメソッドを追加して、さらに進むとユーザーとは無関係機能も含めすべてをユーザークラス定義するアフォ。こうなってしまったら、後から修正するのが難しくなる。

先に手を打つことが、プログラマーの素質「怠惰」につながるのであり、面倒臭いといって後回しにするのは美徳でもなんでもない。

2024-01-16

7年半を振り返ったのでメモ

2022年

2022年1月15日 jpg2t785/status/1482328538187395072

WS-20エンジンも量産が始まり中国軍航空機エンジン国産化ヘリなども含めてほぼ完了したと見て良さそうだ。


2022年8月4日 jpg2t785/status/1555124884526641152

中国軍は、第3次台湾海峡危機の際に米海軍空母を前になす術がなかったという屈辱を糧に軍の近代化に励んできました。

今や中国軍1996年当時とは比較にならないほど近代化されており、針ネズミのように配備されたミサイル群は、米空母でさえ迂闊に近付けば撃沈されかねない。

2022年5月3日 jpg2t785/status/1521383116694188032

中国空母の直援艦は全部中華イージスになりましたね(別動で054A型はいますが)。

今や中華イージス就役数は、055型6隻、052D型24隻、052C型6隻の36隻まで増えている。

052D型と055型は10年前には1隻も就役していなかった。

2021年

2021年12月15日 jpg2t785/status/1471112117520838656

2027年頃に中華イージスは以下の59隻に

055 ×16

052D ×37

052C ×6

052A型2隻は退役して、駆逐艦は68隻体制?

051C ×2

052B ×2

ソブレメンヌイ級 ×4

051B ×1

2021年2月19日 jpg2t785/status/1362603326131474439

中国海軍2012からの8年だけで以下の艦艇が進水してますからね、規格外拡張と言って良い。

002型空母 1隻

075型強襲揚陸艦 3隻

055型駆逐艦 8隻

052D型駆逐艦 25隻

052C型駆逐艦 1隻

054A型フリゲート 17

056型コルベット 72隻

2021年2月1日 jpg2t785/status/1356159346359427083

渤海造船所に新設された世界最大規模の潜水艦建造施設で、初の建造中の原潜が確認されました。

存在が噂されてきた093B型、095型攻撃型原潜もしくは、096型戦略原潜である可能性が高い模様。

2020

20208月15日 jpg2t785/status/1294313273106378752

J-10CやJ-20WS-10エンジンに切り替わったので中国戦闘機エンジン国産化成功したと言えそうですね。

ただ、輸送機爆撃機向けのWS-18やWS-20はまだ量産されておらず、中国軍用機のロシアからの自立はまだかかりそうです。

2019年

2019年12月29日 jpg2t785/status/1211197523915726848

2000年代初頭に052B型、051C型、052C型、956EM型を2隻ずつ建造して、技術的に成熟してから大量建造に移行したというのは多少知識がある方なら知っているでしょうが、表にしてみると分かりやすいかと思います

2019年12月26日 jpg2t785/status/1210031964905865216

大連造船所で052DL型駆逐艦23番艦と055型駆逐艦6番艦が進水。

中国海軍は1年間で駆逐艦9隻を進水させました。

ひとつの国が1年間で駆逐艦を9隻進水させたのは1946年以来、73年ぶりです

2019年9月1日 jpg2t785/status/1167974096908369921

駆逐艦工場と化している大連造船所と上海江南造船所について。1年間に最大で8隻の駆逐艦を進水させる能力があります

2019年7月19日 jpg2t785/status/1152040234822955008

中国潜在的空母建造能力について

jbbs.shitaraba.net/bbs/read.cgi/sports/37992/1533086155/963

中国空母建造地である江南造船廠と大連造船廠は、どちらもドック拡張や新ドック建設、建造能力の強化を図っている。これは空母および護衛艦である055型駆逐艦の量産体制確立を目指すものと見ている

大連ではこの拡張工事が終われば、空母二隻の平行建造、そして055型五隻の同時建造が可能になると推測している。江南造船廠では、現在建造中の003型空母のために新たな船台を建設している。

>漢和では、今後両造船所が複数空母を並行して建造する可能性を示すものとして注目している

2019年8月1日 jpg2t785/status/1156604861791649792

国産エンジンを搭載したJ-10CとJ-20生産が始まり戦闘機エンジンロシア依存していた時代がいよいよ終わると。

2019年5月2日 jpg2t785/status/1123831374891425793

空母遼寧の現役復帰のための大改修に関する記事

jbbs.shitaraba.net/bbs/read.cgi/sports/37992/1533086155/783

大連に到着したワリヤーグは海軍技術陣による調査を受け、主船体の状態は良好で船体の腐蝕も少なく新造船に近い状態で、今後40~50年間は問題ないと評価

>電力系統は建造中止後の器物盗難などで破壊されていた

>完成度は40%と判断し、建造を続行し就役させるための基礎には十分である判断

>建造作業は2004年8月13日に着手。そこで遭遇したのは予想以上の困難であった。一つの例を挙げると、ワリヤーグの設計段階ではSu-33制式化前だったので予定スペックに基づいた格納庫設計が為されていたことが判明した

設計作業ではSu-33の折り畳み状態での翼幅は7.4mであるとして設計されていたがこれは実際には8.4mになっていた。Su-33情報をもとに開発されたJ-15も折り畳み状態の翼幅は8.4mになるので、格納庫はそれに合わせた設計変更を余儀なくされた

改装作業では、甲板や格納庫の調整、船体構造設計合理化、失われたパイプ系統などの配置と各種方面で元々の設計問題点があれば設計変更や換装を行っていった

アレスティングワイヤを含む着艦拘束システムについても国内開発されたものが搭載

全長65mに及ぶ艦橋があったが、それでも各種アンテナ通信機器電子戦装備を電子干渉を起こさずに搭載するには不十分

>ホイップ状の倒立アンテナを開発し、舷側の各部に配置することでこの問題解決した。以後の空母では、中国アンテナ集積技術の発展に伴い、アイランドの形状は簡潔化

遼寧2004年の再生工事着工から、8年の時間をかけて20129月25日制式部隊配備

遼寧は、艦内のSSMVLS撤去して格納庫を拡大したのではないかと推測されてきましたが、最近になって面積拡大はなされていないという結論に達しています

>36機の搭載機数は6万トン級空母としては少ないと指摘されていますが、無理に搭載機を増やしてもSTOBAR式空母である遼寧ではその数を有効活用するには問題があり、36機というのが最も合理的数字であるとなったのはよく理解できる話です

(終わり)

2019年4月29日 jpg2t785/status/1122771366355148800

アメリカ空母を作れるのはニューポートニューズ造船所だけですが、中国上海大連の2ヶ所で建造可能なのですよね。

質問なんですけど中国って軍艦や大型船建造のドックがある造船所ってどれぐらいあるんでしょうか

大連上海ぐらいしかイメージがないんですけども

oedosoldier氏が分かりやすくまとめています

中国の主な造船所

>1、大連造船所(遼寧大連):駆逐艦空母など

>2、江南造船所(上海長興島):駆逐艦空母揚陸艦通常動力型潜水艦掃海艦など

>3、渤海造船所(遼寧葫芦島):原子力潜水艦

>4、中華造船所(上海浦東):フリゲートコルベット揚陸艦、偵察艦、補給艦など

>5、黄埔造船所(広東広州):フリゲートコルベット公務船など

>6、武昌造船所(湖北武漢):コルベット通常動力型潜水艦など

>7、広州造船所(広東広州):補給艦など

>8、遼南造船所(遼寧旅順):コルベット練習艦など

>9、蕪湖造船所(安徽蕪湖):海洋調査船試験艦など

ありがとうございます

中国は8個の大型造船所を保持してて、空母建造可能造船所が2個ある・・・

やっぱ劉華清のおかげやな(造船所強化にも力を注いでたし)

2019年4月7日 jpg2t785/status/1114873360280739840

中国渤海造船所で建設されていた世界最大の原子力潜水艦建造施設はほぼ完成したようです

2019年3月31日 jpg2t785/status/1112182473486553088

造船能力からみる中国海軍艦艇建造動向の予測

jbbs.shitaraba.net/bbs/read.cgi/sports/37992/1533086155/706

大連と長興島だけで、055型6~7隻、052D/E型16隻+6を建造/建造中

>全世界に展開する米海軍に対し、中国は全艦艇自国海域に投入できる点で有利であり、艦艇間の性能差もそこまで大きなものではなくなってきている

空母艦隊の戦力、経験の蓄積、戦闘機や原潜の数や質、ASW能力の差などの面で、中国海軍が追い付いていない点も多い

>055型はアーレイ・バーク級を上回る戦闘力を備え、米タイコンデロガ級巡洋艦に近い立ち位置の艦。055型の増勢に対して米海軍タイコンデロガ級は段階的に退役が進む

>今後10年以内に、大型水上戦闘艦艇の数で対米5割に達することは充分に考えられる

11隻の空母を要する米海軍に対し、中国海軍陸上航空機弾道ミサイル支援を受けることが可能海域対峙することになろう

中国は今後15年以内に、4~5個空母戦闘群を整備する計画

>西太平洋での台湾有事など局地戦勃発に際して、台湾東岸を封鎖して、展開する米空母部隊対峙する能力を獲得することになる。このほか、空母戦闘群を世界各地に展開し、洋上航路安全海域の封鎖、邦人保護陸上施設の打撃など多様な任務に投入されることになろう。

>その際には、YJ-18巡航ミサイルの艦対地型による内陸打撃も想定される。2019年以降、水上艦艇の建造と並行して攻撃型原潜の大量建造も進められることになる。

2019年2月24日 jpg2t785/status/1099563942198706176

渤海造船所に新設された世界最大の原子力潜水艦建造工場がすでに稼働しているらしい。同時に6隻が建造可能

2019年1月22日 jpg2t785/status/1087694849560604673

中国ジェットエンジン世界水準から立ち遅れを生じた理由について、北京航空航天大学の劉大響教授見解

jbbs.shitaraba.net/bbs/read.cgi/sports/37992/1533086155/566

>基礎研究の蓄積、技術ノウハウの不足、試験設備の不完全さ

国家経済相対的立ち遅れにより、研究開発費がはなはだしく不足していた(続く)

エンジン技術的複雑さと研究規律に対する認識不足

>開発リソースに対して、開発の規模が大きすぎ、リソース分散し、低レベルでの重複が生じた

管理モデル時代遅れで、科学民主的政策決定機構と安定性に乏しく、権威ある中長期的な発展計画が欠けていた

アメリカを例にとり、IHPTETやVAATEなどの予備研究に数百億ドルを投じたこと、両国技術格差を示すものとして、F119エンジン寿命12,000時間に達するのに対して、WS-10は1,500時間に留まることを指摘、この差が生じる主な原因としては素材の高温環境における耐久性にあるとした

中国エンジン開発は、模倣―改造―自主開発と段階を経ており、2016年8月には中国航空発動機集団が成立し、「両機専項(ジェットエンジンガスタービン事業)」が始動しており、中国航空機エンジン開発は新段階に入った事を示す事例であるとしている

2018年

2018年1220日 jpg2t785/status/1075756672730066944

台湾から見た052C、052D、055型駆逐艦分析記事

jbbs.shitaraba.net/bbs/read.cgi/sports/37992/1533086155/458

>052C型は「型號H/ZBJ-1」システムを初めて搭載。同システムは、高い自動性を有した先進的な戦場管理システムであり、この開発成功により中国は初めて「真のエリアディフェンス防空システム」を獲得(続く)

>052D型は052C型ベースに「プラットフォーム共通化、装備のモジュール化」を進め、防空能力を含む多用途性能改善を図ったタイプ作戦システムは、先進艦艇採用される分散・開放式を取り入れており、高い分析処理能力を有すると共に、将来のアップグレード新装備との統合も容易に行える

>米Link-16に相当する的「全軍綜合數據鏈系統(「聯合網路作戰系統」)」データリンクシステムを搭載しており、各軍種を超える情報連携を実現

VLSが各種ミサイルの混載を可能とするタイプに変わったことも見逃せない

>055型駆逐艦は、抜本的に設計を改めた新型駆逐艦として開発された。これは米海軍アーレイ・バーク級駆逐艦の改良を続けているのとは対照的

>055型の特徴は①COGAG機関採用、②デュアルバンドフェイズド・アレイレーダー採用、③統合マスト採用、④112セルVLS搭載、にあると指摘

>055型は、中国海軍駆逐艦能力世界でもトップレベルに高めた画期的もの評価。その能力技術水準は米ズムウォルト駆逐艦比較しても遜色なく、優位に立つ所もあるとする。米専門家の「嘆息美國難以追趕(嘆息して、アメリカも追いかけるのは難しい)」というセリフ引用

>055型の発展潜在性は高く、今後は、統合電気推進システム採用、電磁砲搭載などさらなる改良が施されるであろう

>055型は中国海軍の外洋化を象徴する兵器であり、台湾側への圧力さらに増すことになり、厳重な警戒と深い分析必要であるとまとめている

2018年1220日 jpg2t785/status/1075421675892555777

今年進水した中国海軍水上戦闘艦駆逐艦6隻、フリゲート1隻、コルベット10隻、合計17隻。これはとんでもないペースですよ。

2018年1010日 jpg2t785/status/1049993615273938944

中国海軍は、052D型×22、055型×8の計30隻の中華イージス艦を建造しているようだ。052C型を合わせると中華イージスは36隻。

近代的な駆逐艦の総数は、052A型×2、051B型×1、現代級×2、052B型×2、051C型×2の計9隻を合わせた45隻になる。

少しずつアメリカ海軍背中が見えてきている。

2018年8月15日 jpg2t785/status/1029657466311651328

かつて中国海軍は、2隻新型艦を建造して試験した後、さらなる新型艦2隻を建造するという工程(小歩快跑と呼ばれた)を繰り返して技術力の向上に勤め、052D型駆逐艦からようやく大量建造に踏み切りました。彼らは自分達の技術レベル理解した上で相当先まで見据えて事を進めているんですよ。

2018年7月26日 jpg2t785/status/1022322296764030976

上海江南造船所の空撮映像(別角度)。海上自衛隊10年くらいかけて建造した数の艦を1つの造船所で同時に建造している。凄まじい光景ですね。しかも、大連など他の造船所でも大量に作っているのだから・・・

2018年3月11日 jpg2t785/status/972783238514073600

江南造船所

・055型駆逐艦 ×3

・052D型駆逐艦 ×6

大連造船所

・055型駆逐艦 ×3

・052D型駆逐艦 ×5

002型空母 ×1

055型駆逐艦 ×6

052D型駆逐艦 ×11

054A型フリゲート ×4

056A型コルベット ×5

合計 ×27

Permalink | 記事への反応(2) | 00:53

2024-01-15

anond:20240114200847

農業モジュール、発電モジュール、推進モジュール居住モジュールなどなどが組み合わさってるんだから、推進モジュールはいちばん外側にくっつけとけばいいだろ

2024-01-01

2024年も残りわずかとなり、今年の漢字が発表されました。

「浮」

今年は毎日やってくる地震精神的に対抗するために、レビテーションガジェットが数多く発売され、浮遊ブームとなりました。

浮遊ベッドや浮游チェアーの生産が間に合わず、喜びと事故の両側面で人々に強い印象を残しました。

これらの開発を可能にしたのが、年初に発見された世紀の科学発見、浮動次元です。

これまでダークマターダークエネルギーとされてきた2つが共に浮動次元に由来することが分かり、その実証と応用が異例の速度で進みました。

その結果生まれた浮動モジュール構造は非常にシンプルで、量産を可能しました。

一部の大富豪住宅を浮遊させ、最近ではタンカー級の浮遊も運用圏内となりました。25年は海運革命の年となるでしょう。

また、この人類史の転換点となる技術革命を背景に、中華圏を中心として既存文明から脱構築を図る「浮生族」が発生しました。

中国政府は彼らを「羅浮人」と呼び、弾圧を強めていますが、世界中に広がる華僑から支援もあり、巨大海国家誕生が秒読みであるという見方が優勢です。

2023-12-29

4才の子が小さなモジュールを組み合わせるのが好きなようだ。ラキューとか、四角と三角磁石とか。何か他にオススメはないだろうか

2023-12-21

anond:20231221110117

会社のどんな仕事の責務も抱え込みたがるような、権力欲の強い経営者が多いよな。

全部の業務監視する経営者取締役会なんて、いくつもの責任を抱える神クラスのような存在しかないのに。

そうなろうとするから仕事スパゲティになる。

取締役会なんて取締役会という1つのモジュールに過ぎないんだから、その単一責任を果たせばそれでいいのにね。

2023-12-19

Javaって書けば書くほど嫌いになるけどマヌケが作ってる言語だと思う

JVMはいいんだよ。マジで素晴らしい。Javaはあまりにもクソ過ぎる。

不完全な型推論、あまりにも冗長すぎるモジュール機構ファーストクラスじゃない関数、なんでもクラス、ザコみたいな型システムに由来したあまりにも乏しい表現力。

あげてもキリがないほどのクソofクソ。このそびえたつクソに燦然と輝く究極のゴミ、そう我らが springframework。

マジでイカれてるよ。直近のJDK21で導入されたJava言語仕様としては instanceof 以外で正気を疑う進歩のなさ。どうしてこんなゴミがのさばってるんだよ。

まじで新規案件KotlinScalaしろ!!!!!!(Scalaをまともに使える能力判断力もない人間がなんとなくJavaを使うんだろうなあ)

2023-12-12

精神エネルギー脳内物質であれば物理である

バイオリズム脳内回路のモジュール巧拙にも影響されるはずだ

肉体を動かすエネルギーとの相互作用もあるはずだ

戦時平時脳みその具合にもよるはずだ

2023-12-11

コーディング規約自動化しろ

モジュールインポート順にルールを設けるとか、PEP8に完全準拠するようにするとか、そういうのはビルドプロセス包含してしまったほうが良い。

なぜかというと、コーディングスタイル問題を各々の技術者に任せるとコード私物化するから

宗教論争をするのではなく自動化しろ

2023-12-09

最短時間理解可能コードとは

コードを書く上で重要なことは?という質問に対して、アスペならば「実行できること」と答えるだろう。

当たり前なことしか言っていない。「実行できること」という文からは全く有益な知見を得られない。

実行できることは重要性ではなく、必要性である重要性とは、必要なことをすべてやった上でなおやる価値のあることを意味する。

そう考えた時に私がよく思うのは「最短時間理解可能であることが重要であると思うわけである

しかしここに宗教がある。そもそも人間物事理解するプロセスは人それぞれである

私は一度、関数モジュールで適切に分離するためのリファクタリングというものを行ったことがある。

というのも、一つの関数に万を超える行が書かれていたため、上司リファクタリング命令したためである

具体的詳細はprivateメソッドに、公開する必要のあるものはpublicメソッドに移した。

そして当初働いていた職場での反応はどうだったかというと、「スパゲッティコード」だというのだ。

スパゲッティコード?一つの関数に万を超える行があるほうがスパゲッティだと普通は思うだろう。

ところが、彼らの脳内では、「常にコードの詳細が見えていなければ気がすまない」という、カプセル化無視する思想で動いていたため、関数化すると関数の最下層まで辿らないと気がすまないらしかったのである

このようにして、教育の無い人間コードの読み方もカプセル化も知らないので、非生産的方法が最短の方法になってしまうのである

コードを最短で理解するためにはどうするのか。基礎知識教育された集団の中に身を置くのがまず先決である

例えばcalc_monthly_salary_yen(Person p)という行が存在した時、いちいちcalc_monthly_salary_yenの中身を常に見に行くような人たちはダメだ。

人間データ入力すれば円単位で月の給料計算してくれるんだろう」とざっくりと自然言語的に読み進められる人たちでなければ「最短理解」は難しい。

まり最短理解するためのコードを書いた時に、それが本当に最短理解されるためには事前の教養必要なのである

教養のないところに生産性はない。悪いことは言わない。ゴッドオブジェクト管理するような会社からは逃げ出せ。

2023-12-08

自分担当モジュールドキュメントまともに読んだことがないってどういうこと?嘘でしょ?

質問しても知りませんで終わるのヤバいな。

こんなんだから古巣の同僚達が夜遅くまで残業することになるんだよな

2023-12-07

[]2023年11月滅多にホットエントリを出さなドメインからホットエントリ

ここ1年で初めてはてなブックマーク日毎の総合人気エントリ入りしたドメインからホットエントリブクマ数順トップ30

ブクマタイトルドメイン
1359国土交通省 ネガティブ情報検索サイトwww.mlit.go.jp
1087ゲーム趣味にしている人の割合が多いのはどのくらいの収入の人たちなのか調べてみた - nonameのノートnoname774300.hatenablog.com
854マシュマロ!|高河ゆん|pixivFANBOXkouga-yun.fanbox.cc
850トコジラミ根絶方法害虫・害鳥獣安全対策します|株式会社 オオヨドコーポレーションテックス社oyodo-pmp.com
847ラマヌジャンは本当に何も知らなかったのかmathlog.info
774裏紅白歌合戦2023jiyujoho.a.la9.jp
679水は変わった物質vitroid.github.io
671しずかなインターネットsizu.me
606日米でエンジニアの育成戦略正反対だと気付いた話 - メソッド屋のブログsimplearchitect.hatenablog.com
498ゼルダの伝説 ブレスオブザワイルド』が品質を高めてくれた。売上10万本超え、R18インディーゲーム洗脳アプリ高慢お嬢様を好き放題するシミュレーション開発者インタビュー - AZ-LINE あずらいん!az-line.jp
484ChatGPTに社内文書に基づいた回答を生成させる仕組みを構築しました - コネヒト開発者ブログtech.connehito.com
475映画批評ゴジラ-1.0』90点(100点満点中)movie.maeda-y.com
465メールアドレスキーにしてID連携を行う設計の危うさ|ritousizu.me
454「直接会って話したほうがはやい」は速いだけ|arayasizu.me
438ベンダ提供していない決済モジュール不具合による情報漏洩事故 東京地判令2.10.13(平2810775) - ITシステム判例メモitlaw.hatenablog.com
436Othello is Solvedarxiv.org
435池田大作氏の御逝去の報に接しkishida.gr.jp
424https://ip.guide/ip.guide
421ナポリタンが究極の味になる!ほんのひと手間に「やって大正解」「今度からこうする」 - macaronimacaro-ni.jp
421大麻少年の性被害、男らしさの病(松本俊彦)[第12回] 酒をやめられない文学研究者タバコがやめられない精神科医の往復書簡ohtabookstand.com
407変なドメイン取るな.netwww.henna-domain-toruna.net
401mRNAのひみつ | まんがひみつ文庫 | まんがでよくわかるシリーズ学研キッズネットkids.gakken.co.jp
377雑記セキュリティガイドライン類 約300時間 読み漁ってみた - 2LoD.secnikinusu.hatenablog.com
374弊社元幹部社員不正について/日本海テレビwww.nkt-tv.co.jp
368t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blogswet.dena.com
361コラム寄稿「なぜドイツ人にできることが日本人にできないのか」www.rieti.go.jp
360令和時代個人サイトの作り方:suama workstechbookfest.org
356楽天市場】SPUの特典内容変更について|SPU(スーパーポイントアッププログラムevent.rakuten.co.jp
345国産プレミアムウイスキー 一部商品価格改定についてwww.suntory.co.jp
335Mini vMaclrusso.github.io

2023-11-29

過去イチでヤバイPJを引き継いだ

弊社のビジネス創造部門的なところが作ったPJがあるんだが

どうもゴリゴリ炎上してるらしくて支援に入った

こういう仕事は割とあるんだがなかなかのヤバさだったので紹介したい

ちなみにサービスの内容は非常に良くてユーザーも万単位で付いているらしい

からこそ炎上している

バックエンド環境

バックエンドAWS EC2動作しているがログインアカウント共通化されていてパスワードを全員で共有している

ユーザーを追加しようとしたら「そのような勝手行為セキュリティ許可されていません」とのこと

本番環境とStagingはインスタンスが分かれているが運用は同じ方法

Staging上で5人ぐらいが作業しているが、ホームの下にそれぞれのユーザー自分名前ディレクトリを作って作業している

バックエンドシステム

バックエンド側のシステムは詳細は伏せるが、某システムで動いている

仮にNode.js系だとすると、package.jsonがあってnpm run installでインストールするのだが、普通にインストールしようとするとエラーになる

内容は依存関係で失敗しているのだが、本番も同じソース動作している

動作させるにはnode_modulesをまるっとコピーして、とのこと

さっきの自分名前ディレクトリ配下コピーしてきて、適当ポート番号でサーバを立ち上げれば一応は動く

このため、新しいモジュールを入れようとすると依存関係で失敗するため、便利なモジュールがあってもインストールできないし

セキュリティアップデートも当てることはできない(現にバージョンがすごく古い)

バックエンドシステム内容

ソースコードGitHub管理されているがセーブポイント感覚でcommitされているのでコミットログを見ても何が起きているのかさっぱり分からない

おまけにPRも使わずmainマージしまくっていてわけがからない

加えてソースコードコメントアウトの嵐でどこに何が書いてあるのかさっぱりわからない

データベースPostgreSQLだが山ほどテーブルがあるのに外部キー依存は入っていないしVIEWも作られていない

まぁ、他にもテーブルを見ていくとアンチパターンオンパレードで、EAV、ジェイウォークあたりは確認できたしHTMLSQLが格納されているテーブルも見つけた

ソース上でクエリを作ってAPIを作っているが、ザッと見ただけでもインジェクションし放題の状態になっていた

フロントエンドシステム

フロントエンドも詳細は伏せるが、いわゆるReact的なものを利用している

こちらは npm run installでインストールできるし npm run devでちゃんと動く

ローカル動作するので非常に助かる

ただ前述の通りバックエンドローカルで構築できないのでEC2を利用するしかなく、CORS対応のためのプロキシを自前で用意する必要があった

フロントエンドソースコード

バックエンド同様にGitHub管理されているが、管理しているだけ

バックエンドは5人ぐらいが利用しているが、ソースコード編集するのは実質1人なのでコンフリクトほとんど起こさないらしいが

フロントエンドは5人ぐらいが編集するのでコンフリクトしまくっている

解消するときデグレすることが日常茶飯事でその都度Hotfixしている

コードコメントアウトだらけなのに加えて、不必要コードが大量にあるので可読性が著しく低い

(難しい処理を読み解いて追いかけていったら最終的に使われていない、などが大量にある)

2000行ぐらいあるコードとかChatGPTに突っ込んだら20行ぐらいになる予感がある

また、DBがご覧の状態なので取得されるデータ全然抽象化できておらず、コードが膨れ上がっている

例えばProductの一覧データサーバから取得して、ユーザークリックしたProductをCartに投入するのだが、投入する情報Productではなく、CartItemにする必要があるし

OrderするときはOrderItemにしてAPIを叩く必要がある

ほとんど同じ情報なのだ微妙に変わっていたりKey名が違っていたりするのでそれぞれ変換する

他にも数え上げればキリがないが、コピペして少しだけ改変している部分などが大量にあってバグがあるのかどうかすら判別できない

セキュリティ課題

DBHTMLSQLが入っていると言ったが、調べて見るとDBから取得したHTMLをそのまま埋め込んで表示していたりした

SQLについてはフロントエンド側でSQL生成しており、そのテキストAPIに送り込んでサーバ側で実行して貰った上で格納とかしていたので

「ここにDROP TABLEとか書けばTABLE消えるんですか?」

と聞くと

「そんなことする開発者はクビだなwww

とか言われたのでことの重大さを伝えたが、まだ対処できていないようだった

認証等はOAuth2を使っていたので大丈夫そうだったが、本当に大丈夫かどうかは自信がもてない

今後の期待

システム内容はゴミのような状態だがサービス的には良いので、幹部プロダクトオーナーからは追加要望が山盛り来ている

開発チームが「稼働が足りない」という理由で断ったので「じゃぁ支援して」ということで自分のところに来たのだが

申し訳ないが、そもそもそういうレベルに無いし、全て作り直しが必要

と伝えてもどうやら伝わっていない様子

ちなみに元々の開発チームは過去にもこんな感じでサービス作ってたらしいが売れないので問題になってなかった様子

ぱっと見は動いているように見えるのが厄介なところ

正直逃げたいところではある

2023-11-19

わし「メールでよく使われるmbox形式ファイルを読みたいんや。dotnetならどうするといい?」

Bing先生「MimeKitとかMboxReaderという.NETライブラリがええで」

わし(ほーん、MimeKitええな。。。MboxReaderってどんなんやろ)

わし(あれれ、MboxReaderとかい.NETライブラリは無いぞ・・)

わし「MboxReaderの詳しいところ教えてや」

Bing先生「こうやで

  ~~ きれいなC#コードをつらつらと垂れ流し ~~

  どや」

わし「ほーん・・・?」

わし「MboxReaderとかいライブラリって実在するん?」

Bing先生「するで。これや https://github.com/nodemailer/mbox-reader

そりゃnode.jsモジュールやーーーー!!!

今までだと嘘はすぐに破綻してたはずなのに、今度の嘘はなかなか破綻しないぞ・・・

今、「MboxSharp」とかい架空.NETライブラリ説明を受けてる・・・

こっちは元ネタも何も無さそうだ・・・

しかしさすがのBing先生、MimeKit の中の Rfc2047 クラスの使い方をちゃんと教えてくれた。

まあ Stack Overflow にも書かれてある事をまとめただけではあるが。。

やっぱ先生はすげえんよ。

2023-11-17

anond:20231116154752

日本土地代が高いから、小さなモジュールを各地の工場で組み立てて、現場で合体すんの!

メンテ時にそのまま入れるドックもないから分裂して各々倉庫に入れてくの!

anond:20231116154752

1つのことを上手くやるモジュール協調して動いてるんだろうな。

2023-11-15

オブジェクト指向人類の退化の象徴

オブジェクト指向とかかっこいい言い方をしても無駄だ。従来の構造プログラミングから進歩したことなど一つもない。オブジェクト指向がなぜダメであるのか、それを今から話すぜ。

 

1. データと処理をまとめるという発想。

データと処理をまとめてクラスとして置くという発想がある。しかし、このようなことをしなくとも、モジュールという単位で利用データと処理の集合をまとめればよかったので、クラスを使う必要はない。しかクラスインスタンス化のときに、不要情報まで持ってくるのでメモリ効率が明らかに悪い。コンピュータ進化しているかメモリのことはあまり考える必要がないとはいえ必要ない処理をまとめて閉じ込めるのは無駄が多い。なぜクラスという名詞概念分類できると考え始めたのかは不明だが、アルゴリズムデータ構造という構造プログラミング手法を、クラスと型というパラダイムに変換することで型にうるさいC++馬鹿を生み出し、彼らが発狂することになってしまった。しかデータと処理にわざわざ依存関係を持たせて、変更に対する柔軟性を失わせている。

 

2. 継承

継承によって既存構造を持ってこようとする必要性が全く無い。それどころか、継承を使うことによってプログラムスパゲティ化し、依存関係グラフがややこしくなってしまう。継承など使わず必要情報スコープの限られた共通変数、または関数引数として用意しておけば良い。もしクラスをどうしても使いたければ、共通インターフェイスをもたせたほうがマシであるインターフェイスを使えば、クラス利用者意識すべきpublicメソッドがなんであるか把握できる。

 

3. カプセル化

オブジェクト指向の中で役立つ概念カプセル化だけであるしかし、カプセル化クラスなしで構造プログラミング方法実装できる。pythonでは、モジュールの中でアンダースコアから始まる関数を用意しておけば、それがprotectedやprivateと似たように機能させることができる。オブジェクト指向がなぜカプセル化独自概念だと言い始めたかは謎。

 

4. ポリモーフィズム

同じ名前メソッドを、入力に応じて処理の内容を変える。このようなことはオブジェクト指向などと誇大宣伝をするほどのことでもない。構造プログラミングで似たようなことができる。

2023-11-09

PSPの画面が真っ暗になって起動しない(1000 CFW)

導入CFWは多分最新(最後の) LME/Infinity2 導入済みの PSP1000 環境

症状

  • 電源をいれる
  • 画面と電源はつく
  • 画面は真っ暗なまま起動開始の映像が流れない
  • 電源ランプはついたまま
  • 数秒立つと画面と電源ランプが消えて落ちる

対処方法

これでInfinity2によるCFWの直接起動が動くようになる。多分

原因

USB接続でのISOの吸い出し作業で間違えてブート領域を壊してしまったのかな?

何にせよHOMEボタンを押しながら正常起動できたので最悪文鎮にならないことがわかって良かった

Infinity2.0サンキュー

2023-11-02

anond:20231102212453

DDD分かんないんだよねえ

プログラミングするとき

パッケージモジュールクラスの切り方=役割=命名

くらいしか意識してない

それにフレームワークの入れ替えなんかする?

フレームワーク入れ替えのメリットコスト考えたら、99%ペイしないと思うんだよな

2023-09-29

anond:20230929075755

人が入る部分を共通のパーツにして、吸音材つけて簡易防音室にしたりとか、床部分を防水仕様にして災害時の簡易トイレの設置スペースにしたりとかできないかなって思うんよ

授乳室にしたって設置場所によっては防音仕様の方が良い場合もあるだろうし、モジュール化して状況に応じて組み合わせられると便利だと思うんだ

2023-09-22

日本人の半分は文字は読めるけど文が読めない

TwitterXで話題になったこ

彼はお金がない( )車を2台買った。

「ここが”ので”じゃなくて”けれども”になる理由が分かりません」

これについて「文脈がわからいから、どちらか決まらない」とか「文法的にはどちらも成立する」とか、全然文が読めていません

「本当は3台買うつもりだったけど、お金がないから2台にした」とか、問題なのだから書かれている情報以外の事は考えてはダメなんです

ここで考えるのは「~がない」というネガティブ状態 と 「~を買った」というそれに反する行動結果

ネガティブ状態 → 行動した」

という矛盾対立関係を考えたら、接続詞は「のに」「けれども」という逆説しか選択肢はないんです

でもそれがわからないというのは、文が読めていないんです

文を読むというのは

「具体的な事柄抽象化判断

このプロセスのことです

文脈がわからいから」というのは、入力情報が少ないということです

これが多くなればもちろん正解する確率も上がりますが、それは大規模言語モデルであるChatGPTと同じレベルってことです

 

※参考

東京外国語大学言語モジュール

https://www.coelang.tufs.ac.jp/mt/ja/gmod/contents/card/082.html

ログイン ユーザー登録
ようこそ ゲスト さん