コグノスケ


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-----

最近のコメント20件

  • link 21年9月20日
    すずきさん (11/19 01:04)
    「It was my pleasure.」
  • link 21年9月20日
    whtさん (11/17 23:41)
    「This blog solves my ...」
  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」
  • link 14年6月13日
    2048playerさん (09/26 01:00)
    「今のところ最も簡略化した式です。\n--...」
  • link 14年6月13日
    2048playerさん (09/16 01:00)
    「返信ありがとうございます。\nコメントが...」
  • link 14年6月13日
    すずきさん (09/12 21:19)
    「コメントありがとうございます。同じ結果に...」
  • link 14年6月13日
    2048playerさん (09/08 17:30)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048さん (09/08 17:16)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048playerさん (09/08 16:10)
    「私も2048の最高スコアを求めたのですが...」
  • link 02年8月4日
    lxbfYeaaさん (07/12 10:11)
    「555」
  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」
  • link 24年5月17日
    hdkさん (05/19 07:45)
    「なるほど、そういうことなんですね。Exc...」

最近の記事3件

  • link 24年11月18日
    すずき (12/04 02:08)
    「[nvJPEGとNVJPGとJetson APIその1 - nvJPEG decoupled API] 目次: Linux半年...」
  • link 23年4月10日
    すずき (12/04 01:40)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年11月28日
    すずき (12/01 00:53)
    「[BIOS/UEFI画面に入る方法] PCは起動時にあるキーを押すとBIOS/UEFIの設定画面に遷移します。良く見るパターン...」
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

最終更新: 12/04 02:08