6. サイドバーの攻略 • 割と重めなクエリをキャッシュしたい SELECT a.id, a.title FROM comment c INNER JOIN article a ON c.article = a.id GROUP BY a.id ORDER BY MAX(c.created_at) DESC LIMIT 10 • ページまるごとキャッシュはNG • 1秒で”どこか”のページに確認が行われる • キャッシュの”単位”を考える
Swiftとは(Swift 入門) Swiftは、Appleが2014年のWWDCで発表したプログラミング言語です。 それまで、Appleが提供するMacやiPhone等のプラットフォーム向けにネイティブアプリを開発するには、Objective-Cという言語を使って開発しなくてはなりませんでした。Objective-CはC言語を拡張してオブジェクト指向を取り入れた非常に強力な言語ですが、C言語由来の複雑さと、他の言語とは少し毛色の違った独特なスタイルの拡張構文等のためか、特にプログラミング言語の初心者にとっては取っ付きにくく、習得にも比較的時間を要するという側面がありました。 そんな中Swiftは、なんの前触れもなく電撃的に発表されました。コンパイラ言語でありながら、まるでスクリプト言語のような見た目の印象と、実行結果がリアルタイムに可視化される実行環境のデモの様子は多くの人に期待を持って
オンラインの無料動画で学ぼう!須藤 功平先生
いつでもネタに全力投球のfeedtailorです。 今日は残念なお知らせがあります。 10月上旬に開発し、そこから2ヶ月間レビュワーとのやり取りを経て、残念ながら公開を見送ったアプリがあります。 その名も 富豪Keyboard せっかく作ったのにという思いもあるので、せめてもの痕跡として、そのアプリの主要機能のソースコードを公開することにしました。 GitHub : feedtailor/RichKeyboard 富豪Keyboardとは 「富豪」ときいて、思い当たるものがある方もおられるのではないでしょうか。 そう「富豪ブック」です。 iPad mini 2枚を使った見開きPDFビュワー『富豪ブック』を公開します 今回の富豪Keyboardはその流れを受け継いだアプリのはずでした。 そもそもの発端は、いつものアイディア会議。 「6Plusになってからフリック入力がしにくくなった」 「ke
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
もはや今日になってしまいましたが、前回に続いてスクーでRailsの実演をします。 Ruby入門 - Webアプリケーションの制作プロセス【前半】 高橋 征義 先生 - 無料動画学習|schoo(スクー) Ruby入門 - Webアプリケーションの制作プロセス【後半】 高橋 征義 先生 - 無料動画学習|schoo(スクー) というか前回の授業ではだいぶハードルが高かったようで、難しすぎた人には大変申し訳なかったです…が、質問がたくさんいただけたので、それに答えられたところは良かったかもです。 ちなみに今回はNitrous.IOを使う予定です(が、どうもRailsを動かすとまめにkillされる場合があるので、もしかしたら違う環境にするかも)。 オンラインの授業でハンズオン形式だと辛いらしいので、一人でちゃかちゃか進めるスタイルになる予定ですが、興味のあるひとは触っておくと良いかもです。 Ni
JavaScript Advent Calendar 2014 11日目。 いきなり要約: Promiseや非同期テストのアサーションを簡単確実に書けるようになるesplanというライブラリのPoCを作った話。 Promiseや非同期のテストは難しい 詳しくはJavaScript Promiseの本: Chapter.3 Promiseのテストをご覧いただきたいのだが、Promiseのテストを正確に書くのはそんなに簡単ではない。 例えばmochaだと、 // 間違ったテスト1: // mayBeResolveWithOne() が1以外でresolveしたときタイムアウトエラーになる it("mayBeResolveWithOne()は1でresolveする", function(done) { mayBeResolveWithOne().then(function(value) { as
Haskellの文法に慣れて来た方を対象に、ラムダ式や高階関数を使って関数を取り回す方法を説明します。カリー化や部分適用も取り上げます。いわゆる関数型言語らしい機能です。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 ← この記事 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続モナド 超入門 【予定】Haskell 型クラス 超入門 【予定】Haskell モナドとゆかいな仲間たち 【予定】Haskel
こんばんは。Xcode6になって様々な機能がXcodeに追加されました。その中で、作業的にかなりやりやすくなったLive Renderingについて書いてみたいと思います。とても便利なのにもしかしたらあまり使われていないのかもと思ったからです。Live Renderingとは、UIViewで書いた内容がInterfaceBuilder上にリアルタイムに反映されるというとても便利な機能です。入り込みやすいようにチュートリアル形式にしました。 Live Renderingを利用することでの変化 今まではカスタムのViewをInterfaceBuilderで表示する際、中身がリアルタイムに描画されないので、下記のようになってしまっていました。もしくは、Viewに色を付けずタップしないとどこにカスタムのビューがあるかわからないような状況が発生していました。 それがLive Renderingを利用
PostgreSQLカンファレンス2014に登壇してきたので資料をアップします。 今回は初カンファレンス参加でしたが 日曜から39℃を超える熱を出して死にそうになり、 なんとか体調を取り戻して朝からスタッフ業をし、 英語がぜんぜん出来ないのに控室では英語飛び交い、 セッションを二本こなし、 当日いきなり懇親会の司会業引き継ぎをされる というなかなかセクシーなスケジュールでした。 更にPostgreSQL アドベントカレンダーの担当日でそれはとっても嬉しいなって… 自分で切ったスケジュールながら過密で濃厚な一日を過ごすことが出来ました。 カンファレンスとしてはどのセッションも盛況でしたね。 特にハンズオンやチュートリアルのような初心者〜中級者のコマは立ち見が出るほどの大盛況でした。 (30人ぐらいの部屋に80人が押し寄せるようなセッションもありました) 私としてもガッツリDBエンジニア向けの
この記事は CAMPHOR- Advent Calendar 2014 の10日目の記事です。 こんにちは、みかさ(@To_Mikasa)です。 今日はデザイン初心者である僕が、Photoshopを使ってWebサイトのデザインをしていく上で、「それっぽく」していくためにやったことをざっくり書きたいと思います。ざっくりです。 はじめに デザインの知識を付けたり、流行をキャッチアップするために、コリスやPhotoshop Vipは 普段から見ています。とても参考になる記事ばかりです。 参考にするサイトを探す ノンデザイナーにとって0からデザインを考えるのはツラかったので、 デザインの参考にするためにイケてるサイトを3個選びました。 自分が作りたいイメージに似たものを選ぶといいかもしれません。 1つだけを参考にするとあれなので、それぞれのいい所や好きな所をそれっぽく組み合わせました。 ワイヤーフ
2012年5月12日に青山ブックセンター本店で開催された欧文書体セミナーTypeTalks第10回「もっと知りたい!Webフォント」のスライドです。 ・・・ 【追記1】スライド10の「Arialは何と呼ぶ?」は、日本においてArialは色々な呼び方が流通しているという蛇足話で、正しい読み方を追求する意図はありません。統計データは当ブログのFacebookページで皆さんに行ったアンケート結果です。スライドのペラ1画像がひとり歩きしてしまっているため、この場で補足いたします。 【追記2】スライド62の「OpenTypeフォント機能に対応するブラウザ」は、現在Chromeも対応しています。 ・・・ 1. Webフォントとは? 1-1. Webで使えるフォント 1-2. Webフォントサービス 1-3. 利用者にとってのメリット 1-4. 制作者にとってのメリット 2. Webフォントの今 2-1
Realtime applications made easyFrom the results of a query, to a single field of a document, with RxDB you can observe everything. This enables you to build realtime applications fast and reliable. Whenever your data changes, your UI reflects the new state. RxDB supports RxJS and any reactiveness libraries like signals, hooks or vue.js-refs. Writeawait collection.upsert({ id: 'foobar', color: '#e6
Reactjsのチュートリアルを読んでみて、大雑把なReactjsの使い方を把握したのですが、疑問に思った点がいくつかあったので調べてみました。 前提 筆者のReactjs力がどれくらいかと言うと 存在は知ってたが、中身は全く知らなかった VirtualDom - なぜ仮想DOMという概念が俺達の魂を震えさせるのかを読んだ だけの状態です。つまりコンセプトは知っているが、細かい話は何も知らなかった状態です。その状態で前述のチュートリアルを読んだ感じです。 var CommentBox = React.createClass({ render: function() { return ( <div className="commentBox"> Hello, world! I am a CommentBox. </div> ); } }); React.render( <CommentBox
npm run script, npm shrinkwrapでnpm, bowerのバージョン管理をなんとかしたいnpmbower プロジェクトで、npmとBowerを使ってフロントエンド開発のパッケージ管理をしています。 最近、フロント開発者・普段フロント開発をしないエンジニアでビルド環境を揃えるために、「npm-run-script」 を使うようにしました。「npm shrinkwrap」については検討中。 色々苦戦しながら対応したので、ビビりながらまとめます。 Frontrend Advent Calendar 2014 - Qiita 9日目の記事です。 発端 Bowerで管理しているはずのjsライブラリがGitにコミットされていた どのタイミングからかは分からないのですが、インストール時にgit上でライブラリの更新分の差分が出るようになっていて発覚しました。 これはプロダクトが、
はてな匿名ダイアリー:詳細よりもまず大枠をつかみたい、という事をわかってくれない先輩 会社に入って半年、研修を終えて3か月の新人です。配属先で私の教育係に割り当てられた先輩と、どうも相性が悪いみたいです。この先輩は私が質問すると、いきなり詳細な内容を説明してきます。私がわからないと言うと、「わからないのは詳細を説明してないせいだ」と思うのか、説明がどんどん深い方向に進んでしまいます。 例えば専門用語が分からなくて質問すると、こんな感じ。 「先輩、この『パイ』って何ですか?」 「パイ?それは 3.14 のことだよ」 「うーん、よくわからないですね」 「わからない?つまり 3.141592 のことなんだよ」 「うーん、それは食べ物と関係ありますか?」 「関係ないよ。要するに 3.1415926535 のことだよ」 「もしかして、おっぱいのことですか?」 「違うよ。全然違うよ。3.1415926
Node.js Advent Calendar 2014の10日目の記事として、node.jsのコマンドラインツールをpower-assertとcoffee-scriptによってテストする方法を紹介します。 はじめにPower assertとはassertテスト失敗時の情報を分かりやすく表示できる機能のことで、nodeで利用できるライブラリとして@t_wadaさん作のpower-assertというものがあります。 東京Node学園祭2014にて@t_wadaさんのpower-assertの発表を聴き、アサーション戦争に終止符を打つ!という熱い思いに感銘を受け、自作のツールにも積極的にpower-assertを使いたいと思っています。 本記事ではnode.jsでの簡単なコマンドの実装とpower-assertを使ったテストをcoffee-scriptで書く方法について順を追って解説します。
巷で噂の新iOSアプリ開発言語「Swift」ですが、そのSwiftを使って色々と出来るPlaygroundという新機能が、Xcode6に追加されました。 今回は、そのPlaygroundを使ってどういった事ができるのか、色々試してみました。 Playgroundとは ・Swiftのインタラクティブインタプリタ ・コードを書くとすぐに結果を表示 ・グラフの表示やSprite Kitを使ったアニメーションも可能 Playgroundの作成 Xcode起動時に表示される「Welocome to Xcode」ウィンドウの「Get started with a playground」からPlaygroundを作成します。 「Welocome to Xcode」が表示されない場合は、メニューの「Window->Welcome to Xcode」から表示出来ます。 また、「File->New->Play
tech.kayac.com Advent Calendar 2014 10日目担当の @fujiwara です。 最近書いている stretcher というデプロイツールの紹介をしたいと思います。 長いので3行で push型デプロイはホスト台数が増減しやすい環境に適さない 各種問題を解決するpull型デプロイツールを書いた Consul と連携するよ 中央ホスト配布(push)型デプロイの問題点 カヤックの自社サービスでは久しく Archer というツールを利用し、中央ホストから各デプロイ対象ホストに rsync でファイルを配布する形のデプロイを行っていました。ここではこれを push 型と呼びます。 push型のデプロイは、ホスト台数が頻繁に増減する環境で以下のような問題があります。 新しくホストが起動してきた場合に、中央ホストからデプロイを行ったあとでないと (古い状態で起動してい
はじめに 世間的には「fluentdで集計 ≒ Norikra!!!!!」という流れで、それに対して一石を投じる気のかけらも私には無いわけですが、Norikraを用いるまでもない軽微な処理を実行する場合fluentdのプラグイン単体で処理を完結したいケースもあり、そしてNorikraが若干重厚に映るケースもあります(JRuby!! Esper!!!) ということで、集計が行えるようなfluentd pluginについてまとめてみます。チョイスは僕の独断と偏見です。 ユースケース fluentdの基本的なユースケースは、inputとして入力をしたデータをoutput先にrelayする、というものです。そして集計処理は、多くの場合output先のシステム内、もしくはシステムに蓄積されたデータを用いて別のシステムを用いて行う事が多いと思います。 (ex. HDFSに保存したログデータをHiveを
こんにちは、インフラストラクチャ本部の@nagaseyasuhitoです。このエントリは GREE Advent Calendar 2014 10日目の記事です。昨日はイケメンmoritaさんによる男性エンジニアリングマネージャが長期育休を取った話でした。 エンジニアブログのアカウントは2年くらい前からあるのですが、これが初エントリになります。グリーでは比較的珍しいJavaEEを始めとしたサーバーサイドJavaアプリケーションの開発、SolrやHadoopといったミドルウェアの周辺機能開発や運用などを行っています。どうぞよろしくお願いします。 最近はPvE/PvP/GvGなどユーザー同士がリアルタイムに協調プレイする際、クライアント-サーバー間を常時接続通信で行うゲームが増加しています。このような場合はHTTPのREST APIなど慣れ親しんだプロトコルでは要件を満たしきれないため、Web
Update 4/11/2015: Updated for Xcode 6.3 / Swift 1.2 Update note: This tutorial was updated for iOS 8 and Swift by Ray Fix. Original post by Tutorial Team member Ellen Shapiro. In Part 1 of this tutorial, you learned the basics of object-oriented design: objects, inheritance, and the model-view-controller pattern. You created the beginnings of a simple application called Vehicles to help you gain a
Update 4/11/2015: Updated for Xcode 6.3 / Swift 1.2 Update note: This tutorial was updated for iOS 8 and Swift by Ray Fix. Original post by Tutorial Team member Ellen Shapiro. A huge piece of the programming puzzle in working with Cocoa, Objective-C and Swift is Object-Oriented Programming. Almost all modern programming languages use this approach, and wrapping your head around its concepts and pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く