タグ

ブックマーク / blog.supermomonga.com (19)

  • Rubyで不適切なFizzBuzz書いた - かなりすごいブログ

    module Kernel define_method '0', -> _, __ { %w`Fizz Buzz FizzBuzz`.[] _ } end def method_missing _, __ = nil, ___ = nil v, i = [3,5,15].map{|__|_.to_s.to_i % __}.each_with_index.sort_by{|_|[_[0],_[1]*-1]}.first return __ ? ___ : send(v.to_s, i, _) end (1..100).map(&:to_s).map(&method(:send)).map(&:to_s).map(&method(:puts)) おわり感じ感じ

  • プロジェクトのハンドリングを効率化するプラグイン、ProjectLocal.vimをリリースしました。 - かなりすごいブログ

    プロジェクトのハンドリングを効率化するプラグイン、ProjectLocal.vimをリリースしました。 Vim Advent Calendar 2013、66日目の記事になります。 ProjectLocal.vimをリリースしましたプロジェクトのハンドリングを効率化する薄い機能を提供するプラグイン、ProjectLocal.vimをリリースしましたのでご紹介します。 https://github.com/supermomonga/projectlocal.vim ProjectLocal.vimの機能プロジェクトのルートディレクトリにProjectfileという名前のファイルを配置すると、そのディレクトリは1つのプロジェクトとして扱われるようになり、ディレクトリ以下のファイルを開いた時に以下の2つの機能が発動します。 1. プロジェクトルートディレクトリの設定ProjectLocal.vi

  • Vimによる通知センター実装、ThingsPast.vimをリリースしました - かなりすごいブログ

    Vim Advent Calendar 2013、5日目の記事になります。プラグインの完成が遅れ、遅刻力を発揮してしまいました…。 ThingsPast.vimをリリースしましたThingsPast.vimというプラグインをリリースしました。 これは、Mac OS Xの通知センターのようなものをVim内で実装したものです。 https://github.com/supermomonga/thingspast.vim Macをお持ちでない方のために簡単に説明すると、通知センターは各アプリケーションによるユーザーへの「通知」をハンドリングする機能です。Twitterの新着リプライや新着受信メールなどといった通知の一覧表示や、通知一覧からの選択によってアプリケーションを適切な状態で起動、たとえば通知された新着メールをクリックするとそのメールが選択された状態でメーラーを起動するなど、を行うことがで

    Vimによる通知センター実装、ThingsPast.vimをリリースしました - かなりすごいブログ
  • 今年こそRubyを始めたいあなたに!ももんが流・最強のRuby学習法 - かなりすごいブログ

    Ruby Advent Calendar 2013 1日目Ruby Advent Calendar 2013、1日目の記事になります。 こんにちは。1日目の記事ということでかなり緊張しています。 さて、いつもネタ記事ばかり書いている私ですが、さすがに1日目ということで、入門的な内容、つまり、これからRubyを始めたい方のための記事を書いてみたいと思います。真面目に。 実は、私もRubyを使い始めてから1年も経っていないのですが、ある学習法を取り入れることで、飛躍的にRuby力を向上させることに成功しました。今回はその方法をお伝えします。 Minecraft ステップ2Minecraftで遊びます。 images by aoisensi ステップ3「そろそろマルチプレイやるかー」と言ってマルチサーバーを立てて遊びます。 photos by sixeight ステップ4「ほうほう、CraftB

    今年こそRubyを始めたいあなたに!ももんが流・最強のRuby学習法 - かなりすごいブログ
  • 新・ももんが流NeoBundle管理術(あたらしい) - かなりすごいブログ

    Vim Advent Calendar 2012、361日目の記事になります。 全世界3000億人の美少女Vimmerのみなさん、こんにちは。 さて、今回は、おなじみのプラグインマネージャNeoBundleに最近追加されたneobundle#tap・neobundle#untapや、丁度日追加されたautoloadのon_sourceオプションを活用した、新・ももんが流NeoBundle管理術をお伝えしていきたいと思います。 最近追加されたneobundle#tap・neobundle#untapについてこれは、私の以前の記事「ももんが流NeoBundle管理術」にてご紹介したs:bundle_tap関数やs:bundle_untap関数などを、NeoBundle作者であるShougoさんがオフィシャルな機能として実装してくださったものです。 NeoBundle付属の関数となったことで若

    新・ももんが流NeoBundle管理術(あたらしい) - かなりすごいブログ
  • neosnippetとsmartinputで<CR>キーのマッピングを共存させる - かなりすごいブログ

    Vim Advent Calendar 2012、355日目の記事になります。 <cr>のマッピングについて日は、<CR>のマッピングを複数のプラグイン間で共有する設定について記事にしたいと思います。 例として、neosnippet及びneocompleteとsmartinput及びsmartinput-endwiseの設定を共存させる方法をお伝えします。 行いたい動作まず、私はneocompleteでneosnippetの候補を補完し、さらに候補にフォーカスが当たっている状態で<CR>を押下することにより、スニペットを展開したいと考えています。 更に、補完ポップアップメニューが表示されていない状態で<CR>を押下した際には、smartinput-endwiseにより、関数定義の閉じendなどを文脈から判断じて自動挿入したいと思います。 設定前提として、以下のプラグインをneobundl

    neosnippetとsmartinputで<CR>キーのマッピングを共存させる - かなりすごいブログ
  • Macを購入したら絶対に導入したい!私が3年間で厳選した超オススメアプリ10選! - かなりすごいブログ

    さて日は、MacBook Airを2010年に買ってから、数々のフリーソフト・シェアウェアを使い続けてきた私が、MacBookを買ったら「絶対に」導入したい、超厳選アプリをランキング形式でご紹介したいと思います!今回は無料で使えるものばかり集めてみましたので、シェアウェアに関しては後日またご紹介したいと思います(^^) それでは、ご覧ください! ↓↓↓

  • Vimと対話せよ - かなりすごいブログ

    Vim Advent Calendar 2012、303日目の記事になります。 何やら来月にmomonga.vim #2というのが開催されるらしいですね。楽しみです(すごく)。 Vimと対話せよはい、Vimに対する不満の一つに、cmdlineがありますね。例えばEvilの置換実装、あれみたいなことができなかったりします。 EvilにあってVimにない機能もあります. たとえば, Evilでは置換の際にもパターンにマッチした部分をハイライトでき, さらに置換結果をバッファ内にプレビューできます. 引用:Evil: EmacsをVimのごとく使う – 導入編 こういう点に関しては、Emacsが羨ましかったりしますね。擬似的にcmdlineのようなものを作ってウィンドウ分割でごまかすくらいしか実装方法が思いつきません。つらい。 まぁそれはそれとして、cmdlineへの不満の一つとして、「もっと対

  • ももんが流NeoBundle管理術 - かなりすごいブログ

    Vim Advent Calendar 2012、268日目の記事になります。 日全国3億人のVimmerのみなさんこんにちは。最近.vimrcを1から書きなおしていると噂の私です。そこで、今回はももんが流NeoBundle管理術をお伝えして行きましょう。 記事の対象 NeoBundleに関する基的な知識があるかたNeoBundleLazyを利用されている方コンセプトコンセプトは、プラグイン管理とプラグイン設定を分離させる、です。 具体的には、NeoBundle及びNeoBundleLazyコマンドのオプションは、依存関係やビルドコマンドなどの「プラグインのインストール方法・管理方法」といったものに絞り、autoloadの設定やプラグイン読み込み時の設定は固有のセクションで管理していきます。 これにより、プラグインリストの見通しがよくなりますし、まぁ色々便利になります。 設定例!!!!

  • automatic.vimでウィンドウの一時的分割をハンドリングしよう - かなりすごいブログ

    Vim Advent Calendar 2012、264日目の記事になります。 日は、automatic.vimというプラグインを使って、Vimにおける「ウィンドウの一時的分割」をハンドリングする方法をお伝えします。 automatic.vimとは私が「popwin.el」のVim版欲しいなーとつぶやいたらおしょーさんが作ってくれたプラグインです。感謝。 automatic.vimは、ウィンドウの状態変化をフックとして人気の処理を実行するための、薄いライブラリです。ここでいう「ウィンドウ」とは、Vim用語のウィンドウです。例えば、Vimの画面が二分割されている場合、Vimにはウィンドウが2つ存在する状態となります。 automatic.vim自体の詳しい説明や設定方法については、作者のおしょーさんがブログで解説してくれていますので、記事「Vim で指定したウィンドウに対して任意の設定を行

  • ウェブサービスリリースしたので前代未聞のやばい広告枠売ります | かなりすごいブログ

    ウェブサービスリリースしたので前代未聞のやばい広告枠売ります やばい広告枠売るキャンペーンやります こんにちは。日りんごまっちをリリースしました、supermomongaです。 同時に、やばい広告枠を楽天オークションで販売開始しましたので、この記事で詳細をご紹介します。 半年ほど前に受託開発を辞め、貯蓄をい潰しつつウェブサービスを開発したりして、個人エンジニア仕事に囚われずに自由に生きていく方法を模索しています。 最近は知名度の無い個人が気軽にウェブサイトをマネタイズしていくための方法として色々と実験をしており、 つい先日、実験としてアフィリエイトで月8万円稼いでいるサイトをオークションで売却したりしました。 結果としては 知名度が無くても楽天オークションで簡単にサイト売却ができる(告知記事のはてブ数は30満たない程度) 月8万円稼ぐサイトが64万円で落札されたので、利益が出ているサ

  • RubyでGUIアプリを作るならJRuby JavaFX Rawrで決まり!

    Ruby大好きな私としては、一般配布するGUIアプリケーションとかもRubyで書きたい訳です。しかし、Windowsには標準でRubyは入っていないし、Macもバージョンが古い1.8.7が標準だしで、普段プログラミングなんかしない一般ユーザーさんでも簡単に起動できるアプリケーションを作るのがなかなか難しいという問題があります。 そういった問題から、クロスプラットフォームな言語・ライブラリ、例えばC++のQtなんかに一時期浮気したりもしたのですが、やっぱりRubyで書きたい。だってRubyが好きだから。 そして、色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。それは… JRuby JavaFX jrubyfx Rawrこの組み合わせです…!それぞれ解説していきましょう。 JRuby … JavaRubyJRuby

  • VimとEmacsと私 - かなりすごいブログ

    VimAdventCalendar 2012 235日目VimAdventCalendar 2012 235日目の記事になります。昨日234日目は@unmoremasterさんの「Vim と俺と、それからトウモロコシ畑」でした。unmoreさんとは先日一緒にモバマスカフェに行かなかったり行かなかったりしました。よい思い出です。 VimEmacs私がVimを使い始めて、ちょうど1年くらいになるでしょうか。その前は、2年間ほどEmacsを使っていました。いい機会なので、Vimについて、そしてEmacsについて、思っていることを書こうと思います。だいぶ取り留めもない感じになると思います。 Vim vs Emacsについて「Vim vs Emacs」、たまにみかけますが、どうなんでしょう。あんまりしっくり来ません。Vimはテキストエディタだし、EmacsはOSなので、その辺りの視点が定まってない

  • VimShellが動的プロンプトに対応しました(やばい) - かなりすごいブログ

    VimAdventCalendar 2012 228日目VimAdventCalendar 2012 228日目の記事になります。昨日227日目は@manga_osyoさんの「Vim script でもラムダを使いたい!」でした。 VimShellが動的プロンプトに対応しました結構要望が多かったと思われます、動的プロンプト。これがついに実装されました。 動的プロンプトとは状況によって内容が変わるプロンプトのことで、例えば現在のディレクトリを表示させたり、現在のユーザー名を表示させたり、といった用途が一般的です。 これまでプロンプトの位置特定などの事情から動的プロンプトはサポートされず、代わりにユーザープロンプトや右プロンプトといった手段が用意され、それらのプロンプトは動的に内容を変更できるようになっていました。しかし、この場合プロンプト全体がどうしても複数行になってしまうため、やはり単一行

  • Vimのチートシート生成サービス作りました。感じ感じ。 - かなりすごいブログ

    Vim Advent Calendar 2012 188日目の記事になります。 昨日、187日目の記事は@ivxiさんの「Gitランチ間の変更ファイル一覧をQuickFixリストに出力するvimプラグインを作った」でした。 Vimかみなさんデスクトップの壁紙にはどのような画像を設定しておられるでしょうか。恐らくVimのチートシートを表示している人、や子供など家族の写真を表示している人、人類はこの2種類に分類されるかと思われます。 ここで問題になるのが、Vimmerでかつ帯者はどちらの画像を表示すればよいのか、という選択です。かく言う私も、である明智小衣ちゃんの写真を表示すべきか、Vimチートシートを表示すべきか、かねてから非常に悩んでおりました。 両立しようというわけでVimを両立したデスクトップ壁紙ライフを送るためのウェブサービスを作りました。 Vimチートシート製造機

  • 個人プログラマがサイトを32万円で売却してMacBookAirをゲットするという試み - かなりすごいブログ

    一年まえくらい、ameroadというサイトの売却劇が話題になりました。 「Ameroad」は150万円で売却 ヤフオク活用の「超短期小額バイアウトモデル」 面白そう!ということで、私もサイト売却して、そのお金MacBook Airの最新版を買ったり、Vimからウガンダに募金したりするという試みをします。 ところでVim Advent Calendar 2012は現在執筆者を募集しています。みなさんも何かしら書いてください。 とりあえず出品したヤフオクはなんか手続きとか面倒だったので楽天オークションに出品しました! ここをクリックすると今すぐ入札することができます。便利。 どんなサイト売るのameroadとかと違って話題性はないものの、その分お得感の演出をしてみます。 というわけで既に黒字化してるサイトを売ります。月間で8万円くらいの黒字です。 運営にかかる金銭的コストがサーバー代の100

  • vimprocでRubyでプロセス通信・ソケット通信しよう - かなりすごいブログ

    Vim Advent Calendar 2012 123日目の記事になります。昨日は私のVim script家庭教師ことthincaさんの「Vim を起動したときに Vim Girl に会いたい!」でした。Vim Girlかわいい。 さて風邪で1週間くらい寝込んでいたのですが、布団にこもってなんとかVimで快適に画像や動画などのメディアを表示できないか考えていました。それに対する一つの提案としてあるプラグインを開発しています。残念ながら日リリースは間に合いませんでしたが、実装にあたって色々と勉強になったので、Tipsを書いておきます。来Advent Calendarってそういうものですし!問題ない! Vim scriptと外部プログラムとでソケット通信したい前述の開発中プラグインでは、Vimから独立したソフトウェアを起動・操作するという仕組みを導入しています。今回は例としてvimpro

  • 「このVim…しゃべるぞ!」Shaberu.vimをリリースしました | かなりすごいブログ

    Vim Advent Calendar 2012 67日目の記事になります。 昨日、66日目の記事は@yomi322さんの「Vimで突然の死に備える」でした。みなさん備えてますか? Shaberu.vimをリリースしましたVimとおしゃべりできたら素敵だと思いませんか?私は思います。 Sho…某暗黒美夢王ことダークビムマスターさんはこんなものを導入せずともVimの声を聞けてそうですが、まだまだ自分はその域に達していないので、リアルタイム音声合成ライブラリの力を借りることにします。 というわけで、Vimにしゃべってもらうためのプラグイン「Shaberu.vim」を公開しました。 https://github.com/supermomonga/shaberu.vim Shaberu.vimは、Vimからリアルタイム音声合成ライブラリを操作するためのラッパープラグインです。 動作画面動作画面を載

  • facebookでユーザーネームを自分で決められない問題とその解決方法 | かなりすごいブログ

    facebookではユーザーネームというものを決めることができ、自分のプロフィールページのURLが facebook.com/username として割り当てられるという短縮URL的な機能があります。 というわけで早速ユーザーネーム「supermomonga」を取得しようとしたのですが… 「他を表示」をクリック。 …あれ?自由に希望ユーザーネームを入力するinputフォームが表れない。 恐らくjsで色々やってるっぽいので、ブラウザの相性かとGoogle Chrome,Firefox,IEなどのブラウザで試してみるも同様の症状。 そこで、どうしても自分で決めたユーザーネームが欲しかったので、Google Chromeのデベロッパーツールを使ってごにょごにょすることに。 真似する場合は自己責任でお願いします…! スパナマーク>ツール(L)>デベロッパー ツール(D)から、おもむろにデベロッパー

  • 1