タグ

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

  • なぜ仮想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
  • Gitでやらかした時に使える19個の奥義 - Qiita

    タイトルは大目に見てください><。 内容は危険な操作を伴うのでくれぐれも自己責任でお願いします。 間違いもあったら指摘ください。 ローカル編 自分のローカル環境だけで閉じていて、他の人への影響がない場合に有効です。 リモートにプッシュしちゃってる時は、他人への影響が発生するので危険です。 やらかし1:コミットメッセージに禁止ワード入ってて人生やめたい時 コミットメッセージを修正するのは簡単です。 ファイルの追加なんかもできちゃいます

    Gitでやらかした時に使える19個の奥義 - Qiita
    OKU_s62
    OKU_s62 2015/02/18
  • 知らないうちにMacがシステム標準でJavaScriptで操作できるようになってた (JXA) - Qiita

    知ってる人には今更と思いますが、今まで知らなかったのでメモメモ。 AppleScriptの代わりにJavaScriptを使えるようになってました。 Yosemiteからの新機能だそうです。 JXAとも呼ばれています。宇宙航空研究開発機構とは無関係です。 (追記:JXAは公式の略称です →Introduction to JavaScript for Automation Release Notes) 詳しくは Appleの公式ドキュメント か、「参考」にあるリンクへどうぞ。 もう一つ記事を書いたのでこちらもよかったらどぞ。 Macのキーボード入力、マウスクリックをJavaScriptで (JXA) Script Editorで使う方法 まずScript Editorを使う方法を説明します。 好きなテキストエディタを使いたい場合は飛ばしてください。 (でも「用語説明」の表示の仕方は覚えておいて

    知らないうちにMacがシステム標準でJavaScriptで操作できるようになってた (JXA) - Qiita
  • Coq: Vernacular コマンド備忘録 - Qiita

    のという式が使えるようになる。この andb 3 true は、実際には andb (nat_to_bool 3) true として処理される。 coercion には型強制という訳が充てられているみたいだけど、 Coq の場合、 implicit に変換函数を適用してみるという感じなので、 強制 ってほどでもないなぁと思わなくもない。 Set Printing Coercions. 変換函数の暗黙の適用は、基的に Coq の出力上には現れない。 コードに書かれていないのだから、表示もされてない方が自然だ。 ただまぁ、変換函数についての性質を使うときとか、やっぱり変換函数が見えていたほうが良い時もある。 そんなときは事前に Set Printing Coercions. を実行しておくと良い。 解除は Unset Printing Coercions. で。 coercion を多用して

    Coq: Vernacular コマンド備忘録 - Qiita
    OKU_s62
    OKU_s62 2015/01/28
  • Haskell風AltJSのベンチマーク - Qiita

    みんな大好きHaskell風altJS!みんな違ってみんな良いのですが、やはり気になるのは生成するjsの速度やサイズですね! 今回は竹内関数を使用してベンチマークを行ないました! エントリー javascript haste-0.4.3 fay-0.22.0.0 purescript-0.6.2 Elm-0.14 ghcjs-dev idris-0.9.15.1 ベンチマーク条件 ベンチマークには正格評価の竹内関数(Tarai)を使用した コードは以下のHaskell実装をベタ移植した1 2 コンパイルされたコードをuglifyjsにより圧縮した javascriptの実行にはnode-0.10.35を使用した ベンチマークは10回実行し、process.hrtime関数で計測した 実行環境はMac book air Mid 2011(メモリ4GB, CPU 1.8GHz Core i7)

    Haskell風AltJSのベンチマーク - Qiita
  • Bundler概要 - Qiita

    bundlerについて分かってる風になっていたので、一度整理します。 特徴 ・Gemパッケージの種類やバージョンの管理 ・複数PCで必要なGemパッケージをインストールする仕組みを提供 ->チーム間で同一の開発環境を簡単に構築することが可能に。 運用方針 基的に、gemコマンドでインストールするのはBundlerのみで、その他のgemパッケージは、Bundler経由でインストールするという方針。

    Bundler概要 - Qiita
    OKU_s62
    OKU_s62 2014/12/30
  • Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita

    ファイル編集がコンフリクトした場合 下記はよくある(忌々しい)コンフリクト画面ですね。 皆さんはコンフリクトのmergeはどんな方法でやっていますでしょうか? vimemacsで直接編集している方が多いイメージですが、実際開いてみると、下記のように差分が表示されていると思います。 この画面を見ただけではどのようにmergeすればよいのかわかりません。(Objective-CのARC/MRC双方の開発経験がある人は目をつぶってください・・) gitにはこのようなコンフリクトのmergeを支援するgit mergetoolコマンドが搭載されています。 このままEnterキーを押すと下記のような画面が立ち上がります。 画面幅の都合でフォントが小さいのですが、ここで「mergeしたい差分が作られる直前の状態」と「mergeしたい差分」に注目してみます。 この2つを見比べると、@propertyの

    Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita
    OKU_s62
    OKU_s62 2014/12/21
  • Homebrewでbrew updateに失敗した際の対処方法 - Qiita

    $ brew update error: Your local changes to the following files would be overwritten by merge: share/man/man1/brew.1 Please, commit your changes or stash them before you can merge. Aborting Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

    Homebrewでbrew updateに失敗した際の対処方法 - Qiita
  • Unity2Dのこれだけは覚えておけ!集 - Qiita

    これは ドリコムAdvent Calendar 19日目の記事です。 18日目は ikkou さんの アドベントカレンダーでニコニコカレンダーの話を書きたかった です。 asiramと申します。 現在はサーバサイドエンジニアをやっております。 まだまだぺーぺーです。 最近Unity2Dを触っていますが、これだけ知っておければかなりの範囲の2Dゲームをカバー出来そう、という要素があるように感じています。 まだまだ触りたてなので、間違いがあったら指摘してください...! 今回はよく使うコンポーネントやクラスのメソッドなどを紹介します。 言語はC#です。 おそらくここに書かれているものをひと通り知っていればいろんな2Dゲームが作れると思います! コンポーネント編 Sprite Renderer 言わずもしれたスプライトを表示させるためのコンポーネントです。 とりあえず、「Sprite」に設定した

    Unity2Dのこれだけは覚えておけ!集 - Qiita
  • Haskellと随伴 - Qiita

    随伴というのは2つの関手の関係のことです. $ F : \mathcal{C} \to \mathcal{D} $, $ G : \mathcal{D} \to \mathcal{C} $があったとき, 随伴$F \dashv G$ とは, 自然同型 $\hom(F\cdot,\cdot) \cong \hom(\cdot,G\cdot)$ のことです(ただしこの同型はhomの左右を同時に固定して, 2変数引数としてみて考えます). 文章で読むより図式を見たほうが早いです. コードにするのも簡単です. class Adjunction f g where leftAd :: (f a -> b) -> (a -> g b) rightAd :: (a -> g b) -> (f a -> b) -- Adjoint laws -- 1. leftAd . rightAd = id -- 2

    Haskellと随伴 - Qiita
  • Rubyに型を付けるHaskellというgemを作ったヨ!

    2020/12/27追記 https://www.ruby-lang.org/ja/news/2020/12/25/ruby-3-0-0-released/ => Ruby3.0.0にRBSとTypeProfと用いた静的解析に対するソリューションが提供されました。 今後はこちらのエコシステムをガンガン盛り上げていきましょう💪 あいさつ P.S. 12/11 HaskellからRubypeにgemを変更しました こんにちは. 寒さが一段と厳しくなってきた事もありまして心を温めるGemを作りました. Rubyの振る舞いを汚染する事無く型保証の恩恵をゆるふわ受けられるgemです (型をつけるとか型保証という言葉をこの文脈ではメソッドの引数返り値のクラスを実行時にチェックするという意味で使っている.) 得体の知れないGemで抵抗感があるかもしれませんが、コード自体は50行以下の薄いGemなので気

    Rubyに型を付けるHaskellというgemを作ったヨ!
    OKU_s62
    OKU_s62 2014/12/08
  • 例外のカレンダー | 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
  • そこそこセキュアなlinuxサーバーを作る - Qiita

    先日「サーバーのセキュリティ設定がなにすればいいかわからない」と相談をうけまして。 自分も初心者の時どこまでやればいいかわからず手当たりしだいにやって沼に入っていたのを思い出しながら自鯖構築したときのメモを元にまとめてみました。 注意 セキュリティ対策は用途や場合などによって違います。 自分で理解したうえで自己責任でおねがいします。 対象読者 Linuxのサーバーを建て慣れていない人 Linuxはある程度さわれる人(自分でパッケージを入れたり、サービスを止めたりできる) ラインナップ ☆は導入の重要度と導入の容易さから個人的偏見からつけた値です。 4つ以上が"最低限やること"だと思ってください。 sshd

    そこそこセキュアなlinuxサーバーを作る - Qiita
  • Gitのコミットメッセージの書き方 - Qiita

    Gitのコミットメッセージの書き方 自分なりにまとめてみました。Git歴浅いので、意見募集中です。 (2014年12月17日追記) 想像以上にたくさんの方にストックなりはてブなりいただいたので、はてブでなるほど!と思ったコメントをもとに少し修正・加筆してみました。 (2022年1月4日追記) 最新の書き方をこちらに書きました。 https://zenn.dev/itosho/articles/git-commit-message-2023 原則 以下のフォーマットとします。 1行目:変更内容の要約(タイトル、概要) 2行目 :空行 3行目以降:変更した理由(内容、詳細) 日語でも英語でもOKですが、リポジトリで統一してください。 1行目 コミット種別と要約を書きます。フォーマットは以下とします。 [コミット種別]要約 コミット種別 以下の中から適切な種別を選びます。 (多すぎても悩むので

    Gitのコミットメッセージの書き方 - Qiita
    OKU_s62
    OKU_s62 2014/11/22
  • Ruby - [翻訳] 私のコミットをまとめないで - Qiita

    はじめに RubyのコミッターでもありRailsなどの多くのOSSで活躍されているMarc-André Lafortune さんのブログに面白い記事があったので筆を取りました. (許可は取りましたヨ) Why I Won't Squash My Commits *注釈 [...] で記された文章は原文には存在しない私の注釈であるので留意されたいです. 翻訳に至らない所があれば編集リクエスト待ってます. 要約 PR,feature単位でcommitをまとめるかどうかでRailsプロジェクト上などで揉めた. それぞれのcommitは独立してるいるはずだからまとめる必要はない 仮にどうしてもまとめたいなら自分でやるべきだし人にその考え方を押し付けるな (まあ実際は皆いい人だから理解してくれるけど) この方は徹底してcommitを最小の変更単位で分けて、 それぞれが独立してテストを通るように心が

    Ruby - [翻訳] 私のコミットをまとめないで - Qiita
    OKU_s62
    OKU_s62 2014/11/03
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - 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
    OKU_s62
    OKU_s62 2014/10/28
  • EmacsのGitクライアント:Magit - Qiita

    これはGitアドベントカレンダーの17日目のエントリーです。 このエントリーではEmacsのGitクライアントであるMagitの紹介を行います。ひよっこプログラマのエントリなので間違いがあれば指摘して下さい。逆に、ひよっこプログラマだからこそ出来る、これを見たら初心者でも出来るようなエントリを目指しました。 Magitって何? EmacsのGitクライアントです。Emacsでコード編集して、ターミナルに移動せずそのままEmacs上でGitの操作を行うことが出来ます。 インストール方法 ソースはgithubで公開されています。 https://github.com/magit/magit インストールします。 $ cd $ mkdir tmp $ cd tmp $ git clone git@github.com:magit/magit.git $ cd magit $ ./configur

    EmacsのGitクライアント:Magit - Qiita
  • GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する - Qiita

    2019/12/11 分かりやすいサイトへのリンクを追加しました hub コマンドの hub fork について追加しました 2013/04/11 興味深い手法があれば随時追加していきます ネットを検索すると、色々な手法が出てきますが、自分としては「WEB+DB PRESS plus 開発ツール徹底攻略」p.71 に載っていた以下の手法がシンプルで良く理解できました。 家リモート upstream を追加する方法 家リポジトリの例として、実際にGitHubに存在する練習用リポジトリ git@github.com:DQNEO/Renshu.git を使います あなた (youraccount) が既にForkしているRenshuリポジトリをcloneします。 $ git clone git@github.com:youraccount/Renshu.git Cloning into 'R

    GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する - Qiita
    OKU_s62
    OKU_s62 2014/09/29
  • 【Tig全まとめ】Gitを自由自在に操るための必殺ツール - Qiita

    インストール方法から参考リンクまで。 自分の勉強ついでに、Tigについて基の すべてをまとめてみました。 合わせて読みたい 【おすすめ】MacのFinderをカスタマイズする魔法のコマンドたち 【おすすめ】これからWebする人はここ読んどけ(HTML/CSS/JS/Ps/Ai.etc) 【おすすめ】Qiitaを使い倒す方法一覧 Tigとは 定義 Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands. 要

    【Tig全まとめ】Gitを自由自在に操るための必殺ツール - Qiita
    OKU_s62
    OKU_s62 2014/08/29
  • https://qiita.com/PLHX/items/c20b953abad3c9e4f95e