タグ

programmingに関するyuroyoroのブックマーク (77)

  • コマンドラインツールのショートオプションをどの用途で使うべきか - Qiita

    はじめに コマンドラインツールが多数作られるプロジェクトがあるとします。 複数人で開発していると、オプションの意味付けが人によってばらばらになってしまう――そんな事象は、おそらくよくあることだと思います。 ので、そのような環境では、なんらか規約を設けるのがよさそうです。 記事では、その規約の作成、またはオプションの意味付けにおいて、参考となるであろう情報を提示します。 特に、ショートオプション(英字1字のみのオプション)にフォーカスします。 ロングオプション(英字複数字から成るオプション)については、意味は自明になることが多いでしょう。 ただし、「ショートオプションをどのロングオプションに対応付けるべきか」という問題は、稿でも扱います。 また、コマンド文法やオプションのフォーマットはOSやプログラムによって異なりますが、ここでは以下を前提とします: ショートオプション ... -a,

    コマンドラインツールのショートオプションをどの用途で使うべきか - Qiita
  • Webプログラマと数学の接点、その入り口

    フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発

    Webプログラマと数学の接点、その入り口
  • 良いデバッグログはプロジェクトの資産である

    http://eventdots.jp/event/591027 (2016-07-30追記:Rails 5.0からproductionでもDEBUGがデフォルトらしいです) (2020-09-23追記:https://github.com/rails/rails/pull/39707 INFOに戻りそう)

    良いデバッグログはプロジェクトの資産である
  • C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。文はC言語に関する文章ですがその質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部

    C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog
  • 非同期処理の基礎

    MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。

    非同期処理の基礎
  • プログラミング言語処理

    プログラミング言語処理 講義資料 一覧 全講義資料 pdf版(version 1.1, 108ページ)は、 こちら 言語処理系とは インタプリタとコンパイラ 言語処理系の基構成 例題:式の評価 BNFと構文木 解釈実行:インタプリター コンパイラとは ソースコード 字句解析の基礎:正規表現によるパターンマッチ 字句解析と正規表現 自動字句解析生成プログラム:lex 数式の構文解析:top-down parserの作り方 構文規則 top-down parser の作り方 構文解析の基礎 top-down parserとbottom-up parser 上向き構文解析と還元 演算子順位構文解析法 LR構文解析法 構文解析生成プログラムyacc tiny Cについて tiny Cの言語仕様 tiny Cの文法 ソースコード tiny C 処理系のデータ構造 構文木(AST)のデータ構造 AS

    yuroyoro
    yuroyoro 2011/05/16
    あとでじっくり読もう
  • 言語の設計判断

    This document contains code snippets in Python, Perl, and C++. It also contains text about Marcus Tullius Cicero and Otto von Bismarck.Read less

    言語の設計判断
  • 統計的に正しいランキングを行う方法をJavaで書く - バイオインフォマティクスって何ですか?

    Java | 統計的に正しいランキングを行う方法を見たのでちょっとJavaで書いてみる。はじめになにがしたいかというと、「レイティング」というのをご存じでしょうか。Amazonとかで商品を購入者が星つけて評価したりしてるやつ。ああいうので「良かったランキング」というのを作りたい。みんなが「購入して良かった」という評価をつけてる商品は、他の人にとっても「良かった商品」になる可能性が高い。いい商品だということがわかるわけです。問題点じゃあどういうふうにランキングをつければいいの?ということを考えると、次の問題にぶちあたる。評価してる人の数の違い。例えば、Aという商品は100人が評価していて、平均の星の数は 4.8 だとする。一方、Bの商品は1人が星5つで評価していたとする。このとき、Aの商品とBの商品ではどちらをランキング上位にすればいいだろうか?あなたならどちらを買いたい?Aはたくさんの人が

    yuroyoro
    yuroyoro 2009/05/14
    レイティングを正しく評価する方法
  • enum basics - しげるメモ

    仕事柄、Javaのenumを使うことが多いのですが、あまり世の中のプログラムでenumを全力で使ってるところをあまり見かけません。 ということで、自分でもどうなのと思うときがちらほらあるenumの使い方をまとめてみようと思いますが、とりあえず今回は普通の復習用に基的な機能を。 型付の定数が宣言できる enumはもともとCのint形の値に名前をつけただけじゃなくて、型安全な列挙定数が作れるってことでJava5から導入されました。 こんな感じ。 public enum Sample { HOGE, FOO, BAR, } で、世の中で見かけるenumは上記くらいのシンプルなのが多いみたいです。 クラス体が宣言できる 定数定義のあとに ";" で区切ると、以降をクラスの体としてメソッドとか定義できます。 public enum Sample { HOGE, FOO, BAR, ; // セ

    enum basics - しげるメモ
    yuroyoro
    yuroyoro 2009/01/19
    implementsで親インターフェース。
  • JavaScriptでかんたんAIRアプリに挑戦 - ぼくはまちちゃん!

    こんにちは! みなさんガジェットつくってますか! なんだか最近、色々な種類があるみたいですね! Yahooナントカとか、Googleガジェットとか、Adobe AIRとか、シルバーナントカとか、あとWindowsサイドバーだとか…。 こういうガジェット的な、ちょっとしたデスクトップ用のツールって、 どうやってつくるのかなーなんて思って、ちょっと調べてみました! そしたら意外と簡単だった…! これならぼくにも作れそう!! ってことで、ちょっとメモしておきますね! どれにしようかな…! つくるのが簡単なこと WinでもMacでも動いてほしい 使う人がインストールしやすそうなのがいい こんな感じで考えていくと… 最終的に、Googleガジェット か AIRなのかなー、ってことになりました! でも実際ぼくはGoogleガジェットなんて使ったことないし…! (なんとなくGoogleデスクトップとかも

    JavaScriptでかんたんAIRアプリに挑戦 - ぼくはまちちゃん!
  • JavaScriptの巧い書き方 - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m

  • プログラミング時に使ってる Font - 宇宙行きたい

    なんか最近、Font 何使ってるか聞かれる事が多いのでまとめておきます。 プログラミング時やターミナル上では 「Bitstream Vera Sans Mono」 を使っています。 http://www.gnome.org/fonts/ http://www.dafont.com/bitstream-vera-mono.font Ubuntu では標準で入っていますが、WindowsMac でも普通に使えます。 bold ラブな人間なのでこれを bold で使用しています。 0(数字のゼロ)やO(アルファベット大文字のオー)、 1(数字のイチ)やI(アルファベット大文字のアイ)l(アルファベット小文字のエル) なども見分けやすくてお奨めです。

    プログラミング時に使ってる Font - 宇宙行きたい
    yuroyoro
    yuroyoro 2009/01/08
    ダサ字等幅、あずきフォントP、ふい字P、S2Gうに、S2G月、S2Gらぶなど…。見やすさとかはどーでもいーです。
  • ワードサラダ技術について

    後半部分が重要で、未来の挙動が現在の値だけで決定され、過去の挙動と無関係である ということです。 さて、実例です。たとえば次の文章を考えてみます。 「通信販売大手セシールは9日、生命保険の販売に格参入する方針を明らかにした。」 まず形態素解析するとこんな感じになります。 通信 名詞,サ変接続,*,*,*,*,通信,ツウシン,ツーシン 販売 名詞,サ変接続,*,*,*,*,販売,ハンバイ,ハンバイ 大手 名詞,一般,*,*,*,*,大手,オオテ,オーテ セシール 名詞,固有名詞,組織,*,*,*,セシール,セシール,セシール は 助詞,係助詞,*,*,*,*,は,ハ,ワ 9 名詞,数,*,*,*,*,9,キュウ,キュー 日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ 、 記号,読点,*,*,*,*,、,、,、 生命 名詞,一般,*,*,*,*,生命,セイメイ,セイメイ 保険 名詞,一般

  • 【コラム】OS X ハッキング! (302) LOGOっぽい? 「Processing」でライブコーディングする | パソコン | マイコミジャーナル

    PC界の価格破壊者「ネットブック」の波はMacにも押し寄せるか? という話題が取り沙汰されています。私の考えですが、Leopardからハードスペックを逆算すると「否」、景気後退局面という状況を考慮すると「(やむなく) 可」なのかなあ、と。ただ、ネットブックのシェアは急速に伸びていますし、Appleも手をこまねいて見ているだけということはないような……今後の動向に注目です。 さて、今回は「Processing」について。「絵をプログラムする言語「Processing 1.0」が正式リリース」にもあるとおり、先日初のメジャーリリースを迎えたグラフィックデザイン用プログラミング言語 & 開発環境だ。非プログラマにとっても、イジり甲斐のある機能を豊富に備えているので、これを機会に試してみてほしい。 Processingを使うなら…… 冒頭から昔話で恐縮だが、筆者が中学生のとき愛用していた8ビット機

  • プログラマーに最適なデータマイニングの教科書 『集合知プログラミング』 - 図書館情報学を学ぶ

    集合知プログラミング 作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型購入: 91人 クリック: 2,220回この商品を含むブログ (277件) を見る当初はサンプルコードがPythonということで購入した書ですが、読んでみると内容の素晴らしさに驚嘆しました。私が今までに読んだオライリーシリーズでも屈指の名作だと思います。 『集合知プログラミング』とは 『集合知プログラミング』は、Amazonの協調フィルタリングのように、ウェブ上のデータを収集してユーザーの嗜好にあったコンテンツを推薦したり、大量のデータを分かりやすく分類・可視化するプログラムを簡単に実装する技術を解説した書籍です。Webプログラミングをかじったことのある方でしたら、だれしもAmazonのような推薦サービスを作ってみたいと思ったこと

    プログラマーに最適なデータマイニングの教科書 『集合知プログラミング』 - 図書館情報学を学ぶ
    yuroyoro
    yuroyoro 2008/11/17
    昨日Amzaonから届いたんで早速読むよ!でも間違えて2冊注文しちゃったの!
  • ギターのタブ譜を perl で簡単に出力するモジュールを作ってみた : にぽたん研究所

    一個前のエントリで、はてなダイアリーのウクレレ記法をけっこう使ってるだなんだって話をしましたが、私はどちらかというとウクレレとか全然弾かなくて、ギターばっかり弾いてたりするので、なんか Music::Image::Chord という、それっぽいモジュールがあったので使ってみたら、何だか色々と残念な結果だったなんてつぶやきました。 で、やっぱ、ギターのタブ譜を出力するのは大変だなーって思ってたら、コメント欄でようちゃんから むしろ、GD::Tab::Ukuleleを改造する方向でどうでしょう? と提案してもらったので、その方向で検討してみました。 まず、ギターの場合、ウクレレと違って弦が 6 なので、2 追加して、フレットの長さを変えました。 それにともない、画像のサイズはウクレレのものより大きくしました。 ギターには、ミュート弦という概念があって「この弦は音を鳴らさないんだよー」なんて

  • アルゴリズムコンテストの挑み方 (3) - d.y.d.

    17:19 08/11/27 TopCoder Code Jam の練習に……と思ってしばらく前から TopCoder のSRMに参加してたのですが、 せっかくなので cafelier@SRM に記録をつけることにしました。 どういう試行錯誤をしながら提出した時のコードにいたったのかを、 できるだけ詳細にメモろうと思っています。 426以前のは記憶から掘り起こして書いたのでちょい大ざっぱですが。 これまで何回かここで書いたような整然とした考え方を当に自分がしているかいうと、 してないよなー、と薄々思ってしまっているので、じゃあどういう風にやっているんだろうかと。 自分のふり見て我がふり直す。 20:26 08/11/24 論文 PLAN-X 2009 通ったみたいです。ばんざい。 ただでさえD論まったく間に合う気がしないのに、camera ready版なんて作ってる時間が… オートマト

  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
    yuroyoro
    yuroyoro 2008/10/27
    RequestとかSessionとかFlashとかThreadLocalとか…。スコープいっぱいバグいっぱい。
  • プログラミングテクニックのまとめ - プログラミング日記

    とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損

    プログラミングテクニックのまとめ - プログラミング日記
    yuroyoro
    yuroyoro 2008/10/24
    変数名など、よい名前をつけろっていうのも追加してはどうか?
  • Python 3.0で大きく変わる言語仕様 | OSDN Magazine

    一般に、Pythonプログラミング言語のこれまでの新バージョンはユーザに優しかった。多かれ少なかれ前バージョンとの下位互換性は維持された。しかし、2000年、Pythonの作者Guido van Rossum氏は新バージョン開発を発表し、言葉を濁さずにはっきりと宣言した。バージョン3.0に下位互換性はないと。そして、ついにPython 3.0の最初のリリース候補が公開された。最終リリースは今月末を予定する。古いコードを使い続けるか、新しいインタプリタを使うために手直しをするか、開発者は選択を迫られる。 以前のバージョンの言語で書いたコードが新しいバージョンで動作しないことは開発者が忌み嫌う事態だが、van Rossum氏にとって抜的なアップグレードは必要なことだった。Pythonは、同じタスクを行う方法が複数あることや、実際にはだれも使わないタスクの処理方法があることで、次第に見劣りする

    Python 3.0で大きく変わる言語仕様 | OSDN Magazine