タグ

cに関するtarchanのブックマーク (41)

  • C/C++に文字エンコーディングバリデーション機能がないって、ほんと? - kazuhoのメモ置き場

    通りすがり (2009-09-16 18:09) > PHP以外の言語は「(略)」のに対し ここに挙げられている言語がWebアプリで使われる全ての言語ではない。 例えば、CやC++にはない。付け足せば、PHPPerlなどのCモジュール内部で起こった不正な文字はスルーされうる。 よって、「PerlJava、.NETRubyPHPの中では」と書けば筋は通るが、「PHP以外では」は誤り。 そしてそんなことを、PHPの(脆弱性撲滅に注力している)開発者に言ったら、喧嘩を売られたと受け止められて当然。 PHP以外では: 既にあたり前になりつつある文字エンコーディングバリデーション - 徳丸浩の日記(2009-09-14) というコメントが気になった。 C言語にある文字コード変換機能って言ったら mbtowc だと思うけど、mbtowc は無効なバイト列を受け取ると EILSEQ を返すことに

    C/C++に文字エンコーディングバリデーション機能がないって、ほんと? - kazuhoのメモ置き場
  • libqrencode

    DOWNLOAD Latest release qrencode-4.1.1.tar.gz (sha512sum) / qrencode-4.1.1.tar.bz2 (sha512sum) (2020.9.28) Change log Old releases Repository You can find the Git repository at GitHub. GENERAL INFORMATION Libqrencode is a fast and compact library for encoding data in a QR Code symbol, a 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 初級C言語Q&A(15)

    初出: C MAGAZINE 1996年8月号 Updated: 1996-09-21 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] 今回は、よく知られているけどちょっと分かりにくいアルゴリズム、あるいは、 今までの連載で出てきたトリッキーなコードについて、どのような原理で動作す るのかを紹介してみようと思います。ただし、一般論として、凝ったコードより も分かりやすいコードの方が価値がある場合が多いということも頭に入れておい てください。 凝ったアルゴリズム Q 【曜日の求め方】 Comp.lang.c FAQ listを見ると、曜日を求める関数として次のものが紹介され ていた。 dayofweek(y, m, d) /* 0 = Sunday */ int y, m, d; /* 1 <= m <= 12, y > 1752 or so */ { stat

  • C++がPythonより重い… @ 7bit

    GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ

  • 新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog

    追記: 2009-05-12 新しいTokyo Tyrantで遊んでみてなんとなく動いた記録 - antipopに続きを書きました。 mixi Engineers’ Blog » プラグインで独自ストレージを作ろうにて、 今回はTokyo Tyrant(TT)を使ってユーザ独自のストレージシステムを簡単に構築する方法について説明します。 プラグインで独自ストレージを作ろう - mixi Engineers' Blog なんて、Tokyo TyrantがCレベルでプラグインを作れるようになったとのことで、すげーっ!!1てんで、さっそく遊んでみようと思いました。 ところで、Tokyo Tyrantで、ある単位で分割した複数のデータベースを扱いたいってなことがあるんじゃないかと思うのですよね。たとえば、データ量が多いとかメンテナンス性を確保するためとかで、ユーザごとにDBを作りたいとか、ある期間

    新しいTokyo Tyrantで遊んでみて挫折した記録 - Kentaro Kuribayashi's blog
  • プログラミング言語 C の新機能

    プログラミング言語 C は 1990 年に ISO で規格化された言語です。その後、何度かの誤りの訂正や wchar_t 型の追加といった追補がなされた後、さらに使いやすくするための新しい機能が検討されてきました。そして、1999 年、ついに新しいプログラミング言語 C の仕様「ISO/IEC 9899:1999 - Programming Language C」(略称 C99) が 1999/12/01 付けで規格として出版されました。ここでは、その新機能を説明します。

  • tools | suckless.org software that sucks less

  • 石田晴久氏が死去 UNIX、インターネットの国内普及に尽力

    国内のUNIX普及などに尽力した石田晴久氏(東京大学名誉教授、サイバー大学IT総合学部長)が3月9日、心筋梗塞のため都内の病院で死去した。72歳だった。 東大大型計算機センター在職時の1970年代に日に初めてUNIXを紹介し、83年には日UNIXユーザー会(JUS)を村井純氏らと設立。UNIXやC言語の基書の邦訳者としても親しまれた。1984年、国内インターネットの基礎となった「JUNET」(Japan University Network)のスタートにも東大への接続で協力するなど、インターネットの発展にも大きく貢献した。

    石田晴久氏が死去 UNIX、インターネットの国内普及に尽力
    tarchan
    tarchan 2009/03/10
  • JavaとC - 闘わないプログラマ Version 3.1 SP2

    去年の夏から書いていたがやっと出ます。 JavaプログラマのためのC作法 虎の巻 作者: Lepton出版社/メーカー: 翔泳社発売日: 2009/03/11メディア: 大型購入: 9人 クリック: 172回この商品を含むブログ (11件) を見る こういうの需要がどれほどあるのかはわかりませんが、Javaを知っている人向けのCのです。CはJavaとどこが違うのか、はたまた、似ているのか、という点に注目しつつCを解説しています。とは言っても、読み物的に違っている点と似ている点についてのみ書いているわけではなく、書を一通り読めばCのプログラミングができるように考慮されています。タイトルに「C作法」とありますが、「作法」だけに限らず文法はひととおり説明していますのでご安心ください(え? 誰も心配してない?)。タイトルは例によって著者が口出しできない……というか口出ししても通りません(

    JavaとC - 闘わないプログラマ Version 3.1 SP2
  • 「while(0)」の使い道 - maraigue's blog

    ※2/21 数発言追加 ■ mikotoxwhileとbreakを使ってみた給与計算ぷろぐらみゅ http://post.ly/JU■ mikotox試してみた。できたはず?■ s_hiiragi@mikotox 変わったwhileの無限ループ条件ですね。while(1)と書くだけでちゃんと無限ループしてくれますよ〜■ mikotox [Re]@s_hiiragi なんかwhile(0)は絶対書いちゃだめだよ!って言われて何か抵抗があった!すみません■ cielo_ee@mikotox あとwhile(0)がダメっていうのは絶対にループの中にいかなくなっちゃうからで、while(1)は適切にループを抜けるようにすれば使ってOK。いろいろうるさくて失礼。■ s_hiiragi@mikotox 0とか1とか数字は、while()の括弧の中では真偽値(簡単に言えば、YES or NO)に変換され

    「while(0)」の使い道 - maraigue's blog
  • do ... while(0)の意味

    Subject: [ruby-dev:11748] Re: do while(0) From: "Akinori MUSHA" <knu@ a o . g Date: Wed, 13 Dec 2000 15:44:18 +0900 References: 11747 In-reply-to: 11747 At Wed, 13 Dec 2000 15:29:34 +0900, K.Kosako <kosako / sofnec.co.jp> wrote: > #define SCOPE_SET(f) do {scope_vmode=(f);} while(0) > > このように、do {...} while(0)と書くのは、 > 単に {...}でブロック化するのと、何が異なる > のでしょうか。 たとえば if (...) SCOPE_SET(f); else ... と書いたとき、 S

  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

  • Linus「C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる」

    /15 [4] (21:54) 原文: http://lwn.net/Articles/249460/ From: xxx To: xxx Subject: Re: [RFC] builin-mailinfo.c をマシな文字列ライブラリを使うようにすること Date: Thu, 6 Sep 2007 18:50:28 +0100 (BST) Message-ID: <alpine.LFD.0.999.0709061839510.5626@evo.linux-foundation.org> On Wed, 5 Sep 2007, Dmitry Kakurin wrote: > > Git のソースコードを最初に見たとき、ヘンだと思ったこと: > 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性がどうとか言わないで、 > そんなのウソに決まってるから。 *あんた* のほうこそ

  • はてなブログ | 無料ブログを作成しよう

    中年以降の人生を考えるための5冊 今までずっと、ひたすらラクなことや楽しいことだけをやって生きていきたいと思っていたのだけど、40歳を過ぎた頃から、今までのやり方ではいろいろと行き詰まってくるようになってきました。何をやってもそんなに楽しくない。これからの人生はずっと下り坂が続いてい…

    はてなブログ | 無料ブログを作成しよう
    tarchan
    tarchan 2009/01/21
    なんでも書けるのが計算機科学最大の敵ならマイクロソフトの言語は全部否定しておk
  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記

    はじめに Adobe から C/C++ で書いたコードを Flash や AIR で動かす Alchemy というものがリリースされましたね! Alchemy - Adobe Labs これはすごい!ということで、少し試してみたいと思います。 その様子をリアルタイムに書いていきます。ちゃんと出来るかな 環境 OS は Mac OS X で gcc 、 java は入っているものとします。 ホームディレクトリ(/Users/amachang)に AlchemyTest というディレクトリを作って作業します。 インストール まずは、いろいろインストールします。 Flash Player 10 Debugger Version Adobe Flash Player - Debug Downloads ここからダウンロードしてきて、普通にインストールします。 Flex SDK 以下から Flex

    C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記
    tarchan
    tarchan 2008/11/21
    ニコニコ動画をハッキングし放題ですね!わかります。
  • Q. 1GB の文字列を strlen するのに必要な時間は? - id:kazuhookuのメモ置き場

    1GB の文字列を strlen するのに必要な時間は何秒でしょう? こういったものをぱっと予測できることは、最適化に取り組む上で必要かなぁ、と思ったので、自分の理解が正しいか確認するためにも、実測してみました。 (以下、白地に白文字で書いてあるので、選択して読んでください) 手元の Linux (Pentium 4 @ 3GHz / DDR2-667) では、約 0.48 秒 (2.1GB/sec)。GCC の組み込み程度の strlen では、ボトルネックはメインメモリの帯域あるいはレイテンシではなく、CPU になります。 一方、SSE で記述された strlen *1 を使用すると 0.26 秒 (3.9GB/sec)。こちらはメモリ帯域がボトルネックになっているようで、手元の MacBook (Core 2 Duo @ 2GHz / DDR2-667) でも、ほとんど同じ数値になり

    Q. 1GB の文字列を strlen するのに必要な時間は? - id:kazuhookuのメモ置き場
  • kur.jp - C言語入門者がポインタで躓く3つの理由

    kur.jp バイオリンと自転車をこよなく愛する大学院生のチラシの裏.たまーに技術的なことも書いたりするかも知れません. Home About Me Link 先日,とある一部上場企業で,「技術系新入社員の方にC言語を教える」と言う,とても楽しいイベントがありました. この講義では,Windows環境にCygwinのインストールから始まって,関数やポインタや構造体等を学び,10日かけてC言語を一通り使えるようになってもらおうと言うものです.さすがに業務として受講しているからか受講生は真剣そのもの.教えるほうにも,ついつい熱が入ります. ところで,この講義では,座学の時間よりも演習の時間をたっぷり取って,受講生に,自分の手を動かしてプログラムを組んでもらっています.具体的には,講義時 間の3分の2以上を演習と,その解説に当てています.演習時間中は,教室の中を歩き回って,どんなプログラムを書い

  • MergeDoc Project