タグ

プログラミングに関するAinHandのブックマーク (32)

  • C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ

    C#(.NET Framework)に限ったことではありませんが、汎用的にテキストファイルを扱うようなアプリケーションを作っていると、よく 特定の文字コードのファイルしか読み出せないのでは困る ⇒文字コードを自動判別し、テキストの内容を取り出したい 読み出したファイルと同じ文字コードでファイルを書き出したい ⇒読み出したファイルの文字コードを知りたい といった場面に出くわします。 ですが、C#(.NET Framework)標準のライブラリではそのような機能は提供されていないため、文字コードを判定するには、 自前で文字コード判定のロジックを実装する 出来合いの外部ライブラリ、Windows版NKF32.dll、ICU4Cなどを利用する IE用の文字コード判別ライブラリ(mlang.dll)を利用する ※COMコンポーネント呼び出し要 のいずれかの方法を取ることになります。 HNXgrepと

    C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • プログラミング出来ない奴ちょっと来い

    プログラミング出来る方法教える。 世の中「プログラミング言語」を説くはごまんとあれど「プログラミング」を説くやブログはあまりない。 いや実際に "ない" というのはかなり語弊があるかもしれない。 しかし、通常この種の説明しているに辿り着くまでには多くの時間が必要だ。 普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要な概念を獲得するのだと思う。 例えば、「計算機プログラムの構造と解釈」や「実用 Common Lisp」、「コンピュータプログラミングの概念・技法・モデル」などの書籍は現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。 しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。 そして、"普通のプログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と

    プログラミング出来ない奴ちょっと来い
  • - 不吉な匂い

    不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。

  • プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 - かまずにまるのみ。

    この文章について OOP(オブジェクト指向プログラミング、オブジェクト指向パラダイム)について プログラミング勉強中の大学生さんに説明する機会が何度かあったので、 自分の中で整理するために書きました。 中には適切でない説明もあります。ばっさり省いているところもあります。 詳細より イメージを掴んでもらうことを優先しているためです。 「それにしてもあんまりだなー」という表現がありましたらご連絡いただけると嬉しいです。 大学生さん 大学生さんたちはいろんな背景を持っています。 プログラミングを始めたばかりの人 独学で Objective-C や JavaScript を書いた経験がある人 Web やコンピュータの仕組みについてもこれから勉強する予定の人 使用言語 大学生さんたちはプログラミングの第一歩として JavaScriptPHP を使っています。ここでは説明に PHP のコードを使

    プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 - かまずにまるのみ。
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 「学びたい、全ての人へ」creiveより

    いつもcreive(クリーブ)をお読みいただきありがとうございます。 この記事は「いつもの記事」とは少し違います。 インターネットさえ繋がっていれば、学びたいコトが学べる時代になりました。 好きな時に好きなだけ学べて、何度でも繰り返して復習できる。 インターネットが提供してくれた価値は、計り知れない威力があります。 この記事は当初、 「ネットさえあれば自由に学べる!日語で学習できるWebサービス」 というタイトルで作成するつもりでした。 ただそんな一発単体の記事では、世の中は1ミリも動かないと考えました。 私たちcreive(クリーブ)は、このメディアを通して「学びたいヒトが、学びたいコトを、自由に学べる世界」を創ります。 いまこの記事を読んでくださっている方は、ネットリテラシーが高く、すでに知っている情報ばかりかもしれません。 ただ、普段インターネットに触れない人たち(私の場合、地元の

    「学びたい、全ての人へ」creiveより
  • きれいなプログラミングコードの書き方:プログラミングの基礎知識 - 久保清隆のブログ

    プログラマによって色々なプログラミングスタイルがあると思うが、センス・オブ・プログラミング! 抽象的に考えること・データ構造を理解することを読んで、きれいなプログラムを書く方法については共通点があると思ったので、書を参考にきれいなプログラミングコードを書く方法についてまとめた。 目次 目的を理解する 書く時のことよりも、読む時のことを考える 愚直でも読みやすく インデントは統一する コメントは無駄なコメントを書かずソースの意図を書く 例外は、当に例外的な場合だけに使う 名前のつけ方を重視 命名法 省略しない 同じことを書いてはいけない コピペをやめる 関数に分割する 机上デバッグは時間の無駄 良いコードとコーディングレベル 良いコード コーディングレベル 目的を理解する何らかのコーディング規約に従ってプログラムを書くなら、常にその理由を理解すること。 盲目的に規約に従うことは、規約が全

    きれいなプログラミングコードの書き方:プログラミングの基礎知識 - 久保清隆のブログ
  • Googleエンジニアから学ぶ、ハッカーになるための勉強法 - 久保清隆のブログ

    Debian Project/Google ソフトウェアエンジニア鵜飼文敏さんの講演動画を見たのでまとめ。 内容は、フリーソフトウェア、オープンソフトウェアのハッカーGoogle内のハッカーがどのようにソフトウェアを作っているか。 少し前の講演だけど、ハッカーを目指す上で非常に参考になった。 ハッカーの特徴 ハッカーとは Hacker ethic ハッカーのソフトウェアの作り方 ハッカーの開発スタイル 手順 要求仕様 設計 実装 テスト デバッグ チューニング ハッカーに近づくには 必要な知識 知識の習得の仕方 ハッカー仕事をするときの問題点 その他に紹介されていた書籍 感想 参考 ハッカーの特徴 普通の人をはるかに上回る高い生産性 高品質のソフトウェアを作りだす ハッカーとは ハッカーズ大辞典によると、 プログラム可能なシステムの細かい部分を探ったり、その機能を拡張する方法を探求した

    Googleエンジニアから学ぶ、ハッカーになるための勉強法 - 久保清隆のブログ
  • プログラミング言語「日本語」

    ■ はじめに 日語は約1万年前、古代縄文人によって考案された世界的にも最も古い部類のプログラミング言語の一つである。(※) 日語の起源は、古代の北方系言語と南方系言語であり、それぞれの特徴、即ち、強力なマクロ機能と柔軟な音節構造を共に持ち合わせているかなり珍しい言 語である。 更に、日語はその後、約1万年の間にわたって仕様の変更や拡張が幾度も行われ現在の形に至っている。その過程で日独特の固有な機能を有するように なった。 これらの特徴は日語の利点であると同時に、習得する上での障害ともなっている。 書はプログラミング言語としての日語を習得する上で、比較的良く使われる構文を主に取り上げ解説したものであり、これから日語プログラミングを始 める人を対象として書かれている。 ※念のために書いておくと、書は日語をプログラミング言語のように解説することによって、普段意識 しないで使っ

  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
  • 1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた - IT-Walker on hatena

    もうJavaRubyも要らない?–JavaScriptオンリーの未来派WebアプリフレームワークMeteorがデビューという記事で知った、新しいフレームワークMeteor。 ちょっと気になったので、軽く触ってみました。すごすぎるフレームワークの登場です!! 正確に言うと、実行環境&フレームワーク&クラウドPaaS&パッケージマネージャーといったところでしょうか。Node.jsとHerokuとnpmが一緒になったようなもんだと思えば、イメージがわくと思いますが、実態はそれらを上回っています(パッケージ数はnpmの比じゃありませんが・・・使い勝手という意味で)。 インストール ターミナルをたちあげて、以下のコマンドを実行するだけ。 (行頭の$はターミナルであることを表してるだけで、コマンドの一部じゃありません) $ curl install.meteor.com | sh これで /usr/

    1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた - IT-Walker on hatena
  • PHPを使う理由

    今年もやって参りました年末を彩る PHP Advent Calendar 2012 です。3年目ということですっかり恒例行事となってきましたね。今年も完走目指してみんなで頑張りましょう! 参加枠があとわずかですが残っていますので、いっちょやってみようという方は参加表明をお願いします。 PHP Advent Calendar さて、初日は前から書いてみたかったテーマです。 PHPをWebシステム開発言語として使い出してかれこれ12年が経ちました。これだけ長い間使い続けているとうことは何か理由があるわけです。そこで、あらためてその理由を考えてみました。 1. 安定して動作する まず、なんと言っても大きいのが安定して動作し続けているということです。 規模の大小に関わらず数多くのWebサイトがPHPで動作しているのは周知のとおりです。私がこれまでPHPで構築してきたWebシステムが現在でも動作して

  • Ajax を使った手書き文字認識

    Ajax を 使った手書き文字認識です。下のキャンバスにマウスで文字を描いてみてください。 デモ

  • 学んでから作るのではなく、作ってから学ぶ - ぼくはまちちゃん!

    こんにちはこんにちは!! 先日、ちょっとしたイベントで、学生の方にこんな質問をされました。 「自分は早くプログラマになりたい、作りたいアプリもある。 だけど来年にならないとプログラミングの授業が始まらないから、作れない」 と。 なるほど。 その時、ぼくが答えたのは、 「今日、家に帰ったらプログラミングしてください」 だったんだけど、言葉が足りなかったかもしない。 だからここに、もうちょっと詳しく書いてみますね。 アプリを作る、プログラマになる、一番手っ取り早い方法を。 1. 目標を立てる 作りたいものを思い描くということ。 いきなりすごいものを作るのは大変だから、最初の目標は少し抑えてちょっとしたものがいいね。 できれば、自分にとって便利なものや、少しワクワクするものがいい。 例えば、スマホで動くキッチンタイマーとかでもいい。 (これはワクワクしないかもしれないけど) 2. すぐに作り始め

    学んでから作るのではなく、作ってから学ぶ - ぼくはまちちゃん!
  • プログラミングのルール

    自分のルールを twitter に書いてみました。1時間半ぐらいやってたらしい。 * * * 変数名やクラス名に省略した単語でなく正しいスペルのものを使う。 他人のインデントはいじらないが、間違ってるのはなおす。同じインデントシステムを使う。勝手に発明しない。ちなみに、K&R 大域変数は使わない。Singleton も使わない。インスタンス変数経由でパラメータを渡さない。必要な場合のみに使う。 コメントは関数/メソッドの役割に対しておこなう。bug fix comment には例を含める。 測定を伴わない最適化は無意味で間違っている。 xUnit を使う。 修正前のコードを残すようなことはせず、版管理にまかせる。 fprint() ; exit() ; のようなエラー処理をせず、エラー処理ルーチンを呼ぶ。 malloc を裸で使わない。 use case 図から書き始める。 if else

  • 設計と実装の狭間で - 急がば回れ、選ぶなら近道

    ・現状 ・・・相変わらず溝は埋まっていません。希望の星と目されたDSLは現時点ではかなりの不発弾に近い感じで、設計系クラスターはあまり元気がないですね。翻って見れば、設計と実装が最も近かった時代は、なんのことはなくて、自分も含めて(懐古趣味の老人を除いた)皆さんが毛嫌いするCOBOL+汎用機の時代だったかもしれないという意見すら出る惨状です。あの時代以降、 UMLが登場し、まさに銀の弾丸状態で、それ以降Unified Processやら何やらが、インフルエンザの如く流行りました。ま、その延長上に今のアジャイルまでの流れがあるわけですが、気がついてみれば、これほど設計と実装が離れてしまった時代もないという状態になってしまっています。・・・設計と実装の狭間は、相変わらず埋まっていない気がします。 ここへ来て、実装技術の多様化は、カンブリア紀を思わせる拡大の一途になっています。開発環境のみならず

    設計と実装の狭間で - 急がば回れ、選ぶなら近道
  • 詳しすぎる詳細設計書 - SiroKuro Page

    「詳細設計書」と呼ばれるドキュメントがあります。各処理の入出力や処理概要を記載した文章です。 入力: 「性別と身長のペア」のリスト 出力: 男性の平均身長」と「女性の平均身長」の差 処理概要: 変数「男性の合計身長」「女性の合計身長」「男性の人数」「女性の人数」を 0 で初期化する 入力を受け取る 入力されたリストから要素を読み込む 入力されたリストの要素数だけ以下を繰り返す 要素を1つ読み込み、条件分岐する もし要素が男性なら、変数「男性の合計身長」に身長を加算し、変数「男性の人数」を1増加させる もし要素が女性なら、変数「女性の合計身長」に身長を加算し、変数「女性の人数」を1増加させる 次の要素を読み込む 「男性の合計身長」÷「男性の人数」−「女性の合計身長」÷「女性の人数」を、変数「計算結果」に代入する 出力する イメージとしては、こんな感じ。各社それぞれ、どんな詳細設計書を書いてい

    詳しすぎる詳細設計書 - SiroKuro Page
  • 日々進化するHadoop。これまでのおさらいと最近の動向(前編)

    大規模な分散処理フレームワークとしてHadoopが登場したことにより、ビッグデータのブームや、大規模なソーシャルゲームでのログ解析による改善、コマースサイトでの機械学習によるレコメンデーションなど、多くの変化が引き起こされてきました。 そしてそのHadoop自体も、日々進化し続けています。 Hadoopとはどういうソフトウェアであり、いまどのような状況になっているのか。NTTデータの濱野賢一朗氏が、先日行われた第2回 NHNテクノロジーカンファレンスで行ったセッション「日々進化するHadoopの『いま』」で分かりやすく解説しています。 この記事ではそのセッションの内容をダイジェストで紹介しましょう。 日々進化するHadoopの「いま」 NTTデータ 基盤システム事業部 濱野賢一朗氏。 NTTデータというところで仕事をしています。NTTデータ自体はもう5年くらいHadoopをやってまして、そ

    日々進化するHadoop。これまでのおさらいと最近の動向(前編)
  • 開発者が知らないと残念過ぎるAndroid 4.1の新機能36選

    もはやメジャーアップデートAndroid 4.1が登場 2012年6月27日、グーグルAndroidのバージョン4.1、コードネーム「Jelly Bean」を発表しました。7月10日には、ソースコードも公開されています。

    開発者が知らないと残念過ぎるAndroid 4.1の新機能36選