タグ

programmingに関するsnaka72のブックマーク (54)

  • Big Sky :: モテる男のVim script短期集中講座

    ここで関数リファレンスのみ格納先の変数の先頭が大文字になっていますが、これはVim script特有の制限になります。 数値は一般的な言語と同じ様に四則演算できます。文字列については.を用いて連結します。 また文字列は添え字によるアクセスが可能で、pythonの様に echo "hello"[1:3] という記述が出来ます。その他文字列操作関数については:help evalに詳しく記述されています。 また型同士の比較についてはthincaさんの記事が役立ちます。 Vimスクリプト基礎文法最速マスター - 永遠に未完成 Vimスクリプト基礎文法最速マスター vim 流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 Route 477... http://d.hatena.ne.jp/thinca/20100

    Big Sky :: モテる男のVim script短期集中講座
  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

  • 中学生でもわかるベジェ曲線

    移動しました。 http://blog.sigbus.info/2011/10/bezier.html

    中学生でもわかるベジェ曲線
  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
  • カリー化ってなんぞや - 進化秒読

    カリー化ってなんじゃらほい インド人もびっくりなカレーとかそういうのじゃなくて? そもそも カリー化を知ったのはOnline Study TokyoBouldering.jsっていうオンライン勉強会。自分は蝶持ってないんだけど買わなきゃなぁ。 んで カリー化ってのはf(x, y)であるときg(x)(y)ならgはfのカリー化なんだ……ってよくわからん。 要はfをカリー化するとgになるよーってわけで、変化の話なら並べて書けば分かりやすいはず。 f(x, y) g(x)(y) なるほど、引数がなんか大変なことになってるな! 書いてみよう なんか分かった気がするので書いてみよう。とりあえずxとyをかけ合わせる感じの関数を、っと。 function g(x, y) { return x * y; } んでこれをカリー化、と。 function f(x){ return function(y) {

    カリー化ってなんぞや - 進化秒読
  • カリー化 != 部分適用 - kmizuの日記

    最近、ネット上でカリー化に関する記事を読んでいると、特にGroovy界隈でカリー化に関して誤解がまかり通っているようなので(特に実用的なGroovy: カレー化クロージャーによるファンクショナル・プログラミングはひどい。そもそも、Groovyの標準ライブラリ自体がカリー化を行うための関数ではないものにcurryとか付けてるから仕方無いのかもしれんが)、一言言っておく。 カリー化というのは、Groovyで言うと、 def add = {x, y -> x + y} のように、xとyという複数の引数を取って値を返す関数を def add = {x -> {y -> x + y}} //間違ってパースできないコードになっていたので修正(12/17) のように、一つの引数xをとって、「yを引数にとって値を返す関数」を値として返すような関数に変換すること、あるいは最初からそのように表現することを言う

    カリー化 != 部分適用 - kmizuの日記
  • プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記

    なんか、極めると「ほむほむ」だけで会話できるみたいですね? 俺はまだそこまでの域には至ってないんですが、「ほむほむ」だけでプログラミングできたらステキですよね? そこで、ちょっと草植えときますね型言語 Grassを元にして以前作ったプログラミング言語「天使ちゃんマジ天使」とか 「ブブゼラ」をベースに、 またまたネタ言語を作りました。 Grassの文法と異なる点は以下のとおり。 wがほむ スペース・タブにはさまれた"ほむ"がW vは改行 wを出力するプログラム: ほむ ほむほむ ほむほむほむほむ xを出力するプログラム: ほむ ほむほむほむ ほむほむほむほむ ほむほむほむ ほむ "Hello, world!"を出力するプログラム ほむ ほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむほむほ

    プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記
  • 初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 | 株式会社インフィニットループ技術ブログ

    初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 どうもこんにちは、フレッシュさに定評のない新入社員のtek_kocです。 初めてのお仕事として「Titanium Mobileでアプリを試しにつくってみる」というのを担当していました。 JavaScriptはあまり使ったことがないですし、そもそもMacもほとんど触ったことがなかったので苦戦するかと思いましたが、2週間ほどでとりあえず形になるところまでできました。Titanium Mobileすごいです。 ということで、Titanium Mobileで試しにアプリ開発をしてみた感想を書いてみました。 そもそもTitanium Mobileとは? Titanium Mobileとは、Appcelerator社によるスマートフォン対応アプリケーションの開発環境です。 iPhoneiPadAndroid

    初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 | 株式会社インフィニットループ技術ブログ
  • 目指せプログラマー!

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

  • https://ryoasai.hatenadiary.org/entry/20110329/1301414299

  • https://ryoasai.hatenadiary.org/entry/20110321/1300696942

  • Merge sort

    Implementations[edit] Pseudocode[edit] function mergesort(m) var list left, right if length(m) ≤ 1 return m else middle = length(m) / 2 for each x in m up to middle add x to left for each x in m after middle add x to right left = mergesort(left) right = mergesort(right) result = merge(left, right) return result There are several variants for the merge() function, the simplest variant could look li

  • 意図に関係する大事なことがら - かとじゅんの技術日誌

    最近、DDDの"意図の明白なインタフェース"というパターンの章を読みなおしています。このパターンが一環して主張していることは"名前が重要"ということです。その名前の重要性について、いろいろな文献からの引用を用いて考えてみたいと思います。 名前重要 "名前が重要"といえば、「プログラマが知るべき97のこと」で、まつもと ゆきひろ氏が 「名前重要」というタイトルで名前の重要性について語っています。 適切な名前をつけられると言うことは、その機能が正しく理解されて、設計されているということで、逆にふさわしい名前がつけられないということは、その機能が果たすべき役割を設計者自身も十分に理解できていないということではないでしょうか。 名前が設計と強く結び付いていることがわかる、深イイ言葉です。 名前の決定が難航すると「えぃ、面倒だから適当に名前を付けてしまえ」となりがちです。油断すると結構適当になるもん

    意図に関係する大事なことがら - かとじゅんの技術日誌
    snaka72
    snaka72 2011/02/16
    あとで読みたい
  • Intention-Revealing Name(意図を示す名前) - Strategic Choice

    師曰く実行内容の意図に基づいてメソッドを命名しなさい。どういうこと?メソッドの名前は、「呼び出す側から見た」、そのメソッドを「利用する目的」に基づいて付けるべきです。実装戦略など、メソッド名で伝えたいような情報は他にも存在します。しかし、メソッド名では「意図」を伝達し、他の情報は他の方法で伝えるようにします。 どうして?メソッド名に、メソッドを「使う側」に関係のない情報を排除して、シンプルなコミュニケーションを促進します。たとえば?実装戦略は、メソッド名に含まれることが最も多い余分な情報です。たとえば、以下のようなメソッドです。 Customer linerCustomerSearch( String id ); // 「線形」検索 これは、以下よりも優れているように思えるかもしれません。 Customer find( String id ); 確かに、前者のほうがメソッドについて多くの情

  • 対義語・反対語で時間を取らないために | WebSpaceの中の人

    webサイト「WebSpace」(webspace.jp)の中の人のブログ JUGEMのカスタマイズ・スクリプト配布なんかもやってます プログラミングをしていて、最初の値と最後の値を保持する変数の宣言が必要になった時、すぐになんて名前にしたらいいか思いつきますか? "firstValue"と"lastValue"あたりが自分の中で一番しっくりくるのですが、これに辿り着くまでに少なからず考えてしまい、無駄な時間を取ってしまいます。 最初は『プログラムの最初だと"start"で最後は"end"か?』なんてことを考えたりもしました。。 下の一覧を見てもらうと分かる通り、stratとendは対になる言葉ではないのです。 自分だけが見るプログラムならいいのかもしれませんが、他人に見せるときにこんな間違いしてたら恥ずかしいですよね?(自分だけか!?) それなら、事前に書き出しておけば間違いも

  • 疑りぶかいあなたのためのオブジェクト指向再入門

    このページは、「オブジェクト指向再入門」とあるように、 オブジェクト指向を勉強しようとして挫折した人向けの文書です。 タイトルに「疑り深いあなたのための」とありますが、 これは決して揶揄して言っているわけではありません。 現在世間に蔓延しているオブジェクト指向の説明では、 むしろ納得しない方がまともだとさえ思えます。 「オブジェクト指向を使えば、生産性が飛躍的に上がり、 プログラムの見通しがよくなり、再利用性も高まる」と聞かされて、 「ホントかあ?」と思える人は、一度読んでみてください。 稿の対象読者は「既に他の手続き型言語を習得しているが、 オブジェクト指向が理解しがたいと感じている人」です。 言語としてはJavaを使用します。 手続き指向型の言語の例としては、C言語を使用します。 特にCに習熟している必要はないようにしたいのですが、 Cで言うところの「構造体」「ポインタ」「動的メモリ

  • The Greatest Computer Books of All Time

    The Greatest Computer Books of All Time Fifteen major works of computing literature, from history to how-tos. Read 'em all! Writing about music, a famous, impossible-to-properly-attribute saying goes, is like dancing about architecture. In 2010, anyone who dares write a book about computers runs the risk of facing a variant of this conundrum. The Web is so good at conveying information about techn

    The Greatest Computer Books of All Time
  • winsockプログラミング:Geekなぺーじ

    ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして

  • 知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life

    iPhone アプリ開発を初めてはや2年。わけわからんレベルからなんとかアプリをリリースするところまでこぎつけました。もともと趣味ではじめた事ですが今は仕事でも iPhone アプリ開発をしています。ここに至るまで自分が調べたことや参考にした文書をアプリの構想からアプリをリリースするまでの手順にそってまとめてみました。 iOSアプリ開発関連のを書きました 初めて iOS アプリ開発をされるかた向けに「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」というを書きました。 この記事を読んで iOS アプリ開発に興味を持たれた方におすすめです(2013年2月26日発売)。2015年1月17日にSwiftに対応した改訂版がでました。 の内容に関する詳しい記事はこちらです。 iOSアプリ開発のを書きました 初期投資 8400円とプライベートな時間、iPhoneまたは

    知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life
  • 幸せ倉庫

    マイカーが故障したり、修理が必要になったりすることは、車を所有している限り避けられない出来事です。特に大きな修理や部品の取り寄せが必要な場合、車が長期間入院することも珍しくありません。突然の故障や事故などで車が使えなくなると、日常生活に大きな支障をきたします。通勤や通学、買い物や家族の送迎など、車がないことで多くの不便が生じるでしょう。 そんな時に非常に便利なのが長期で借りられるレンタカーです。短期間のレンタカーでは費用がかさむことがありますが、月単位での長期レンタカーを利用することで、経済的に負担を軽減しながら、車を持つのと同じように利用することができます。特に、修理に1ヶ月以上かかるような場合、長期レンタカーは最適な解決策です。 この記事では、車の修理が長期間に及ぶ場合に、長期レンタカーがどのように役立つかを詳しく説明します。車が使えない間のストレスを軽減し、生活のリズムを維持するため