タグ

programmingに関するt_a_oのブックマーク (317)

  • Latest topics > 「元のソフトウェアがGPLだから公開できない」という誤解について - outsider reflex

    Latest topics > 「元のソフトウェアがGPLだから公開できない」という誤解について 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « Nexus 7とハードウェアキーボードの組み合わせを実用する Main 「コピーレフトとBSDスタイルではBSDスタイルの方が発展するのでは」という議論についての誤解あるいは言葉の裏にある欺瞞 » 「元のソフトウェアがGPLだから公開できない」という誤解について - Jan 30, 2013 会社のブログに掲載するつもりで書きましたが、タイミング的に発表が遅れてしまいそうということだったので、勢い重視でこちらで公開してみます。 1月31日16時台追記。hide氏の意向についてのこのエントリでの推測が全く

  • Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について

    ─ 問題1 ─ data.csvファイルには、5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をプレイした結果が次のような形で格納されている。各ゲームの平均点を求めよ。 data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80

  • soundcloud2000

    soundcloud2000 is terminal client for the SoundCloud platform. Currently runs only on OSX using CoreAudio and NCurses. This hack was built during the Music Hack Day Stockholm 2013. For installation instructions, feature list and todos, please checkout the README. Authors Matthias Georgi (@mgeorgi) Tobias Schmidt (@dagrobie)

  • ねじ曲げ画像を使った新方式のCAPTCHA MintEyeを23行のPythonコードで破った話

    先月ご紹介してなかなか好評だった、画像をグニャリと円状に曲げて加工し、それを正しい状態に戻すことで人間かスパムプログラムかを判定するという新方式のCAPTCHA MintEyeですが、一ヶ月しか経っていないのに機械的に解 […] 先月ご紹介してなかなか好評だった、画像をグニャリと円状に曲げて加工し、それを正しい状態に戻すことで人間かスパムプログラムかを判定するという新方式のCAPTCHA MintEyeですが、一ヶ月しか経っていないのに機械的に解いてしまう話が出てきてしまいました。それもPythonでたった23行のコードで。 このスクリプトがやっているのは、グレースケールに変換した上で、Sobel()で画像上のエッジを取得し、エッジの合計をグラフにプロットしている、というだけですね。画像ファイルを開くところやグラフを描くところを除けば、数行の短さです。 スライダーにあわせて表示されるすべて

    ねじ曲げ画像を使った新方式のCAPTCHA MintEyeを23行のPythonコードで破った話
  • Windowsのターミナル環境を整える vol.2 - Qiita

    はじめに 前回は、Linux仮想環境を構築するCygwinやTerminalのConsole2などを紹介したと思いますが、今回は、PowerShell関連のツールを紹介していきたいと思います。 私自身も、Cygwinというのはあくまで補助的に使用するものであり、Windowsでは、メインは、PowerShellです。したがって、やはり個人的なおすすめもPowerShellということになります。 Chocolatey Windows、特にPowerShellからパッケージ管理を行うには、Chocolateyがお勧めです。GUIアプリの自動インストールにも対応していますので、とても使いやすいです。Chocolateyのインストールは以下のように行います。 Windows + Rを押して、 cmdと入力し、 Enterを押します。これは、コマンドプロンプトの起動手順です。そこで、以下のコマンドを

    Windowsのターミナル環境を整える vol.2 - Qiita
  • Windowsのターミナル環境を整える vol.1 - Qiita

    今回は、Windowsのターミナル環境を整える方法を紹介していきたいと思います。 Windows PowerShell 3.0 Windowsはシェルが貧弱という言葉を耳にすることがあります。確かに、cmdは貧弱かも知れませんが、PowerShellはそうでもありません。3.0が来ていますので、導入してみましょう。 Windows 7 64bit Windows6.1-KB2506143-x64.MSU Windows 7 32bit Windows6.1-KB2506143-x86.MSU Windows Server 2008 64bit Windows6.0-KB2506146-x64.MSU Windows Server 2008 32bit Windows6.0-KB2506146-x86.MSU インストール出来ない場合 .NET Framework 4がインストールされていな

    Windowsのターミナル環境を整える vol.1 - Qiita
  • 近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー

    昨日は年始の挨拶ついでに ELPA について脈絡もなく突然書きましたが、引き続き近頃の開発環境についてもだらだらと書いてみよう。 Mosh mosh というと一部の人間はひげなんとかさんが開発しているモナー的なあれを思い浮かべるかもしれないがそうではなく、mobile shell のことである。 思い切り簡略化して言うと「快適なssh」。回線が不安定な所でもエコー遅延など全く気にせず使えるし、Mac をスリープさせて復帰させたときもリモートホストにそのまま繋がりっぱなしのように見せかけてくれたりする。 詳しくはこの辺を。 mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記 インストールはリモートとローカル両方に必要ですが、まあ大概パッケージがあると思います。EC2 の Amazon Linux でも yum レポジトリの EPEL を有効にすれば y

    近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • PhantomJS でログインが必要なページでも自由自在にスクレイピング - 凹みTips

    はじめに PhantomJS - Scriptable Headless Browser PhantomJS はヘッドレスな(ブラウザ画面のない)QtWebKit ベースのブラウザで、JavaScriptAPI を通じて、そのブラウザを自由自在にあやつることが出来ます。使用シーンとしては、Jenkins などの CI ツールとの組み合わせによる Web ページの GUI の自動テストや、Web ページのスクリーンキャプチャ、スクレイピングなどが挙げられます。 今回は、ログインが必要なページの情報をパースして自分専用に RSS 化したいなと思い、3つ目のスクレイピング用途をベースに調べてみました。その内容を備忘録として残しておきます。 出来るようになること ログインが必要なページの HTML を取ってくる ログインが必要なページのスクリーンキャプチャを撮る PhantomJS の導入

  • ぷろぐらみんぐおさんぽまっぷ

    こういう薄いです 「プログラミング言語の文法を勉強してみたけど、 そのあとどうしよう?どうやったら綺麗なコードが書けて、世の中にあるカッコいいソフトウェアが作れるようになるんだろう?」 プログラミングをするようになってから数年経ち、このようなことをよく聞かれるようになりました。書では、この疑問に対する私なりの答えを示しています。あなたが今手にとっているこのは、初学者のためのプログラミング全般の入門です。と同時に、私がいつも同級生に教えていることのミニまとめでもあります。 対象読者としては「プログラミングを学校で勉強し始めて半年くらい経った学生」を想定しています。「やらされている勉強」に焦りを感じながらも、自分だけではどう進めば良いのかわからない。そう、そんなあなたのための薄いです。 これから非常に浅く広くプログラミングを取り巻く世界をお散歩します。というのは建前で……散歩なんかし

  • ライフゲームの世界 - 人工知能に関する断創録

    ニコニコ動画の複雑系コミュニティの発起人のはむくんがライフゲームの世界というとても面白い動画を投稿されています。Twitterでは何度かツイートしてたけど完結したのでブログでも紹介させていただきます。 ライフゲームの世界1 John Horton Conwayが提案したライフゲーム(Conway's Game of Life)の基的なルールを解説しています。また頻繁に現れる4種の物体(ブロック、蜂の巣、ブリンカー、グライダー)を紹介しています。最後の作品紹介は、P416 60P5H2V0 gunというすさまじいパターンが出てきます。グライダー銃から発射したグライダーたちが滑走路を通ります。グライダーの集合先では、発射された複数のグライダーが合体して宇宙船が組み立てられます。 ライフゲームの世界2 いろんな振動子(パルサー、タンブラー、銀河)が鑑賞できます。作品紹介では大量の振動子が勢揃い

    ライフゲームの世界 - 人工知能に関する断創録
  • フィボナッチで各種言語をベンチマーク - satosystemsの日記

    AWK、Ada、Bash、Boo、C、C#、C++、Clojure、D、Erlang、Forth、Fortran、Go、Groovy、Haskell、Io、JavaJavaScript、Lisp、Lua、OCaml、Objective-C、PHP、Pascal、Perl、Pike、PrologPython、R、RubyScala、Scheme、Smalltalk、Tcl でフィボナッチ数を求める処理時間を計測してみました。 フィボナッチ数は漸化式で求められます。 F0 = 0 F1 = 1 Fn+2 = Fn+1 + Fn フィボナッチ数を求めるアルゴリズムはいろいろありますが、今回は以下の再帰で求めるアルゴリズムで統一しました。 #include <stdio.h> int fib(int n) { if (n < 2) return n; return fib(n - 2) +

    フィボナッチで各種言語をベンチマーク - satosystemsの日記
  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

    t_a_o
    t_a_o 2013/01/04
    遅延評価, 遅延リスト
  • If-less programming

    I recently watched a Google tech talk called “The Clean Code Talks – Inheritance, Polymorphism, & Testing”, and I was amazed how Misko Hevery explained that (a lot of) ifs can be a smelly thing in a Object Oriented language. Being fascinated by the idea, I decided to google it, and I was surprised that if-less programming is a pretty popular topic. I noticed a response to a stackoverflow question

  • Micro ORM Data Mapping with PetaPoco and ASP.NET MVC 4

    Like others, I spend a LOT of time in and out of EntityFramework for Silverlight and MVC application development. Though it has its place in the development ecosystem, there are those times that it may be overkill, cumbersome and/or down right annoying to use (i.e.: auto-generated strongly typed metadata, lack of stored procedure support without blank tables/views come to mind). Welcome to Micro O

    t_a_o
    t_a_o 2012/12/29
    PetaPoco
  • しつこく Hub を読む - yarbの日記

    しつこく「Hub」を眺めている。語学学習に精読と多読の2つのアプローチがあるように、コードリーディングにも精読というのがあるはずで、試しにそれをやってみている。モヤッする「分かってない感」を感じたら、基的に分かるまで調べるのが精読。そのためには、ブログエントリとして分かったことを書き出すのは良い方法のような気がしたのでやってみている。ほとんど誰も読んでないブログだとはいえ、アウトプットの形にするのは手間だし、何だか気分的には常に挫けそうなんだけど、「なんとなく分かった気になる」という厄介な悪癖を変えるには十分に時間に見合うと思う。 で、やってみて分かったけど、RubyのこともRubyのイディオムのことも、まるで分かってないということが良く分かった。「コードを読む」ということが何かも分かってなかったなと思った。なんとなく眺めてちゃ駄目だな。まず精読。そのうち多読ができればいいなと思っている

    しつこく Hub を読む - yarbの日記
  • クラスのインターフェースに使うコレクションのinterface使い分け - the sea of fertility

    この記事は C# AdventCalender 2012 の12/17日分の記事です。 タイトルなんのこっちゃ?って思われるかもしれませんが、今年はMVVMとは関係ないC#erらしいタイトルを・・・という事自信がなくなるクラスのインターフェースに使う(プロパティの型として使う)コレクションinterfaceの使いわけを自身の整理のためにも書いてみます。 ようは public class Tweet{ } public class TwitterApplication { public [?(なんかコレクションのインターフェース)] Tweets{get; private set;} } みたいな時にこの「?」に何を使うかという問題ですね。 .NET4.5ではIReadOnlyCollection<T>/IReadOnlyList<T>/IReadOnlyDictionary<T>などの読み

  • PNG 画像の解析と最適化ツール : document

    12月16 PNG 画像の解析と最適化ツール はじめに この記事は Graphical Web Advent Calendar の 16 日目の記事として書かれました。 Graphical Web ということで、PNG フォーマットの簡単な説明と Web ブラウザ上で動作する PNG 解析ツールを作ったので使い方と解析結果の見方について書いていこうと思います。 また、人気のある PNG 画像最適化ツールがどのような最適化を行っているのか調べていきます。 PNG の仕様に入る前に ここから、PNG の仕様について最低限の説明を書いていきます。 PNG の最適化や検証するときに必要になるので、退屈かもしれませんが軽く目を通してください。 以下の項目について、なんとなく分かれば良いです。 シグネチャ 必須チャンクの役割 IHDR PLTE IDAT IEND PNG 仕様概要 PNG フォーマッ

  • Re-use in OO: Inheritance, Composition and Mixins

    Over the past several months, the Rails community, at least to my eyes, has become increasingly concerned with managing the complexity that appears when following the “fat model, skinny controller” advice prescribed by many Rails experts. The real issue, however, is reusability. How can logic be easily used in two places? In your average object-oriented language, there are four primary ways to acc

  • Scissor を使って音声ファイルを切り貼りする - blogspot.com

    Web Music Developers JP Advent Calendar 2012 Scissor という自作のライブラリについて、4年前にリリースしてから今までまとまった紹介をしていなかった気がするので、かなりマニアックではあるが、便利な人には便利かも、なのでご紹介。 Scissor https://github.com/youpy/scissor 磁気テープを切り貼りする感覚で音声ファイルを扱うことのできるRuby のライブラリ wav、mp3、m4a に対応 動画を扱える様にするブランチ Echo Nest API を利用する拡張ライブラリを使うことで、ビートや小節を切り出すことができる インストール $ gem install scissor Scissor は、FFmpeg などの外部プログラムのラッパとして動作するため、外部プログラムのインストールが必要 FFmpeg $