タグ

**と*devに関するkana321のブックマーク (2)

  • Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱

    二十五日半狂乱、6日目(の分...orz)の記事 Cのエラーハンドリングを毎回やるのは面倒だ! 前回も言ったが、Cではエラーハンドリングに戻り値とerrnoを用いる. それはそうと例外設計において"無視"は大罪である. だから、関数を呼び出したら戻り値は漏らさずチェックすべきだ. ということで、例えば以下のように逐一戻り値をチェックする. if(send(sockfd, buf, len, 0) < 0){ ERROR("send"); exit(1); } あぁ、面倒だ. 一体コードのどの部分が正常系の処理なのか? ほとんどエラーハンドリング*1で埋め尽くされるじゃないか. そもそもエラーハンドリング部分に書くのは毎回同じコードだし、コードの繰り返しは防ぎたい. エラー処理部分をラッピングして楽をする unpv12eの中でラッパーを被せることによってこの面倒を回避する方法を知った. in

    Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱
    kana321
    kana321 2014/10/31
    Cのエラーハンドリングと例外設計、例外処理のメモ
  • [MySQL][Python]8000万レコードをInsertする | Momentum

    概要 ・とある物件で8000万弱のレコードを新規のDBに効率的にぶち込む方法を考える必要に ・MySQL(Amazon RDS) + Python(mysql.connector)を想定 ・mysql.connector + pythonについては拙文ながら(http://nekopuni.holy.jp/?p=927)に書いております。 ・コミットの位置には気をつけよう + Multiple Insert最強ねというお話。 方法その1 まずは最初にやった方法。1レコードごとにInsertしてコミットしていく方法。 今までDB関連でやったコードはレコード量も大したことなかったので以下の方法でも特に問題なかった。 具体的な環境としてはテキストデータ(csv)を読み込み、それをDBにInsertしていくというもの。 csvの中身は日付(DATE)とデータ値(VALUE)がカンマ区切りになってい

  • 1