タグ

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

  • 最近の行儀のよい JavaScript の書き方 - Qiita

    JavaScriptは移り変わりの早い言語です。 もう1年以上経っていますし、記事のメンテもちゃんとできていないので、消し線を入れることにしました。 参考程度のために記事は一応残しますが、より新しい情報を読まれることをお勧めいたします。 はじめに --- 最近では JavaScript の実行環境はブラウザに限りません。(node.js, Web Workers) また、旧来のような <script> 経由でのロードもとうに古くなっています。今は CommonJS スタイルで、require を用いたモジュールのロードを行なうことがより良いとされています。 ですから、次のようなことは改める必要があります。 - var YourModule = {}; などとして、外部から YourModule.hoge(); などと呼び出す書き方 - this === window だと思うこと 今回は、

    最近の行儀のよい JavaScript の書き方 - Qiita
    yamadar
    yamadar 2014/12/21
    さっきuupaa氏のjavascriptの玉手箱を読み返してみた所。
  • IE10 以下を切る場合の JavaScript チェックリスト - Qiita

    この投稿は、 JavaScript Advent Calendar 18日目の記事です。 更新履歴 こちら をご覧下さい JavaScript の書き方をアップデートする JavaScript Good Parts で書かれているような JS の書き方は、古くなりつつある部分も多いです。 正直なところ、自分はあのが「今でも」良書だとは思っていません。 初学者に勧めることもしません。まんべんなさと普遍性と客観性から「パーフェクト JavaScript」 を勧めています。 その頃と比べると、 JavaScript をとりまく環境は変わりました JavaScript の進化に合わせて書き方もアップデートしていくべきなので、今回は分かりやすいしきい値として 「IE10 以下を切れるとしたら」 という前提で、列挙してみます。 たとえば XHR2 や File API に依存したサービスをやる場合な

    IE10 以下を切る場合の JavaScript チェックリスト - Qiita
  • 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 今年、書いた幾つかの記事のタネであったり、新卒教育の際に参考書籍としてあげたものを中心にリストアップします。一応amazonへのリンクも貼っておきますが、先輩が持ってたりすると思うので、冬休みに借りて一気に読んでおくのもいいかと思います。 その時々、必要な技術の習得に日々追われているんじゃないかと思いますが、いつまでも使

    新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita
    yamadar
    yamadar 2014/12/19
    持ってないのが何冊かあるので買っておこう。
  • 【2019年11月版】ブラウザ側でデータを保存するため各ブラウザにおけるローカルストレージの挙動の調査 - Qiita

    概要 このドキュメントではローカルストレージの説明と、各ブラウザでの動作を検証する。 ローカルストレージとは、データをブラウザ側に蓄積する仕組みである。 保存時に、サイトごとにKeyと文字の組み合わせでデータを格納する。 サイトごとの領域は、それぞれ独立しており、別のサイトで記録したデータを操作することはできない。 また、それぞれのサイト毎に保存できる上限は制限されている。その具体的サイズはブラウザ毎にことなる。 詳細な仕様は下記を参照のこと。 https://html.spec.whatwg.org/multipage/webstorage.html#the-localstorage-attribute 実装例 下記にローカルストレージの実装例を紹介する。 localStorage APIの使用例 localStorageの操作を行うAPIの使用例を紹介する。 このAPIは、処理が完了す

    【2019年11月版】ブラウザ側でデータを保存するため各ブラウザにおけるローカルストレージの挙動の調査 - Qiita
    yamadar
    yamadar 2014/12/18
    localStorage は、1つのキーに対するデータ量が2.5MB〜5MBという制限がある。
  • 俺のJSライブラリの世界観(2014末版) - Qiita

    http://qiita.com/advent-calendar/2014/frontrend 概論 ここ近年のモダンJSは特に理由がなければcommon.jsのrequireスタイルで記述され、webpack/browserifyでビルド/読み込むことを前提にしてよい。今やビュー層を除いてブラウザとnodeのライブラリの境界は非常に曖昧である。 識者諸君においては常にどちらの環境でも読み込めるようなライブラリを提供するように心がけることを切に願う。 今日はライブラリの名前しか出さないんで各自ググるように。 立場 サーバサイド~ゲームプログラミング出身node寄りフロントエンドエンジニア このサイトのスタッフだけど他のことに手一杯でQiitaのフロントはまだそんなにいじってない すまんな 他ってなんだろうな 言語 CoffeeScript TypeScript 最近DDDっぽい構成を目指し

    俺のJSライブラリの世界観(2014末版) - Qiita
  • EC2リージョン別応答時間メモ - Qiita

    EC2リージョン別の応答時間を調査する機会がありました。 東京からのping/httpのリージョン別応答時間を 一覧で見れるサイトがなかった1 ため 調査した結果をメモ書き程度に残しておきます。 計測サーバ環境 t2.microに yum install nginx しただけのサーバです。 確認コマンド 以下を1分程度まわした平均値を取りました。

    EC2リージョン別応答時間メモ - Qiita
    yamadar
    yamadar 2014/12/10
    近いと速いという、普通の結果。(オレゴンを除く)
  • なぜ仮想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
  • フロントエンドエンジニアになってから11ヶ月間で覚えたちょっと捗るChromeの使い方 - Qiita

    はじめに 昨今のWebブラウザはどのような機能があるのか把握するのも大変なほど多機能で便利ですよね。 Webブラウザの機能を把握してうまく使いこなせること(とくに開発者ツール)が、フロントエンドエンジニアの前提スキルになってきてるのかなぁと感じる今日この頃です。 ということで自分のデフォルトの開発用ブラウザはChromeなのですが、これを覚えて捗ったなぁということをメモしていこうと思います。 思い浮かんだら追記していこうと思っているのでストックして頂けると幸いです。 基系 キーボードショートカットを覚える Chromeのキーボードショートカットの一覧 キーボードで出来ることはなるべくキーボードでやるけれども、マウスやトラックパッドでやったほうが速い場合は臨機応変に切替えることを心がけています。 Chrome Canaryを使う Chromeの開発者向けプレビュー版 Chrome Cana

    フロントエンドエンジニアになってから11ヶ月間で覚えたちょっと捗るChromeの使い方 - 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
    yamadar
    yamadar 2014/11/30
    本気で便利そう。試してみよう。
  • 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
    yamadar
    yamadar 2014/11/22
  • Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita

    もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe

    Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita
    yamadar
    yamadar 2014/10/24
    昔はIEのresizeイベントなんかも凄かったな。その時に作った呼び出し遅延スクリプトは今でも使ってる。
  • 再考: GoF デザインパターン - Qiita

    投稿は私の主観によって書かれています。コメントは大歓迎です。もし長くなるようでしたら別途記事に投稿し、リンクを張っていただけると嬉しいです。 概要 GoFのデザインパターンは適当すぎるから、いい加減、修正されるべき。 参考までに各パターンに対するコメントを書く。 GoFのデザインパターン GoFのデザインパターンは適当であり、教科書通りに学ぶべきものではないように思う。 以下がGoFのデザインパターンの良くない原因だろう。 が出版されたのは1994年であり、Java(1995)が出てくるよりも前だった オブジェクト指向が未成熟な時代にカタログ化された 現代のプログラミングと合致しないものが多い 「オブジェクト指向における~」と断っている以上、OOPに絡める必要があった パターンのいくつかに「多態性を用いると便利」という蛇足がついている 挙げたパターンに根拠がない 「とりあえず、23個ほ

    再考: GoF デザインパターン - Qiita
  • Cコンパイラをスクラッチから開発してみた(日記)

    以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも通る。 int a = 61; int *b = &a; *b; // => 61 文字列は文字の配列として扱っていて、配列をポインタに成り下げる振る舞いも実装しているので、こういうのも通る。関数呼び出しもある。 char *c= "ab" + 1; printf("%c", *c); // => b 前回もこのあたりはがんばって実装したからここまで作るのはわりと単純作業かも。二回目だから配列とか

    Cコンパイラをスクラッチから開発してみた(日記)
  • クラスの命名のアンチパターン - Qiita

    昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParameter FooResult, FooStatistics, FooSummary FooBuffer, FooList, FooCollection, ... ProductListItem, TranslationTableEntry, etc. Prod

    クラスの命名のアンチパターン - Qiita
  • CSS3 のみで display: none からフェードインさせる - Qiita

    CSS3 のみで display: none; の状態からからフェードインさせる方法を調べてみました。たとえば特定のクラスがついたときにフェードインさせるには下記のようにすればできました。 display の animation はできないので、下記のように 1% のキーフレームを追加して 表示かつ opacity: 0; としておくのがポイントです。 Gist 動作サンプル <!DOCTYPE html> <html> <head> <meta charst='utf-8'> <title>TEST</title> <script src="//code.jquery.com/jquery-1.11.1.min.js" type="text/javascript"></script> <style> .box { background: #000000; display: none; h

    CSS3 のみで display: none からフェードインさせる - Qiita
    yamadar
    yamadar 2014/08/29
    1%のキーフレームを追加して display:block; opacity:0; する。
  • 【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
  • Markdown記法 チートシート

    Markdown記法のチートシートです。 記法はGitHub Flavored Markdownに準拠し、一部拡張しています。 Qiitaでシンタックスハイライト可能な言語一覧については、 シンタックスハイライト可能な言語 をご覧下さい。 Code - コードの挿入 Code blocks - コードブロック たとえば、「Ruby」で記述したコードをファイル名「qiita.rb」として投稿したいときは、 バッククオート(`) か チルダ(~) を使用して以下のように投稿するとシンタックスハイライトが適用されます。 コードブロック内でコードブロックを書きたい場合は異なる記号を使うことで書けます。

    Markdown記法 チートシート
  • 世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - Qiita

    GitHubGoogle Group を眺めていると、実にたくさんのライブラリプロジェクトがあります。 UI に関連するものもあれば、設計を整理するのを助けてくれるものもあり、様々です。 特に、UI に関連するものは、実際に動かすとどうなるのかが気になるところ。しかし、必ずしも README にスクリーンショットがあるとは限らないのが現状です。また、スクリーンショットがあっても、操作感がわからなかったりすることもあります。 そんなあなたへ、いろいろなライブラリのサンプルを寄せ集め、実際に動く様子を手に持って触れるアプリがありますのでご紹介。 for Android: Libraries for Developers for iOS: Libraries for Developers 片っ端からライブラリを寄せ集め、デモも組み込まれているすぐれもの。ライブラリの Author やライセ

    世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - Qiita
    yamadar
    yamadar 2014/08/26
    これは良さそうだ
  • ログ集計/時系列DB/可視化ツールの調査結果 - Qiita

    近年、自分の中で集計/可視化は Fluentd(datacounter)+Growthforecast で定番化していました。 しかしプロダクトで新たに集計/可視化の要件が出てきたことと、 最近可視化ツール周りで 「Kibanaってなんじゃ?」「Graphiteってなんじゃ?」「InfluxDBってなんじゃ?」 など、このツール達は一体何なんだろう…?というのが前々から気になっていました。 今回良い機会なので ◯◯は何をするものなのか? というのを一つ一つ調べてみました。 いわゆる「触ってみた系」の記事なので だいぶ浅い感じです。 大分類 大きく分けると、可視化ツールは以下の3つに分けられそうです。 ログ収集/集計 時系列DB(+API)の担当。バックエンド側。 可視化部分の担当。 今回は バックエンド と 可視化部分 に焦点を当ててみます。 バックエンド 全文検索時エンジン+Restfu

    ログ集計/時系列DB/可視化ツールの調査結果 - Qiita
  • JavaScriptのプロトタイプチェーン - Qiita

    元ネタ:JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ なんか色々突っ込みたかったので。 この人はプロトタイプチェーンでクラスベースの言語と同じことをやろうとしているのかな。 プロトタイプチェーンは、ただの道具 npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。 プロトタイプチェーンは、それ自体ただの道具です。ほとんどのライブラリで使われないと有用ではない、なんてことはないはずです。 そもそも、プロトタイプチェーンの仕組みは結構利用されています。気づいていないだけ、じゃないですかね。 メソッドとそれ以外のプロパティ ちょっとまって、JavaScript のプロトタイプチェーンの教科書でこの、n という初期化パラメータを持つオブジェクトの継承はどういうふうに実装したっけ?? プロトタイプチ

    JavaScriptのプロトタイプチェーン - Qiita
    yamadar
    yamadar 2014/08/23
    継承周りの話。あとで読もう