タグ

adventcalendarに関するsugyanのブックマーク (125)

  • Emacsから Cの関数をつかう -> はやい - Qiita

    C言語で書いた関数を Emacsから呼び出したら速いかどうか検証してみた. この機能は Emacs 25で搭載される予定の Dynamic module機能を使って実現しています. Dynamic module機能については以下の記事を参考にしてみてください Emacsに mrubyを組み込んでみた ejectで学ぶ Dynamic module機能 リポジトリ 比較対象 フィボナッチ数の計算を以下のそれぞれで実装しました. C言語版 GCC 5.2.1でコンパイルし, 最適化オプションは -O2です. Emacs Lisp版は Emacs 25.0.50.1でバイトコンパイルしたものを利用しました. Emacs Lisp再帰版 Emacs Lispループ版 C再帰版 Cループ版 (defun fib-elisp (n) (if (<= n 1) n (+ (fib-elisp (1- n

    Emacsから Cの関数をつかう -> はやい - Qiita
  • 【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita

    きっかけ matsuya-generator-rubyが、cowsayコマンドと組み合わせるとシュールこの上ない。 pic.twitter.com/gxaudeU377 — ぐれさん (@grethlen) 2015, 12月 6 もっと色々やってみたい。 あれ?Shell Script Advent Calendar 2015の22日目の枠残ってるじゃん。 じゃあやろう。 環境 Mac OSX Yosemite 10.10.5の端末上で実施。 zshを使って動作確認してますが、多分bashでも動きます。

    【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita
    sugyan
    sugyan 2015/12/22
    めちゃくちゃ笑った
  • 本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita

    事の始まり それはD言語くんへの嫉妬から始まった。 D言語くんの繁殖についての仮説 lsを間違えてdlと入力してしまったときに、D言語くんが通り過ぎるコマンド くっ悔しい... そしてショボいAAで2番煎じ。 lsを間違えてgolと入力してしまったときに、Gopherが通り過ぎるコマンド書いた。 こんなはずじゃない! 僕らの Gopher 君はこんなチープじゃない! 明日来てください。物の Gopher をお見せしますよ。 — mattn (@mattn_jp) December 15, 2015 (当はもうちょっと前から作ってましたが) 物のGopher君とは そして今回、これを公開するに至った。 まずはこれをご覧頂きたい。 !!!!!!!!!!!!1 こいつ・・・ 動くぞ・・・ golang で書いたデスクトップマスコットです。起動すると画面のタスクバーの上をウロウロします。たま

    本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita
    sugyan
    sugyan 2015/12/17
    無駄に高機能すぎるww
  • The Platinum Searcherを5倍高速化するためにやったこと

    この記事は Go Advent Calendar 2015 その2 の 15日目の記事です。 先日、5倍の高速化を実現した高速検索ツールThe Platinum SearcherのV2をリリースしました。 今回は、高速化にあたり工夫した点をまとめておこうと思います。 The Platinum Searcherの基実装について 以前、GoConferenceで発表した資料にまとめてあるので、興味のあるかたはご覧ください。 基的にはFind、Grep、PrintのGoroutineがそれぞれの結果をChannelを経由して渡すつくりになっており、それぞれのGoroutine内で並行で処理を行うために更にGoroutineを起動しています。 ボトルネックの調査 今回は完全書き直しだったのでボトルネックを潰していくという手法ではなかったのですが、再実装にあたり、気をつけるべき点を確認する上でも

    The Platinum Searcherを5倍高速化するためにやったこと
  • package.json で Node.js/npm のバージョンをチェックする - need something more...

    はじめに npm3 と npm2 の互換性 Mac 環境での Node.js package.json の node-version/npm-version check-engines Rubybundler おわりに はじめに qiita.com このエントリは Node.js Adventcalendar の 13 日目のエントリです。 npm3 と npm2 の互換性 npm2で運用しているプロジェクトでshrinkwrap.jsonが壊れた時、npm3にシュッと移行する手立てはあるか?npmのバージョンを切り替える毎にnode_modulesを作りなおすのは大変だ」と追加質問したんですが、英語が全然しゃべれなくてちゃんと通じたか疑問です……。 maybekatの回答は「そうだね、npm自身も同じ問題に直面したよ。npm2ではじめたプロジェクトはnpm2で頑張り続けた方がいいし

    package.json で Node.js/npm のバージョンをチェックする - need something more...
  • Plack/PSGIなwebアプリケーションの実行環境 - 目の前に僕らの道がある

    この記事は、モバイルファクトリー Advent Calendar 2015 11日目の記事です ※ 投稿内容は私個人の意見であり、所属企業・部門見解ならびに技術戦略を代表するものではありません。 昨日は@rymizukiさんのnpmライブラリの運用と管理についてでした。今日はPerlの話です。 お仕事やプライベートでPerlのwebアプリケーションを書くことが多く、いろいろ知見が溜まってきてるので、ここで少し紹介しようと思います。 今回はPlack/PSGIなwebアプリケーションの実行環境の話です。mod_perlなアプリケーションとはちょっとコンテキストが違います。 少しかっちりコンテキストに近いです。個人で軽くwebアプリケーション立てるならもう少しゆるふわでも問題ないはずです。 OS UbuntuのLTSを使うことが多いです。Ubuntu前提の内容が後に続きます。 Perl Sys

    Plack/PSGIなwebアプリケーションの実行環境 - 目の前に僕らの道がある
  • Microservices 風 Emacs HTTP Server(s) on Heroku - Qiita

    概要 Emacs HTTP Server (elnode) を Heroku で動かしてみた Emacs on Heroku 同士でデータのやりとりを行ってみた といった出来事から得られた感想を述べます。 タイトルで Microservices と書きましたが、要するに Emacs の環境が Heroku 上に簡単に用意できる ことを知っていただくことが記事のメインとなっております。 経緯 Emacs ユーザの皆様におかれましては と日頃より思い悩んでいるはずで、偶然にも最近 gongo/emacs-heroku-docker を作成したことで その悩みは解消されることと存じ上げます。 簡単に説明すると、この Docker Image を利用して Heroku にリリースすることで、 Cask で依存パッケージをインストールしつつ、好きな Emacs プロセスを起動できます。 Herok

    Microservices 風 Emacs HTTP Server(s) on Heroku - Qiita
    sugyan
    sugyan 2015/12/09
    無駄にすごい…
  • Ruby のオススメの機能7選 - Qiita

    この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use

    Ruby のオススメの機能7選 - Qiita
  • HerokuでOpenCVを使うためのdocker imageの作り方 - Qiita

    docker-pluginを使ってちょっと特殊なアプリケーションをHerokuで動かすための自前imageを作る方法について書きました。間違いなどあればご指摘ください。 Buildpack と Docker Herokuでは、公式サポート対象の言語で簡単なアプリケーションを動かす場合はgit pushするだけで簡単に済みますが、サポート外の言語でのアプリケーションやデフォルトインストールされていないソフトウェアを使用する場合などは、それ用の実行環境を用意する必要があります。(逆にいうと、それを用意できれば多少特殊なアプリケーションでも動かすことができる、ということになります) 現在、公式サポートされているもの以外の言語・ソフトウェアを使う環境を作る方法としては以下の2種類があります。 Buildpackを作る これは古くから用いられているもので、アプリケーションをデプロイする際に実行される

    HerokuでOpenCVを使うためのdocker imageの作り方 - Qiita
    sugyan
    sugyan 2015/12/07
    公開されてた
  • 社内IRCをSlackに移行した時にやったこと - KAYAC engineers' blog

    藤原です。 カヤック社内では長らく社内のチャットシステムとして、Skype と IRC を併用してきました。Skype には一応全員アカウントを持っているのですが、IRCと比較すると botでの自動化が難しい 過去ログを参照しづらい 自分以外にだれもオンラインになっていないと発言できない (深夜の障害対応などで致命的) という特性のため、エンジニアを中心に好んで IRC を使用していたチームも多く、分断されていた状態でした。 今年は Slack が一気に世間的に広まったこともあり、ここはひとつ全社のチャットシステムを Slack に移行しよう!という気運が盛り上がり、現在自社サービスのすべてと一部のクライアントワークチームが Slack に移行完了しています。 (以前から Skype を使用している部署はまだ移行し切れていないので、全社統一は来年の課題です) このエントリでは、IRC から

    社内IRCをSlackに移行した時にやったこと - KAYAC engineers' blog
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
  • Cloud Vision APIの凄さを伝えるべくRasPi botとビデオを作った話

    (この記事はGoogle Cloud Platform Advent Calendar 2015の12月3日分の記事です) Cloud Vision APIと私 Googleに入ってからまもなく5年、Google Cloud Platformのデベロッパーアドボケイト(エバンジェリストみたいな役割)の仕事に就いてから1年が経ちました。仕事の半分はアジア地域向けの開発者コミュニティ支援で、残り半分はGCPの新製品ローンチの支援をグローバル向けに行っています。 特にここ半年は、TensorFlowをはじめ、GCP機械学習系プロダクトのローンチ支援にフォーカスしています。TensorFlowはその序章で、公開前からAlphaカスタマー向けのスライドを作ったり説明やデモしたりしていました。 そうしたGCPの新しい機械学習系サービスのひとつが、Cloud Vision APIです。これはGoogl

    Cloud Vision APIの凄さを伝えるべくRasPi botとビデオを作った話
    sugyan
    sugyan 2015/12/03
    Cloud Vision APIすごそう
  • Perl5 での Plack に当たる Crust をみんなで作った話 - tokuhirom's blog

    この記事は Perl 6 Advent Calendar 2015 の1日目です。 Perl 6 は、2015年のクリスマスにリリースされることになっており、我々としてはそれを待ち受ける必要があると考えました。 Perl6 がリリースされた暁には、いろいろ遊ぼうかなという気持ちをみなさんお持ちだと思います。 Perl6 には夢が詰まっており、様々な機能が含まれている夢の言語です。 そういった、夢の機能については今後、クリスマスまでの間に、語られていきますが、稿では、現実的な話をします。 今年のクリスマスに Perl6 がリリースされるぞ、という宣言がでたわけですが、そうなってくると、Perl6 をクリスマスから早速遊びたいなと思うわけですよね。 そして、私は web engineer なので、 Perl6 が出たら早速 web application を書きたいと思うわけです。 しかし、

  • Dockerとchrootを組み合わせたシンプルなコンテナデプロイツール - ゆううきブログ

    この記事ははてなエンジニアアドベントカレンダー2015の1日目です。今回は、既存の運用フローに乗せやすいDockerイメージへのchrootによるデプロイの考え方と自作のコンセプトツール droot を紹介します。 github.com 背景 Docker 番導入の課題 Docker 導入の目的 Docker + chroot のアイデア droot: Dockerイメージにchrootするコンテナツール droot の使い方 droot push: Dockerイメージをtar ball化しS3にpushする droot pull: S3にpushしたイメージをダウンロードし展開する droot run: 展開先のディレクトリにchrootする droot の実装 droot push/pull の実装 droot run の実装 あわせて読みたい あとがき 背景 Dockerがリリー

    Dockerとchrootを組み合わせたシンプルなコンテナデプロイツール - ゆううきブログ
  • Node.js へのcontributeの仕方 - from scratch

    qiita.com このエントリは Node.js Adventcalendar の 1 日目のエントリです。 Node.js への contribute の仕方 Node.js の contribute は敷居が高いと思っている人がいるのかあんまり日人が contribute をしているのを見ることが少ない。もっとコントリビュートする日人が多くても良いんじゃないかと思っている。 これまでの Node.js では CLA にサインが必要だったりイマイチさくっとコントリビュートができないという問題があったが、 v4 になってからの Node.js はかなりコントリビュートまでの敷居が下がっている。 にも関わらず、少ないのは日語の記事が少ないことも一つの要因だと感じているのでこれをきっかけにコントリビュートのやり方を抑えてもらって第一歩になるようにしてもらいたい。 Node.js のリポ

    Node.js へのcontributeの仕方 - from scratch
  • golang で streem を実装した。 - Qiita

    この記事は Go Advent Calendar 2014、16日目の記事です。 はじめに Matz さんが streem という、ストリーム指向言語の開発を始めるらしいです。 まだ文法の設計段階ではあるけど、それなのにかなりの量の pull-req がバンバンと来てて凄いなーと思いつつも「この pull-req 量だと僕には出番無いなー」と思ったので、README.md に書かれているサンプルだけを頼りに streemgolang で実装してみました。 先日はネタで streem のマネをして yacc 定義部分だけ公開していましたが、日ネタが無い中にTLがヒートアップして焦りに焦って勢いで実装してみました。いやはや異様な追い込みを感じます。。。 まずは streem を知る streem は README.md に書かれている通り並列実行を行いつつストリームを処理する言語です。

    golang で streem を実装した。 - Qiita
  • 例外のカレンダー | Advent Calendar 2014 - Qiita

    例外やエラー、それにまつわる各種言語の取り組み等を共有しましょう。 11月末までに書き手が集まらなかった場合は主催者による独りAdvent Calendarと化します。 集まらなかったので残念ながら独りAdvent Calendarと化しました。 追記 独りAdvent Calendarですが、以下の理由で頓挫しました。6日目以降はお好きにご活用ください。 http://qiita.com/Kokudori/items/3a953c00012408f76ab9#%E4%BE%8B%E5%A4%96-advent-calendar-2014%E3%81%AE%E7%B6%99%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

    例外のカレンダー | Advent Calendar 2014 - Qiita
  • 不具合にテストを書いて立ち向かう - t-wadaのブログ

    テストを行っている品質保証チームや、実際にシステムを使っているお客様から不具合が報告されたとき、あなたはどう思いますか? 悲しんだり、恥ずかしいと思い、不具合修正にすぐに着手したいと気がはやるのが人情というものです。しかし、焦っているときに行う作業はしばしば視野が狭く、一つの不具合修正が三つの新たな不具合を生んでしまうようなことになりがちです。 テスト駆動開発(TDD : Test Driven Development)は、プログラマが自分の不安を克服し、自分が書くコードに自信を持ちながら一歩一歩進んでいくための手法です。不具合の発生は、端的に言えばこれまでの「自信」を揺らがせる事態です。テスト駆動開発者は不具合にどう立ち向かうのでしょうか? やはりテストを書いて立ち向かってゆくのです。私はテスト駆動開発を数年間実践してきた中で、心がけているひとつの「掟」があります。それは「不具合の修正時

    不具合にテストを書いて立ち向かう - t-wadaのブログ
  • JavaScriptの将来と、JSXの関わり

    ※この記事は、JSX Advent Calendar 2013の一部です。 JSX Advent Calendarは技術系のネタが多いですが、ちょっと技術の話から離れて、JSXが将来的に何を目指そうとしているのかについて語ってみようと思います。 なお、私はJSX自体の開発には積極的に関与しておらず、この記事の内容についてJSX開発陣との合意を取ったものではありません。これはあくまでも個人の勝手な予想・思い込みによる記述であるということを念のために強調しておきます。 ブラウザやJavaScriptはここ近年大変注目されており、界隈ではそれにまつわる技術が多数登場しています。asm.js、PNaCl、WebGL、GWTなどなど、もちろんJSXもその一環として考慮されています。これというのも、ブラウザが入っていないパソコンはほぼないくらいブラウザが当たり前に浸透したことと、ブラウザの中で動く唯一

  • #16 Leap Motionでおっぱいを揉む - KAYAC Engineers' Blog

    どうも。退職者です。@damele0nです。 teck.kayac.com Advent Calender 2013 15日目のエントリです。 前日は、まったく恨んではいないのですが僕のプライベートな情報を社内でリークした @handlename 先輩の #15 SublimeTextでも使い捨てファイルを開きたい でした。まったく恨んではいないのですが。 さて、去年は「JavaScriptでおっぱいを動かす」というエントリでtech.kayac.com Advent Calendar 2012の2日目から世間様に苦言を呈されたという事態を踏まえつつ そもそも退職者という身分でありかつ、渋谷のディストピアこと闇リエで勤務しているということをわきまえながら Leap Motionでおっぱいを揉みたいと思います。 Leap Motionって? もはや説明不要でしょうか。 [公式サイト] 今年(

    #16 Leap Motionでおっぱいを揉む - KAYAC Engineers' Blog