Hatena-Textbook はてな教科書は、はてなのエンジニアとして最低限必要とされる技術を身につけるための教科書です。 Web開発における重要なトピックを順番に学びながら、課題をといていくことで、Webアプリケーションをひととおり構築できるようになります。 実装言語としてPerlとScalaのどちらを選ぶことができます。 トピックごとに学びたい言語の方の教科書を読み進めてください。 目次 プログラミングの基礎 Perlによるプログラミングの基礎 Scalaによるプログラミングの基礎 データベースの基礎 Perlによるデータベースプログラミング Scalaによるデータベースプログラミング Web開発の基礎 PerlによるWebアプリケーション開発 ScalaによるWebアプリケーション開発 Webフロントエンド開発 はてな教科書JavaScript編 hatena/Hatena-Tex
Webフロントエンドハイパフォーマンスチューニングを読んだ.最近フロントエンドでがんばるアプリケーションを作ってるので参考になった.ネットワークまわりからブラウザの細かい実装の話まで書かれていて良かった. link rel=prerenderで次のページをプリレンダリングできる 次のエピソードに飛ぶとか,コメントページからメインページに飛ぶとか,次に遷移するページが明確なときは有効そう あとからJSで足してもよい CSSのマッチ方法,div>div>span とか書くと右から左に順にマッチしていく なので入れ子をやめると速くなる.BEMでCSSを書くとネストせず書くので速い デベロッパツールでレンダリングの様子をこまごま見れる ペイントが発生した様子 レイヤの様子 ためしに,このブログのaboutページをプリレンダリングしておいたので,下のリンクから遷移するとすばやく遷移できるはず. <l
はじめに PostgreSQLは商用DBに比べて書籍が少なく、まとまった情報が入手しにくいです。また、有志の方がPostgreSQLに関する資料を公開していますが、散在しており、せっかくの有益な情報にアクセスしにくい状況にあります。 そこで、本エントリではPostgreSQLの実行計画に焦点を絞り、公開されている有用な資料(書籍含む)をまとめました。読み返したい資料を探しやすくするため、内容のポイントも併せて紹介してます。 本エントリをきっかけに、これらの資料がさらに活用されることを願っています。 前提 各資料の前提としているPostgreSQLのバージョンは異なることにご注意ください。調査対象のPostgreSQLのバージョンが異なれば、状況は変わっているかもしれません。 各資料には内容の重複があり、ほぼ同一内容の場合もあります。重複している内容についてはポイントから割愛することがありま
Author : Takahiro Fujii, Thomas Ludwig Description : Spring Day 2016で発表させて頂いた資料となります。 楽天トラベルでは、 大規模なオンライン旅行システムの開発・運用を行なっています。 本資料は 1 - 楽天トラベルはどのようにArchitectureが変化し、改善を行なってきたか 2 - 直面した課題を解決する為にどのようにSpringを利用し、目的を達成したのか という構成となります。 TOPIC(抜粋) APIドキュメントを継続して最新の状態を維持するには(Spring RestDocs) シンプルにセッションを管理するために(Spring Session) Microservice化していく中でログの追跡を可能にするには (Spring Cloud Sleuth) 同じプロパティの値を複数のアプリでそれぞれ管理した
ElasticSearch is a document database, not in the typical sense, topped up with a Lucene for doing free form text search on your document. This is kind of the storage you want to use if you expect a lot of search on the entities you are going to have. As the name suggests it is also elastic which means it will scale out as your product also scales. In this tutorial we are going to see how to use El
A hands-on intro to building modern web applications with Elixir and Phoenix This is an important moment... I imagine right now you're feeling a bit like Alice. Tumbling down the rabbit hole. I can see it in your eyes. You have the look of a man who accepts what he sees, because he is expecting to wake up. Let me tell you why you're here. You're here because you know something. What you know you c
背景 APIドキュメントを書くのが楽になるツールまとめ - Qiita iodocsで便利なREST APIドキュメントを作成する - Qiita これまでずっとREST APIドキュメントをwiki上で管理していて、重たいページ上で特殊記法使ったり、スタイルの調整に時間を取られるのが辛かった。そこで良さげなドキュメントツールを色々調べてたんだけど、最終的にapiary.ioが一番良さそうという結論になってきた。 このサービスの主な特徴。 markdown記法でAPIドキュメントを記述できる ドキュメントの生成と同時にAPIのモックサーバを用意してくれる サインアップから5分くらいあればドキュメント公開できる。ドキュメントのホスト先を気にしなくてもいい。 特にドキュメントと一緒にモックを作ってくれるのは他にはないポイントでかなり便利。 使ってみる サインアップはGithubアカウントで h
もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe
前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検
プログラミング初心者向けのTypeScript入門連載の第5回は条件分岐の方法についてじっくりと解説する。TypeScriptでプログラミングへの理解を一歩深めよう。 連載目次 前回は、TypeScriptの式と演算について説明した。今回は、条件分岐について基礎から説明していく。 条件分岐の方法 変数や式の値によって異なる文を実行したり、異なる値を返したりするためには、以下のような方法が使える。機能の違いが用途の違いにそのまま結び付いているので、それほど意識しなくても使えるが、併せて特徴も示しておく。 if ... else文……式の値によって異なる文を実行する。if文を組み合わせ、異なる変数の値を調べて多分岐させることもできる switch文……変数の値によって異なる文を実行する。1つの変数の値を調べて多分岐させるときに便利 ?演算子……条件式の値によって、異なる式の値を返す。比較的単純
事前知識: ブラウザ毎の差異 Android 2.x, 3.x 2.x, 3.x では伝統的に TouchEvent がまともに使えません。 経験上、一部端末でdocument.createEvent('TouchEvent')するとNOT_SUPPORTED_ERRを吐くなどの現象が見られ、seleniumのこのコードでも、MouseEventsを利用して無理矢理回避しています。 4.x (Stock Browser & WebView) 4.x では、やっと TouchEvent が利用できるようになります。 が、 イベントの初期化方法が後述する iOS のソレと異なっています。同じくselenium上のコードではこのように回避しているのが見受けられます。 // Android's initTouchEvent method is not compliant with the W3C
日本のIT業界を「SIガラパゴス」と言う前に知っておきたい海外ベンダ事情 - プロマネブログ 前回の記事を書いたあと、うっかりしていたことに気づいたので、追記です。 ユーザ企業とベンダ企業との関係については、他国との比較を色々書いたのですが、多重構造について深堀り書くのを忘れてました。 米国の事情についてもうちょい書きます。 下請構造が崩壊したアメリカ 端的にいうと、米国にも日本と同様の下請構造は過去ありました。 日本と同様に、元請けが大規模な案件を受注し、それを2次3次請けにシステム開発再委託するという構造です。 政府調達元請けの平均60.4%が下請け及び補給品に再投資され、それらのさらに平均83.2%が3次へ再投資、さらにその83.2%が再々投資、と繰り返される事により、初期調達額$369M(元請けのみ)は、上記再投資の構造より算出される係数2.06を乗ずる事により、$759Mと推計さ
What is Markdown? Markdown is a plain text format for writing structured documents, based on conventions used for indicating formatting in email and usenet posts. It was developed in 2004 by John Gruber, who wrote the first markdown-to-html converter in Perl, and it soon became widely used in websites. by 2014 there were dozens of implementations in many languages. Digital data in any form needs p
式 プログラミング言語には様々な種類の式があります。例えば、前節でコンソールに入力した「1 + 1」は算術式です。算術式は + や - といった演算子と呼ばれる記号を使い、加算や減算などの演算を行います。 上記は数学の式と同じで、10に20を加算しています。 コンソールで確認しよう 10 + 20 出力結果 30 代入式 次に紹介するのは代入式です。代入式は代入演算子( = )を使い、左辺の変数に右辺の値を代入します。 上の式を実行すると、valの値は10になります。 コンソールで確認しよう val = 10 出力結果 10 代入式は文字列も使えます。 コンソールで確認しよう s1 = "Hello world" 式は代入の際に計算することもできます。次の式では、xに5を代入し、100にxを足し、その結果をyに代入しています。xは5になっているので、yには「100 + 5」の結果の値105
「ブクマばっかしてても手を動かさなきゃ嘘になるぜ」と言われたような気がしたので、ウェッブコンポーネンツを使って、x-markedという要素を作ってみた。x-markedタグの中にMarkdownテキストを書くとHTMLにレンダリングしてくれる。 作ってるときにハマりポイントがいくつかあったので記しておく。 デモ: nakajmg.github.io/x-marked/ ソース: github.com/nakajmg/x-marked ハマりポイント3つ ハマったポイントは以下の3つ。 インポートされたHTMLが指すdocumentオブジェクト <template>に書いた<link rel="stylesheet">の扱い <content>の中身を取るタイミング インポートされたHTMLとインポートしているHTML内でのdocument <link rel="import">で読み込んだ
この記事は Turbolinks v2.2.0 時点のものです Turbolinks Classic is now deprecated Rails4系で使われていたTurbolinksはturbolinks-classicと命名が変更されました。 Rails5ではVersion 5 として turbolinks のversion ~> 5.0 が使われます。動作としては似てますが内部の実装が大きく変わっているので注意してください。 Turbolinksとは TurbolinksはRails4.0からデフォルトで導入されたgem railsアプリケーションを 簡単に pjaxっぽくすることが出来る。 ajaxとhistoryAPI(popState, pushState)を利用して画面遷移 Turbolinksで遷移する場合は、titleとbodyとcsrfトークンを変更する csrfトー
An AngularJS Style Guide for Closure Users at Google This is the external version of a document that was primarily written for Google engineers. It describes a recommended style for AngularJS apps that use Closure, as used internally at Google. Members of the broader AngularJS community should feel free to apply (or not apply) these recommendations, as relevant to their own use cases. This documen
スマホコーディングなど、「軽量化!軽量化!」と叫ばれる中でNo jQueryが求められる事がある。 そんなときには要素の高さをそろえる位は、jquery を使わずにやってしまいたい。 1.javascriptで、getElementsByClassNameが必要。 function myGetElementsByClassName (_class , _tag , _id) { var targetId , elementList , classList , i , j , nodes = []; targetId = document.getElementById(_id); elementList = targetId.getElementsByTagName(_tag); for (i=0; i < elementList.length ; i++ ) { classList = e
勤務先の社内勉強会で、機械学習を用いた文書推薦*1に関する基本的なことがらについて説明しました。その資料を公開します。 プログラマのための文書推薦入門 from y-uti 数学やコンピュータサイエンスを専門的に学んでいないエンジニアでも理解しやすいように、できるだけ数式を使わずに説明したつもりです。厳密性にはこだわっていないので、専門家からはあちこちツッコミを受ける内容かもしれません。 プログラマ向けということで、実際にコンピュータ上で動作を確認できるように、Wikipedia のデータを対象にして類似文書検索を行うスクリプトを作成しました。GitHub に置いてあります。 y-uti/document-recommendation · GitHub *1:推薦というより情報検索、類似文書検索という方が適切だったかもしれません。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く