コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2014年3月22日 >>> 2014年3月9日
link もっと後

2014年3月22日

無線は速くなった

有線の次世代規格10Gbps Etherが足踏みしている間に、無線が1Gbps超えて(参考: NEC AtermStationのサイト)、有線が無線に負けちゃたなあ。

規格名メモ。

  • IEEE802.3ab: 1Gbps Ethernet
  • IEEE802.3an: 10Gbps Ethernet
  • IEEE 802.11n: 600Mbps 2.4GHz/5GHz Wi-Fi
  • IEEE 802.11ac: 6Gbps 5GHz Wi-Fi

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 20:21)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月21日

Scalaコレクションとlength

Scalaでファイルの中身を解析したいとき、遅延評価コレクション(StreamとかViewとか)にファイル全体をマッピングすれば、好きな位置を解析できて楽だろう、というアイデアは誰しもが考えると思います。

実は私もその口だったのですが、実際にやってみるとScalaコレクションはlengthが全てInt型とされているため、アクセスできる範囲が短すぎて(最大で2Gi要素まで)困ってしまいました。

たかがそれしきのことですが、lengthはコレクション操作の至る所に出現しますので、非常に影響は大きいです。

Scalaの遅延評価は、事前に全て評価するのは不可能な(長さが無限大、あるいは大きすぎる)コレクションを扱うアイデアのはずなのに、何を思ってコレクションのlengthをInt型にしたのでしょう…。

編集者:すずき(2014/03/22 02:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月17日

独り言レビューだって良いじゃないか

$shibayu36->blog; - 2014-03-16コードコンプリートを再読した

「二人である物事に取り組むと、大体会話をしている最中に設計が良くなっていくことが多い印象がある。議論にならなくても良いことも多くて、話しかけるためだけのぬいぐるみとしてだけでも良いこともある。」(以上、引用、強調は私によるもの)

作業履歴代わりに、会社のRedmineに設計とかコーディングについて、独り言を書き続けていて、最近ちょっと虚しくなってきていたのだけど、実はレビューの意味もあったんだよ、ということを気づかせてくれた。そうだったのか…。

メモ: 技術系?の話はFacebookから転記しておくことにした。

編集者:すずき(2014/04/21 02:05)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月16日

難解なコードが増える理由

数年前から、会社で理解に苦しむ難解なコードが多いのはなぜだろう、誰に聞いても「このコードは意味不明だ、一見してもわからない」と言うのに、どうして誰も直さないのだろう?と疑問に思っていました。

金、土とほぼ風邪で寝てて暇だったので、久しぶりにこのブログ(脱社畜ブログ - 2013-10-30 - 「あなたにしかできない仕事」を無くすために必要なこと)を読み返していたら、なんとなく答えがわかりました。

特にこの部分です。
(引用)「あなたにしかできない仕事」を「誰でもできる仕事」に変えることは、「あなたにしかできない仕事」を一人で抱えるよりも遥かに価値があることだ。そういう意味で、この手の「標準化」は高く評価されなければならない。(引用終)

以前読んだときは「標準化」がイマイチわからなかったのですが、これを、

  • 「あなたにしかできない仕事」=「あなたにしか理解、メンテナンスできないコード」
  • 「誰でもできる仕事」=「誰でも理解、メンテナンスできるコード」

と置き換えて、「標準化」は「読みやすい、わかりやすいコードに書き換える」「一見して理解できる小規模に分割する」といった行為に置き換えると、非常にしっくりきました。

会社の難解なコードが増えていく理由は、標準化、つまりコードをわかりやすくするインセンティブが会社から与えられないというシステム的な問題が主な原因であって、個人に責はない、ということです。

このような評価体制だと、他人のコードに興味を示さない方が得になってしまいます。金より、エンジニアとして一目置かれたい、と思う人のやる気すらも奪ってしまうことになります。

私個人が会社の金銭的インセンティブのシステムを変えるのは難しいですが、せめて、わかりやすいコードを書く人を褒めて感謝し、自身もわかりやすいコードを書くことで報いることを心掛けようと思います。

編集者:すずき(2014/03/16 16:17)

コメント一覧

  • よしださん(2014/03/16 17:09)
    会社のシステムの前に、コード(というか設計そのもの)がわかりにくいことによる金銭的・機会的なロスが見えにくい、というのが問題なんでしょうね。。

    かといって、ほら、いまこんなに無駄なんですよ、というのは実改善とセットじゃないと生産的とは言えないので、やはり「わかりやすい設計」「ノウハウの共有知化」を心がけてしっかりやる、というしかないのでしょうかね。。
  • すずきさん(2014/03/16 21:52)
    >よしださん
    地震の被害予想と同じで、過去の失敗例から、この規模で設計をマズったら作り直しに幾ら掛かる、と言えば良いと思います。
  • すずきさん(2014/03/16 21:57)
    あー、でも、被害予想に必要な過去の失敗例がありませんね。

    失敗例を公開することに対して、マイナスのインセンティブが働くので、誰も公開しないのでしょうね。

    明らかな失敗なのに絶対に失敗とは認めず「こんな成果があった」とウソばかりついて、最後はウヤムヤにするプロジェクトが多いのはそのせいなのか…。
open/close この記事にコメントする



2014年3月15日

炎上したプロジェクトの評価が良いのはなぜ

なぜ暇な人ほど「忙しいふり」をするのか - ダイヤモンド・オンラインを読んで。

炎上する案件ほど、上司が関わる時間が増えるので、
「あの案件はつらかったが、俺のおかげでぎりぎり回せたんだ」
という上司の勘違いが強く記憶に残り、評価の際にも思い出しやすいので、評価が上がるのだと思います。

上司の参画により早く終わることもあるかも知れませんが、大抵の場合は、プロジェクトが炎上すると…、

  • 上司が勝手に割り込んでくる
  • 上司は進捗管理ミーティングで毎日メンバーをロックするので、さらに遅れる
  • 上司はメンバーにいつ出来るんだと怒鳴り散らし志気を下げるので、さらに遅れる
  • 上司は何も知らない人を追加し開発を混乱させるので、さらに遅れる
  • 上司はPLを呼びつけては怒鳴りつけるので、PLが病んで失踪してさらに遅れる
  • 上司は死ぬ気でやれとデスマーチを強行してメンバーを潰すので、さらに遅れる
  • 上司は客のプレッシャーにすぐ負けて、期日を勝手に約束してくる(が、当然守れず、さらに炎上する)

となりますよね。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 20:26)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月14日

