タグ

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

  • 論理的思考の放棄の具体的方法 - 登 大遊 (Daiyuu Nobori) の個人日記

    何か重要な作業を効率的にしようと思うのに、次々と考えが思い浮かんでしまい集中できないときは、まず、頭の中で、以下のように上下左右に強力な磁石のようなものが設置されている様子を想像する (ここで磁石には N 極と S 極があるがどっちの方向を向いて配置されているのかといった論理的なことは考えなくても良い。とにかく磁石のようなものがある、という程度で良い)。 磁石のイメージをリアルに思い浮かべる必要は全くない。だいたい磁石のような、何かを吸い寄せるような性質のものがあるな、という程度で良い。 次に、その磁石で囲まれた空洞の中央部分に、少し重いけど、手で簡単に持てる程度の鉄球 (鉄を思い浮かべなくても、磁石のような何かに吸い寄せられるような何か) を思い浮かべる。 背景のイメージは Microsoft Windows XP の壁紙からの引用であり、コンピュータのディスプレイを見ながらイメージをす

    論理的思考の放棄の具体的方法 - 登 大遊 (Daiyuu Nobori) の個人日記
    Windymelt
    Windymelt 2020/06/14
    おもしろい。同時に複雑な想像を行うのか。
  • 論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記

    僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。 また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。 とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。 当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。いかなる場合でも、設計は、最初の 1 回目で確定

    論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
    Windymelt
    Windymelt 2020/06/14
    読み書きするようにプログラミング、設計をやるってことかな
  • ふつうのLinuxプログラミング-プロセスとハードウェア

    研究会の輪講でやったやつ.多少がんばった&評価も高めだったし使いまわせそうなので上げておく.

    ふつうのLinuxプログラミング-プロセスとハードウェア
  • codic - デベロッパーのためのネーミング辞書

    codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。

    codic - デベロッパーのためのネーミング辞書
    Windymelt
    Windymelt 2020/06/09
    日本語から変数名などのネーミングをしてくれるサービス。おもしろい。
  • 経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!

    経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した! Code for Japan の関さんが SNS でシェアしてて知ったのですが、経産省さんがなにやらオープンソースで住所や電話番号の正規化などなどをするツールを公開したとのこと。 https://info.gbiz.go.jp/tools/imi_tools/ 経産省が住所変換や法人種別名、電話番号の正規化に使えるIMIコンポーネントツールを公開しました。 ソースコードも公開。README にも使い方が丁寧に書かれていました。https://t.co/fPbV00EgZP 素晴らしい動き。こういう... #NewsPicks https://t.co/bew0qGKMFE — Hal Seki (@hal_sk) May 28, 2020 ぶっちゃけ当初はあまり期待

    経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!
    Windymelt
    Windymelt 2020/05/29
    すばらしい
  • NHKから国民を守るプログラミング言語 - Qiita

    国民からNHKからNHKから国民からNHKを守る党を守る党からNHKから国民から国民を守る党を守る党からNHKから 国民からNHKを守る党を守る党からNHKから国民からNHKからNHKから国民を守る党から国民を守る党を守る党を守 る党を守る党から国民を守る党を守る党を守る党を守る党を守る党から国民から国民を守る党を守る党からNHK から国民からNHKを守る党を守る党から国民を守る党からNHKからNHKから国民からNHKを守る党を守る党から国民 を守る党を守る党からNHKから国民を守る党から国民を守る党を守る党を守る党からNHKから国民からNHKを守る 党を守る党から国民を守る党からNHKからNHKから国民からNHKを守る党を守る党から国民を守る党を守る党からN HKから国民を守る党から国民を守る党を守る党を守る党からNHKからNHKから国民からNHKを守る党を守る党から 国民を守る党を守る

    NHKから国民を守るプログラミング言語 - Qiita
  • 2018年の段階で私が知らないこと

    Originally written in: English • Русский (авторский перевод) Translated by readers into: Deutsch • Español • Français • Português do Brasil • Svenska • Tiếng Việt • తెలుగు • 日語 • 简体中文 • 繁體中文 • 한국어 Read the original • Improve this translation • View all translated posts 多くの人は、私が実際に持っている知識量より遥かに多くのことを知っていると思い込んでいる。それは悪い事ではないので文句を言っているわけではない。(世の少数派の人達は、努力して資格を得ているにもかかわらず、逆の偏見に苦しめられている。それはイケてない。) この記

    Windymelt
    Windymelt 2019/01/18
    良かった,はげみになる
  • [翻訳] コードレビューについて

    この記事は::..: glen.nu :.: ramblings :.: on code review :.::の意訳記事です。@9len氏の許可を受けて投稿しています。誤り・修正などがありましたら、@iwashi86までご連絡いただけますと幸いです。 This article originally appeared in English at :..:: GLEN D SANFORD :.: RAMBLINGS :.: ON CODE REVIEW ::..: and has been translated with @9len’s permission for posting to this blog in Japanese. この記事は2014年3月に書いている。Twitterでユーザ検索チームを私が率いていたころの話だ。この記事は、コードレビューに関するセオリー・アプローチを体系化

    [翻訳] コードレビューについて
  • Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita

    記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション

    Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita
  • ソフトウェア設計のすすめ

    Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」Yoshimura Soichiro

    ソフトウェア設計のすすめ
    Windymelt
    Windymelt 2017/03/11
    インクリメンタルにやっても作れない種類のものもある。「設計とは要求に対して、狙った要件を設定でにるようにすること」
  • Gauche で Webサーバ - moremagic’s diary

    Gauche で Webアプリが作れないかと思い調査してみました。 いろいろな資料が見つかったので、半分以上写経してWebサーバが動作しました。 スゴイ! web-server.scm (use gauche.net) (use srfi-13) (use rfc.uri) (use www.cgi) (use gauche.reload) (use gauche.collection) (add-load-path "./") (use application) (define error-page "<html><body><h2>Error</h2></body></html>") (define (web-server) (let1 server-socket (make-server-socket 'inet 8080 :reuse-addr? #t) (guard (e (e

    Gauche で Webサーバ - moremagic’s diary
    Windymelt
    Windymelt 2017/02/09
    小さな実装
  • 賢い質問のしかた

    翻訳: アラビア語 インドネシア語 ベラルーシ語 ブラジルポルトガル語 中国語 チェコ語 オランダ語 フランス語 グルジア語 ドイツ語 ギリシャ語 ヘブライ語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語 セルビア語 スペイン語 スウェーデン語 タイ語 If you want to copy, mirror, translate, or excerpt this document, please see my copying policy. 多くのプロジェクトのウェブサイトがヘルプの項目からこのドキュメントにリンクを張っている。それは私達の意図した使い方なので構わない ―― しかしあなたがそのようなリンクをプロジェクトのページに追加しようとしているウェブ管理者ならば、リンクの傍らに目立つように、私達があなたのプロジェクトのサポート窓口ではないことを明示してほしい。 その注意書き無くし

  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
  • Algoogle

    Algorithm for Programming Contest 文字列 比較 Rolling-Hash法(Rabin-Karp法) 検索 Aho-Corasick法(複数パターン検索) グラフ 最短路 Warshall-Floyd法(全点対最短路) Dijkstra法(単一始点最短路) フロー Ford-Fulkerson法(最大流) Dinic法(最大流) 最小費用流 木 Prim法(最小全域木) Kruskal法(最小全域木) HL分解 関節点 橋 彩色数 Math 整数 剰余 高速剰余変換(FMT) 多項式 行列 積 線形方程式の解(Givens) 探索 2分探索 解析 高速フーリエ変換(FFT) 有理数(分数) 幾何 平面 点 直線と線分 円 凸包 データ構造 Union-Find-Tree Segment-Tree Segment-Tree(2次元) Binary-Index

    Windymelt
    Windymelt 2016/12/06
    競技プログラミングで使われるアルゴリズムの一覧
  • デメテルの法則 - Wikipedia

    デメテルの法則 (Law of Demeter, LoD) または最小知識の原則 (Principle of Least Knowledge) とは、ソフトウェアの設計、特にオブジェクト指向プログラムの設計におけるガイドラインである。 このガイドラインは1987年の末にかけてノースイースタン大学で作成された。簡潔に言うと「直接の友達とだけ話すこと」と要約できる。基的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 「デメテルの法則」という名前は、この法則がアダプティブプログラミングとアスペクト指向プログラミングに関する研究であるデメテルプロジェクトの成果であることに由来する。プロジェクト名は農業の女神であるデーメーテールにあやかっている。 オブジェクト指向プログラムにデメテルの法則を適用する場

    Windymelt
    Windymelt 2016/10/25
    オブジェクトがどこまでの範囲で別のオブジェクトを呼べるか.「使えるドットは1つだけ」
  • 30のプログラミング言語でFast inverse square rootを実装してみました! - プログラムモグモグ

    あなたの好きな言語は何ですか。そして、あなたの好きなアルゴリズムは何ですか。 好きな言語があると、その言語でどんな問題でも解決しようとなりがちになります。その言語を極めるのは素晴らしいことですが、その言語や似たような言語でしかコードが書けなくなったり、他の言語に対して見向きもしなくなってしまう可能性があります。 勇気を出して新しい言語にチャレンジしてみませんか?色々な言語に挑戦してみませんか? 何から始めればいいか分からない。次にどの言語を学べばいいか分からない。いま特に何も困っていない。何でも得意な言語で書けてしまう。そういう人が多いのではないでしょうか。 新しい言語にチャレンジするきっかけを作る一つの方法は、ある特定のアルゴリズムを一つ決めて、あらゆる言語で実装してみることです。解く問題が大きすぎると力尽きてしまうので、せいぜい20〜30行程度で書ける簡単なものが良いでしょう。大事なこ

    30のプログラミング言語でFast inverse square rootを実装してみました! - プログラムモグモグ
    Windymelt
    Windymelt 2016/07/25
    「比較プログラミング言語学」すてきな発想.いろんな言語を習得したい.
  • Scalaで後置ifを作る - rinfieldのなにか

    ターゲット 制御構文っぽいものを作ってみたいScala中級者 「Scalaに後置ifないのかよm9(^Д^)プギャー」っていう他言語の人 後置if Rubyでは後置if/unlessが多用されますよね。たぶん。 例えばこんな感じで。 # Rubyのコード puts('Hello') if 1 == 1 # Helloを表示して => nil puts('Hello') if 1 == 0 # 何もせず => nil 確かに"do [処理] if [条件]"のように英語のように読めるため可読性がいいので私も好きです。 (個人的にunlessはなぜか混乱してしまうのでキライです) こんなんScalaで使えないかなーと思ってたんですけど Scalaでは組み込み構文としては後置if/unlessはないんですねー… Javaならここで潔く諦めるところですが、 Scalaであればその柔軟性の高さか

    Scalaで後置ifを作る - rinfieldのなにか
    Windymelt
    Windymelt 2015/10/10
    見栄えがよくなっていいと思う
  • データ構造はクラスに任せた!だから、アルゴリズムはstatic関数で書くぜ!!(キリッ - みねこあ

    きむら(K)さんち経由、実はオブジェクト指向ってしっくりこないんです!。いろいろ強烈なインパクトが満載で、スルーできませんでした。 特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。 ぎゃーっ....。人はまわりを笑っているつもりでも、逆にまわりに嗤われていますよ、絶対。 ここ以外にも突っ込みどころ満載のエントリーですので、読みながら突っ込むお手々が止まらなくって、腕がつりそう。そんな突っ込み連打なエントリーもおもしろそうですが、わたしはそういうのは上手く書けないので(性格がネチっこいから、なんだ

    データ構造はクラスに任せた!だから、アルゴリズムはstatic関数で書くぜ!!(キリッ - みねこあ
    Windymelt
    Windymelt 2015/05/06
    「クラスはサブルーチンの拡張として生まれた」という重要な指摘。
  • オブジェクト指向入門読み終わった - はこべにっき ♨

    ちまちま読んでたオブジェクト指向入門を読み終わった。だいたい入門と言っているが、原題は"Object-Oriented Software Construction"で入門感はないし、上下巻あわせて2000ページくらいあって読みきるのが大変だった。 原著は18年前に発売されただが、内容のほとんどは今でも有益で、全体を通してためになる。オブジェクト指向が解決しようとしている課題や、背景にある理論や考え方について解説してくれるだけではなく、実際にソフトウェアを設計する際にどのようにクラスを見つけ、どんな場面で継承を使い、ソフトウェア全体をどのように形作っていくのかという実践的な議論も充実している。 の序盤では、ソフトウェアの品質の様々な側面についての解説や、オブジェクト指向以前から使われていたモジュールや型の概念のがもつ諸課題について詳しく解説してくれる。それらの問題をふまえ、次に、ソフトウ

    オブジェクト指向入門読み終わった - はこべにっき ♨
    Windymelt
    Windymelt 2015/03/30
    ふつうに良記事なのだけれど、これぞレビューといった感じのレビューの手本としても良い感じがする。どう読むべきか?何を掴むべきか?何が言いたいのか?をまとめるというのはむつかしい。
  • ■ - hitode909の日記

    服屋のブログ眺めたところ、春物がぼちぼち入荷してるようで気になる。しかし、去年の春に着てたのを引っ張り出せば暮らせそうだし、何も買わなくても過ごせると思う。服の購買状況としては、最近、白いオックスフォードのシャツずっと着てたのがあまりにぼろいので新しいのを買った。インディビジュアライズド的なやつ。前から持ってるチェックのはスタンダードフィットで、しゅっとしてるけど、最近買ったのはクラシックフィットで、ゆったりした。前は裾の切れ込みが深くて、気に入ってたのだけど、最近、まろやかな形になった。裾出して着るためという話だったけど、裾は出すし前の形の方が気に入ってた。そういう感じ。 来週末雨っぽくて、すっかり花見する気でいたので、調子狂う。しかし、花が咲くのと雨が降るの独立した事象っぽいので、花は咲いたが雨は降る、ということになっても、とくに不思議ではないと思う。いや、少しは関係あるかもしれない。

    ■ - hitode909の日記
    Windymelt
    Windymelt 2015/03/30
    「晴れた日は新機能開発、雨の日はリファクタリング、というのはどうか。」天気は人間の原始的な何かを刺激するので割と良いアイデアなのではないかと話題