タグ

ブックマーク / qiita.com (356)

  • 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
  • Sprockets再考 モダンなJSのエコシステムとRailsのより良い関係を探す - Qiita

    すいません。締切守れませんでした…。 やっぱ、java-jaの忘年会の翌日は辛い…。 はじめに Webシステムを開発していると切っても切れないのがJavaScriptです。 Railsはかなり早い時期からalt-JSや結合、minify等を組み込めるようにフレームワークにそれを取り入れてきました。 それを支えているのがRails3.1から導入されたsprocketsです。 それに伴なってJSのライブラリをどうやって管理するかという点について、独自の路線を取ることになりました。 JSのライブラリを同梱したgemパッケージにラップしてrubygemsとして管理する方法です。 ある程度は上手くいっていたし、今もその流れは続いているんですが、時々問題になることもあります。 例えばメンテナの対応時期がズレてて古いバージョンのままだったり、似たようなgemが乱立してややこしくなったり。(backbon

    Sprockets再考 モダンなJSのエコシステムとRailsのより良い関係を探す - Qiita
  • 家族写真の可聴化について - Qiita

    このエントリーは家庭を支える技術 Advent Calendar 2014の2日目として書かれました。 家族写真は、就業時に家族のことを想起し奮闘する上で重要なツールです。しかしながら、一般的なオフィスにおいては自席以外でくつろいだ姿勢で設計やコーディングを行うことがよくあります。 そういった状況において、家族写真のような家族を可視化するツールを持ち歩くことはあまり現実的ではありませんが、作業に使うコンピューターに家族の声を利用して一定の情報を可聴化するようなツールを導入しておくことで、その機能を代替することができます。 稿では家族写真を可聴化によって代替するために、私がここ1、2年の間にとっている手法を紹介します。 寝た方がいいということを教えてもらう もう寝ろよ というGoogle Chrome Extensionを実装しています。この拡張をインストールした上で、午前0時以降にブラウ

    家族写真の可聴化について - Qiita
    june29
    june29 2014/12/02
    序盤から勢いありすぎる
  • なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita

    追記: 情報が色々と古くなったため、2020年に書き直した版へのリンクを張っておきます。 この記事は VirtualDOM Advent Calendar 2014 - Qiita の初日です。 初日ということで、基調講演風に、Virtual DOMとはなにか、なぜ僕はこんな興奮しているのか!という話から。 Virtual DOMとはなにか 既存の概念で当てはめると、JavaScriptのMVC, MVW(Whatever)フレームワークのViewに位置します。が、その程度では終わりません。仮想DOMとは世界を革命する力であり、このjQueryのDOM操作で汚れきったフロントエンドを救う救世主なのです。 現時点で自分が知っている限りは、以下の実装を指します。 facebook/react 最も使われてるFacebookの実装 Matt-Esch/virtual-dom Altenative

    なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita
  • Adobe製のJavaScriptデバッガTheseusがすごい - Qiita

    この前、研究室の先生に教えてもらったAdobe製のJavaScriptデバッガTheseusがかなり便利なのでご紹介します。 Theseusとは Theseusは、AdobeとMITの共同研究から生まれたJavaScriptのデバッガです(→学会論文)。ChromeとNode.jsの上で動きます。具体的に何をしてくれるのかをざっくり言うと、関数のコールを追跡して、BracketsというAdobe製のエディタに下画像のような感じで表示してくれます。 Theseusのすごいところは、コールバックの実行まで追跡してくれることです。もちろん、エラーが起きた箇所もすぐに見ることができます。また、デバッグをするとき、気になる箇所にconsole.logを挟むことがあると思いますが、Theseusを使えばその必要もありません。関数の横に表示されているコール回数をクリックすれば、その関数の実行ログを表示し

    Adobe製のJavaScriptデバッガTheseusがすごい - Qiita
  • Google、FluentdをKubernetesとCompute Engineの標準ログコレクタに採用 - Qiita

    Google、FluentdをKubernetesとCompute Engineの標準ログコレクタに採用FluentdgooglecomputeenginekubernetesGoogleCloud まずはFluentdコミュニティの皆さん、おめでとうございます!!! Googleを中心に開発されているオープンソースのDockerジョブスケジューラKubernetes (k8s)、それにGoogle Cloud Platformのログ収集サービスGoogle Cloud LoggingのGoogle Compute Engine用ログコレクタとして、Fluentdが標準採用されました。もうひとつおまけに、fluent-plugin-bigqueryをフィーチャしたソリューションページも、あと1か月くらいでcloud.google.comにて公開される見込みです(これは私がいま仕上げ中)。

    Google、FluentdをKubernetesとCompute Engineの標準ログコレクタに採用 - Qiita
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita

    TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業

    バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita
    june29
    june29 2014/10/29
  • RailsでExcelを扱うGemまとめ - Qiita

    spreadsheet zdavatz/spreadsheet TheRubyToolboxによると、一番多く使われているらしい .xlsx, .xlsmは扱えない 新規作成、読み込み、書き出しが可能 セルの書式設定は面倒そう # 新規作成 book = Spreadsheet::Workbook.new sheet = book.create_worksheet(name: 'curry') # いろいろな方法でデータを入れられる # 計算式は入力できない sheet.row(0).concat %w{品名 単価 数量 計} sheet[1,0] = 'にんじん' sheet[1,1] = 80 sheet[1,2] = 1 sheet[1,3] = 80 row = sheet.row(2) row.push 50 row.push 2 row.push 100 row.unshift

    RailsでExcelを扱うGemまとめ - Qiita
  • Resource Routingつらくね? - Qiita

    Rails Guidesでは「Resource Routing: the Rails Default」として namespace, resource, resources といったメソッドを利用する方法が紹介されている。これまでとりあえずこの機能を使って開発してきたが、これは果たして当に積極的に利用した方が良い機能なのか。 あるとき 試しにTwitterAPIのようなルーティングを定義しながら、Resource Routingを利用する場合としない場合とを比較してみることにする。ここでは (Resource Routingを利用するメリットを出すためにも)、API用のPrefixとして各パスの先頭に /api/v1 を付けることにする。このAPIはアクセストークンの発行や、tweetの取得、投稿、ユーザやフォロワー情報の取得などの機能を提供する。また、/api/v1 以下のどのパターン

    Resource Routingつらくね? - Qiita
    june29
    june29 2014/09/03
    「そういう現象を何度も」について、「あるとき」にそういうのが混じったら目立つから注意を引きそう、「ないとき」にそういうの書かれたらどんどんカオスになりそうな印象。
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
  • HTMLでWeb APIをつくる - Qiita

    シングルページアプリケーションやモバイルアプリなどの普及により、サーバサイドではJSONを出力するWeb APIの必要性が高くなってきています。みなさんはどのようにWeb APIを作っているでしょうか。 JSONはビュー RailsでJSON APIを定義する時、素のままでやろうとすると コントーラでto_jsonを呼んだり、モデルにas_jsonを定義したりすることになるかと思います。 モデルに書くとAPIによって出力内容を変えたい場合にとても苦労します。 API数が増えれば増えるほどモデルが複雑になっていきます。 APIレスポンスとしてのJSONはコントローラやモデルに書くべきでしょうか? ビューに書いた方が自然ではないでしょうか? これはRailsでの話ですが、Railsに限らず、フレームワークを使ってWeb APIを作るときに一般的にあてはまることだと思います。 変化に強い、再利用

    HTMLでWeb APIをつくる - Qiita
  • Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita

    まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど

    Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita
  • Herokuの本番環境にRailsでSSL(https)を導入する方法 - Qiita

    環境は、rails 3.2.6、ruby 1.9.3、heroku-toolbelt/2.33.0 です。 秘密鍵を作る (参考)https://devcenter.heroku.com/articles/csr $ openssl genrsa -des3 -out server.orig.key 2048 ... Enter pass phrase for server.key: 適当なパスワードを。 Verifying - Enter pass phrase for server.key: もう一度同じパスワードを。 $ openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your c

    Herokuの本番環境にRailsでSSL(https)を導入する方法 - Qiita
  • IT人材白書2014を読んだ - Qiita

    となり、圧倒的に Web ビジネスがホットな転職先であることが分かります。Web ビジネスでの中途採用は、「IT企業から」と同じ「Webビジネス企業から」の両方。IT企業から流れ込んでいるのかと思ったら、「Webビジネスを渡り歩く」人も増えてきているのでしょう。 逆に、IT企業では、同じIT企業からの転職が圧倒的。(Webビジネス企業からの逆流は少ない)もしくは、ここに数字は出てこないが社内配置転換、が多いと推察されています。 アジャイル開発 p.106 から始まる節では、アジャイル開発における人材像について記述されています。欧米ですでに主流になっている手法だが、日でも採用が増加傾向にあり、IPAのセミナーでのアンケートでは、2013年にはじめて「すべてのプロジェクトで適用している」もしくは「ほとんどのプロジェクトで適用している」の参加者割合が半数を超えた回があったそうです。 ただし、別

    IT人材白書2014を読んだ - Qiita
  • SwiftとiBeaconを使ってお母さんが自分の部屋に近づいて来た事を警告するアプリをつくる - Qiita

    はじめに シチュエーション 部屋で作業をしているとき、突然お母さんが部屋に入ってきたという経験はありませんか? そんな状況を避ける為に、今回はお母さんが部屋に近づいてきたことを知らせる夢のようなアプリを 「iBeacon」を使用することで作ってみたいと思います。 iBeaconとは iOSで地図などに使用されていた「Core Location」にiOS7以降に新たに加わった機能です。 CoreLocationは元々GPSからデバイスを検出していた為、近距離や屋内での使用には不向きでした。 iBeaconはBluetooth LEを使用することで、近距離でのデバイスの位置情報を容易に取得できるようにしたものです。 アプリの仕組み まずお母さんにはestimote社から発売されている ビーコンを大切なものだから..と言って常に持ってもらいます。 http://estimote.com/ ⬇️

    SwiftとiBeaconを使ってお母さんが自分の部屋に近づいて来た事を警告するアプリをつくる - Qiita
    june29
    june29 2014/07/04
    「まずお母さんにはestimote社から発売されているビーコンを大切なものだから..と言って常に持ってもらいます」
  • ただのWebエンジニアがスマホサイトを開発するにあたって知っておきたいこと - Qiita

    今更だけど、スマホサイト開発未経験のエンジニアが、スマホサイトを開発して気づいたことやハマったことなどの雑多なまとめです。 対象はiOS, Androidです。 シェア率(日) 最近の動向など 2014年4月のスマートフォン販売シェア、日ではiOSがトップ、欧州ではWindows Phoneのシェアが各国で増加(Kantar調査) | juggly.cn Apple、2014年第1四半期において日スマートフォン市場のシェアを36.6%獲得!ドコモ版iPhoneで大躍進 | gori.me(ゴリミー) 2013年第4四半期 国内携帯電話出荷台数ベンダー別 シェア 2013年第4四半期および2013年 国内携帯電話・スマートフォン市場規模を発表 より iOS, Android共に半々くらいのシェア率で考えれば良さげ。 Androidシェア(世界) iOSのOSは基的には最新のバージョン

    ただのWebエンジニアがスマホサイトを開発するにあたって知っておきたいこと - Qiita
  • GistでGemを公開する - Qiita

    Gemは思いついたときにサクッとつくって即公開できたら最高だと思う。 https://gist.github.com/ を使えばブラウザで簡単にGemを書いて公開できる。 要点 GemfileはGitレポジトリ上に存在するGemを指定できる GistはGitレポジトリとしてのインターフェースを備えている Gistには複数のファイルを置ける 最小構成のGemspecとコード片をGistに置いてGemfileから参照する やり方 以下のように2つのファイルをGistに置く。 Gem::Specification.new do |spec| spec.name = "my-gem-name" spec.version = "0.0.1" spec.authors = ["Your Name"] spec.email = ["your-email-address@example.com"] spe

    GistでGemを公開する - Qiita
    june29
    june29 2014/06/09
    なるほど参考になった。
  • モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

    はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:

    モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita
    june29
    june29 2014/05/28
    だいたいここに書いてあるルールを意識して命名しているなぁ、と。英語にしても日本語にしても、これくらいのルールを緩くでも適用していかないと、そのときの気分で命名が行われるようになってウッ
  • Emacsは死んだ - Qiita

    Emacs(イーマックス)とは高機能でカスタマイズ性の高いテキストエディタである。スクリーン・エディタとしての人気が高く、特にUNIXのプログラマを中心としたコンピュータ技術者に愛用者が多い。(⇒ http://ja.wikipedia.org/wiki/Emacs) 「Emacsは死んだ」元記事⇒ http://cx4a.org/pub/emacs-is-dead.ja.html 筆者の松山朋洋さんは auto-complete.el の作者です。面白い記事ですので是非ご一読を! 文書のライセンス この文書はCreative Commons Attribution-Noncommercial-No Derivative Works 3.0のもとでライセンスされています。 -- 松山朋洋 (2010/2/22) 何よりもまず最初に、あまりにも感傷的なタイトルを付けたことについて謝罪しなけれ

    Emacsは死んだ - Qiita
  • Facebookみたいにtextareaの一部を強調する - Qiita

    Facebookで人物を補完すると、その人物名の周りに枠が表示されて強調されますよね(gif画像参照)。 これのやり方を解説します。 TL;DR textareaの強調表示は、textareaを透明にして後ろにいい感じの背景を設置してるだけ textareaの中にDOMを入れても表示されない パッと考えるとtextareaの中にDOMツリーを入れるとそれが表示されるんじゃないか、と思うかも知れません が、ぜんぜんそんなことは無くて、そのまま文字列が表示されてしまいます。 ご存知のようにtextareaやinputは、他の要素のように子要素を表示するのではなく、自身のvalue属性の値を画面に表示する働きをします。value属性は文字列を格納するためのものなのでDOMを入れられないわけですね。 強調用のDOMを重ねあわせる textareaにはDOMをそのまま入れられないので、仕方がなく周り

    Facebookみたいにtextareaの一部を強調する - Qiita
    june29
    june29 2014/04/18
    なるほどすごい、だけど、こういうのもっと簡単にできるようになってほしい。