日記システムがまたコメントスパムにやられた

目次: 自宅サーバー

以前、コメントが書き込めなくなって(2014年1月7日の日記参照)しまい、応急処置で切り抜けましたが2か月経たないうちに再発しました。年単位ならまだしも1〜2か月で再発するようじゃ、もう駄目だろということで真面目に調査開始しました。

原因

白いページが出る原因は、PHPプロセスのクラッシュによるものでした。具体的には、コメントの承認待ちデータの肥大化により、承認待ちデータをロードした際にPHPスクリプトを実行するプロセスがクラッシュして、何も応答を返せなかったためです。大体50MB overくらいで発生するようです。

また、コメントの承認待ちデータが肥大する原因は、この日記システムの設計が悪かったためです。コメントの承認待ちデータは下記の仕組みで、追加、および、削除が行われていました。

  • コメントを送信する
  • コメントの承認待ちデータの最後尾に「追記」
  • コメント書き込み内容を承認(「上記、確かに認めます」のチェックを付けて「送信」することを指す)
  • コメントの承認待ちデータを全て「ロード」して、時間切れのモノを「削除」

設計の大きなミスとしてコメントを承認しないと、コメントの承認待ちデータを削除する処理が絶対に動作しない点です。コメントを承認しない限り、コメントの承認待ちデータが際限なく追記されてしまいます。

対策

対策として、コメントの承認待ちデータを「追記」する際に、同時に時間切れのモノを「削除」する処理を追加しました。これにより、時間切れと判定する時間内(現在は300秒)に、50MB分のスパムを送りつけられない限り、今回の問題は発生しないはずです。

承認待ちデータの大きさは、名前+コメント+約600バイトです。だいぶ長いスパムでも、せいぜい数KB程度なので、33回/秒の勢いで300秒間連続で投稿されない限り、パンクは免れるはずです。

残課題

ただし、今は名前やコメントに長さの制限がないため、50MB超のコメントを送信されると、一撃でコメントが書き込めなくなります。

やられたらそのときまた考えますけど、できればやらんで欲しいですな…。

編集者:すずき(2024/01/13 17:00)

コメント一覧

  • IKeJIさん(2014/03/17 14:39)
    ロードして、ゴニョゴニョして、書き戻すと、途中で死んだ時に消えませんか?
    読みながら別ファイルに書いて、リネームの法が良さそうな。
  • すずきさん(2014/03/17 21:44)
    >IKeJI さん
    今は、ファイルから全部メモリに読んで、加工が全部終わったら、メモリから一気にファイルに書いているので、ファイルに書いている途中で死ぬと全損ですね。
    リネームの方が良さそうですね。同時にリネームが走ると悲劇が起きそうなので、ロック用のダミーファイルが要るかな。

    問題は、既に PHP をだいぶ忘れていることですね。過去の自分は他人だ…。
open/close この記事にコメントする



2014年3月9日

スゴイと思う人

1人で問題を解決する奴は、スゴイと思う。

1人じゃ無理だけど周りに呼びかけて解決まで導く奴は、偉いと思う。

問題を指摘するだけで逃げる奴は、居ても居なくても良いと思う。

「何だアイツ熱くなって…」ってバカにして何もしない奴らは、居ない方が良いと思う。

メモ: 技術系?の話はFacebookから転記しておくことにした。

編集者:すずき(2014/04/21 02:01)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2014年3月22日 >>> 2014年3月9日
link もっと後

管理用メニュー

link 記事を新規作成

<2014>
<<<03>>>
------1
2345678
9101112131415
16171819202122
23242526272829
3031-----

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20