Award-Winning Design Packed with Features Fantastical has an intuitive user interface with multiple views, including detailed (and beautiful) full screen views for iPhone, iPad, Mac, and Windows. File and Photo Attachments Quickly access the files or photos you need at your next meeting or for your next task. Quickly upload files or images directly from Fantastical to your iCloud, Google, or Excha
ネタが尽きたわけではないが、Manifest絡みで嫌な現象に遭遇したのでメモと回避方法(現在はManifest型をつかうべきではないがそれはおいておく)。 まず、問題として、次のようなコードを書くと実行時例外(unknown error)が発生する(Scala 2.10.4)。 trait M[T] { implicit val m: Manifest[T] } case class Point(x: Int, y: Int) object Main extends M[Point] { implicit val m: Manifest[Point] = manifest[Point] def main(args: Array[String]) { json4sObj.extract[Point] } } このようになる原因は、traitでの初期化でmanifestメソッドを呼び出すとnu
Linux カーネルのバージョンアップ RHEL系におけるdockerの動作環境は You will need RHEL 6.5 or higher, with a RHEL 6 kernel version 2.6.32-431 or higher as this has specific kernel fixes to allow Docker to work. とのことですが、Linuxカーネルの不具合に起因してdockerのdevicemapperがディスクを開放しないことがある(Device-mapper does not release free space from removed)ようなのでカーネルを最新の安定版にバージョンアップしておきます。 CentOS6.5のカーネルを3.x系にバージョンアップ dockerインストール $ sudo yum -y install h
エンジニアにキャリアチェンジして苦労した時、ざっくりメモ。 <アクセス側> ● kye 作成 ・ 作成場所:~/ .ssh ※なければ作る ssh-keygen -C coment ※コメントは、何のデバイスか Serverユーザー名、 なんのドメインサーバーか等を書いておくと見分けがついていいかも ※既存の公開鍵ファイルと重ならないように 鍵ファイル名を設定して作成したい場合 オプション -f filename ※作成時にいろいろ聞かれるけれど、設定すると後で面倒だったり、 特に設定の必要はいらないことが多いのでそのままEnterで 進み続けて作る。 ※.pubがついているほうが、公開鍵 ●アクセス ssh user@IP <アクセスされる側> ●アクセス者の公開鍵登録 ・登録場所:~/.ssh/authorized_keys ※なければ作る ・アクセス側の公開鍵 id_rsa.p
アプリケーションログなどが溜まってディスク容量を逼迫している場合に便利です。 例)90日より前に作成されたログファイルを削除する find /export/httpd/hogehoge/logs -maxdepth 1 -type f -mtime +90 -regex ".*/logs/.*\.log" | xargs rm -f # 毎日0時10分に、3ヶ月以前のアプリケーションログを削除 10 0 * * * /usr/bin/find /export/httpd/hogehoge/logs -maxdepth 1 -type f -mtime +90 -regex ".*/logs/.*\.log" | /usr/bin/xargs /bin/rm -f
$user->{name}を呼ぶのが正しいけど$user->nameを呼んでしまったときに,もしかして:->{user} とか出る,みたいなのができる. package Mosikasite { sub new { my ($class) = @_; bless {}, $class; } sub AUTOLOAD { my ($self) = @_; my $method = (split '::', $AUTOLOAD)[-1]; if (@_ == 1 && exists $self->{$method}) { die "もしかして:->{$method}"; } else { die; } } }; my $m = Mosikasite->new; $m->{hoge} = 1; $m->hoge; https://gist.github.com/5e61b92f56c4d2c1b
18:34 | 論文が国際学会 KDD’14 に採択されました.KDD (ACM SIGKDD Conference on Knowledge Discovery and Data Mining) は ACM によって開催されるデータマイニングの最も有名な学会の 1 つです*1.今回の論文は "Network Structural Analysis via Core-Tree-Decomposition" というタイトルで,NII の前原さん・河原林先生との共著です. 内容タイトルの通り,Core-Tree-Decomposition を用いてネットワークを解析するという論文です.対象とするグラフはソーシャルネットワークやウェブグラフ等の現実世界のグラフです.今まで得られなかった面白い知見が Core-Tree-Decomposition により見出せることを示しました. グラフの Cor
5月11日にじゃっかんクロックアップした第4世代コアi、Haswell Refreshとともに発売された、インテル9シリーズチップセット(Z97/H97)搭載マザーボード。ASUS、ASRock、ギガバイト、MSIなど各社からさまざまな製品が登場しました。 CPUソケットや対応メモリーなどはインテル8シリーズ(Z87やH87)と同じですが、聞きなれないスロットやポートの名前が出てきました。そう、M.2とSATA Expressです。 ↑M.2スロットはマザーボード上に設けられた小型のストレージ(もしくはWiFiモジュール)用スロット。写真のASRock Z97 Extremeは珍しく、2スロット備え、左はPCIエクスプレス×2の通常のM.2だが、右はPCIエクスプレス×4の超高速M.2スロットとなる。
はじめに 昨日に引き続き、SendGridネタです。 SendGridにはWebhookという、イベントが発生した際に指定したURLに対しPOSTしてくれる、プッシュ通知の仕組みが用意されています。Webhookには以下の2つの種類があります。 Event Webhook ... 開封やバウンス、配信停止などのイベント(アカウントコンソールの[Email Activity]画面で表示されるもの)が発生した際に、そのイベント内容をPOSTする。 Inbound Parse Webhook ... メールを受信した際に、メールの内容をPOSTする。 そこで今回はEvent Webhookの仕組みを使って、イベントをAmazon EC2上にセットアップしたElasticsearchにPOSTしてみました。SendGridにはイベントの検索画面も統計画面も用意されていますが、Elasticsear
シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA シングルページWebアプリケーション(SPA)は、最近注目を集めているWebアプリケーションのアーキテクチャです。SPAは、ユーザがアプリケーションを使っている間、Webページ全体をロードすることがなく、レスポンスが高速でUI/UXに優れているという利点を持っています。かつてはJavaアプレットやFlashといったWebブラウザのプラグインに依存する必要がありましたが、近年ではJavaScriptを使ったSPAが現実的になってきています。JavaScriptベースのため、既存のWeb開発スキルの活用が容易であり、新しいデバイスへの対応も比較的簡単です。本書では、クライアントでJavaScriptを使ったSPAを採用するだけでなく、WebサーバにNode.js、データベースにMong
みなさんInterface BuilderやStoryboardは使っているでしょうか? 自分は作り込みのしやすさからコードでViewを構築することの方が多いです。 その際、できるだけiPhoneかiPadかで処理を分けずに対応したいのですが、どうしてもViewのサイズやフォントサイズ、マージンなどの定数値を分けたい時があります。 「iPhoneの時は幅100ptでiPadのときは幅200ptにしたい」などですね。 そもそも絶対値ではなくて相対的に定まるようにした方がいいだろ、とか突っ込みはあるかと思いますが、どうしても避けられない時もあるのです(たぶん、、、) その際にどうやって対応しているのかを参考程度に共有いたします。 僕の場合は処理分けの箇所が多いときは別途カテゴリに定数をまとめます。
最近セキュリティ周りが盛り上がっていて、現場でもセキュリティテストをどうしているのかと話にあがったので調べてみたら、面白いGemsがあったので試してみた記録を共有 公式サイト こちらを参照 → arachni arachni のインストール gems になっているためRubyさえ入っていれば、あとはいつも通り gem install するだけです。 Ruby1.9.3 から対応しているみたいなので、2014/5/12現在の公式のRuby環境には対応しているみたいです。 Ruby2.1.2 で試してみたところインストールは出来ましたが、実行中に落ちるのでRuby2.0ぐらいで試すのが良いかもしれません。 Github上のissuesにはv0.5では対応している雰囲気でしたが、私はまだ試しておりません。 arachni の実行 実行は、arachni コマンドにURLを入力するだけで実行できま
rails(4.1.0)でaction名がlocationとなっているものの中でredirect_toするとstack level too deepエラーが発生した。RubyRails locationだけではなくmessageでエラーが発生したいう人もいた。 RailsでSystemStackError: stack level too deepに遭遇した… - (define -ayalog '()) 原因はコントローラーの継承元のApplicationControllerのどこかに既に定義しているのだろうとは思うが、見つけられなかった。 stack level too deepエラーが発生したらaction名を変更すればとりあえずリダイレクト処理が上手く行ったが、action名に指定してはいけない名前一覧みたいのをほしいと思った。 以下ソース
ふと気付いた 先日こういう記事を書きました。 Ruby - ブロックパラメータを複数取るEnumerableメソッドのあとにEnumeratorメソッドを重ねたときのブロックパラメータの指定方法(余談としてブロックローカル変数の宣言のこと) - Qiita もしや、eachでも複数のブロックパラメータが取れる? やってみた 配列の各要素がStringではなく2要素のArray。 ブロックパラメータを2つ指定すれば、それぞれArray要素が代入されるはず。 pry(main)> num = (0..9).to_a => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] pry(main)> pronoun = %w[zero one two three four five six seven eight nine] => ["zero", "one", "two", "three
これを直接ghciで打とうとすると一行目のコードを打っておちますし、letをつけても二行目に辿りつけないのでやはりだめ。 で、どうやるかっていうので3パターンほど調べました。 :set +m ghciで複数行扱えるモードにしてしまうパターンです。 % ghci Prelude> :set +m Prelude> let square :: Int -> Int Prelude| square x = x * x <interactive>:5:1: parse error on input `square' Prelude> let square :: Int -> Int Prelude| square x = x * x <interactive>:7:2: parse error on input `square' Prelude> let square :: Int -> Int
1行概要 例えば社内で自分のPCに開発サーバを立てたけど、IPではなくホスト名で他のメンバーにURLを教えたいときに使う方法 犯行動機 社内DNSの再設定がめんどくさい Google APIのOAuth2のredirect_urlがグローバルでないとエラーになるため、社内ローカルでの開発が面倒 想定読者 Railsの開発がいくつか並行している ローカルにDNSが無い OR 設定する程ではない Google OAuth2の invalid redirect url エラーで詰まった 1. xip.ioを使ったDNS解決 外部のパブリックDNSサービス xip.io を使います。 アカウント登録の必要はなく、自分のPC(開発機)のローカルIP(例: 192.168.1.123)の場合、 some-project.192.168.1.123.xip.io をブラウザに入力するだけ。 すると、 x
define (#asian_wide) \p{East_Asian_Width=Wide} define (#asian_fullwidth) \p{East_Asian_Width=FullWidth} define (#zenkaku) [(#asian_wide)(#asian_fullwidth)] define (#katakana) \p{InKatakana} define (#hiragana) \p{InHiragana} define (#kanji) \p{Han} define (#alpha) [a-zA-Z] define (#alnum) [a-zA-Z0-9] define (#_alnum) [a-zA-Z0-9_] define (#katakana::he) [ヘペベ] define (#hiragana::he) [へぺべ] define (#ka
(3/22/16更新: 似たような記事が多かったので「移行応援」タグをつけた(宣伝乙) 10.9時点の記事ですが、10.11(El Capitan)でもほぼ同様にできるハズです。ただEl Capitanのrootless/SIPの影響でHomebrewのインストールではまる可能性があります。以下の2記事が詳しいです: http://qiita.com/riocampos/items/525ec4b35744ad586c5a http://qiita.com/aoioooii/items/c14922eede6a83a750da 本文/画像はほぼ最初期のものから変わっていません) 目的 クリーンな状態から、 最速で 、かつ GUIツールを使って Ruby on Railsの開発環境+Gitでのバージョン管理の環境を整える。 コマンドラインでやる方法は山ほど書かれてきました。それでも初めての人
先日、乳首からレーザービームを出すchikubeamというアプリケーションを作り、せっかくなのでbrew install chikubeamできると良いなと思い調べてみました。 方針 brew install chikubeamするためには以下の2通りの方法があります。 Homebrew/homebrewにPull Requestを送る 独自リポジトリをbrew tapしてからbrew installする chikubeamは下ネタ要素も含んでいるので今回は後者を選択しました。 リポジトリの作成 brew tapするにはGitHubにリポジトリを作成する必要があります。リポジトリの名前はhomebrew-[name]にします。すると、brew tap [user name]/[name]でtapできるようになります。 パッケージ情報の記述 homebrew-[name]ワークツリーのルート
Public docker images · dotcloud/docker WikiにdockerオフィシャルなCentOS 6.4のbase imageがあります。 でもCentOS 6.5のbase imageが欲しいし、適宜カスタマイズしたbase imageを自作したいところです。 Create a Base Image - Docker Documentationに作り方の説明があり、CentOS用のスクリプトdocker/contrib/mkimage-rinse.sh at master · dotcloud/dockerもあります。 また、Building a RHEL/CentOS Docker base image – devops and security、Dockerで自分専用のDebianイメージを作る - ただのにっき(2013-12-13)、Ubuntuなら
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ###前提 通常WEBサーバーとしてApacheを使用している環境で、 Nginxをプロキシサーバーとしてフロントにたて、 Apacheをバックエンドにして、 処理を高速化するようにします。 私の環境は CentOS 6.4 Apache 2.2.15 Nginx 1.0.15 です。 Apacheは既にインストール済みとします。 ###mod_rpaf Apacheモジュールのmod_rpafをインストールします。 mod_rpafについてはここが参考になるかと思います。 http://heartbeats.jp/hbblog/201
ALMinium は プロジェクト管理ツールRedmine とその他便利なプラグインを一括してセットアップしてくれるインストーラである。 しかしLDAP認証を利用した場合、リポジトリへのアクセス時に適切に認証されない。 以下を追加する事により、リポジトリへのアクセス時にも適切に認証されるようになる。 対象環境は ubuntu12.04 server # LDAP認証に必要なPerlモジュールをインストール sudo apt-get install -y libauthen-simple-ldap-perl # インストールしたPerlモジュールをApacheに設定する sudo sed -i -e "3i PerlLoadModule Authen::Simple::LDAP" /etc/apache2/sites-available/vcs # Apacheを再起動して設定を有効化 su
要件:feedlyで購読してるブログを一覧表示(マークダウン記法) RSSリーダーのfeedlyで購読しているRSSを取得。 XMLファイル形式でデータの中身は下記のようになっている。 <?xml version="1.0" encoding="UTF-8"?> <opml version="1.0"> <head> <title>xxxx subscriptions in feedly Cloud</title> </head> <body> <outline text="game" title="game"> <outline type="rss" text="更新情報|プレイステーション オフィシャルサイト" title="更新情報|プレイステーション オフィシャルサイト" xmlUrl="http://www.jp.playstation.com/whatsnew/whatsnew
そんな訳で、CoffeeScript を触り始めて半年弱、TypeScript を触り始めて1ヶ月弱ほど経ちました。まだまだ日は浅いですが、いちおう両方とも実務案件にて使用したということで、ここらで双方に対する振り返りを簡単にしておくとします。 CoffeeScript について http://coffeescript.org/ 学習開始時期: 2014年1月頃 始めたきっかけ: Middleman や Ruby on Rails が標準サポートしているため、面倒な環境構築等をしなくて済んだから Ruby や Haml のようなテキスト量の少ない文法が好みだったから そんな訳でとっかかりとしての基礎学習期間はだいたい2〜3日くらいで、そこから既存のプロダクションコードを CoffeeScript に書き換えつつ実案件に取り入れていきました。 おおまかな特徴 要は JavaScript をよ
「パワーポイント」や「エクセル」の中に貼ってある写真を使いたい時があります。 しかし、縦横比が違ってしまっていたりと画像が汚くなっている事もしばしば。 ファイルに貼付ける前の段階の画像をキレイに取り出す方法のご紹介です。 この方法はWindowsもMacも共通です。 ↓のようにパワポに張り付いた画像があります。この写真を取り出してみましょう。 ちなみにこの写真は「超レア肉!新橋・おか田の「牛ロースかつ」が美味すぎる! 」で紹介したものです。 まず、ファイルを普通に保存します。 パワーポイントなら「.pptx」、エクセルなら「.xlsx」、ワードなら「.docx」の形式で保存します。 次に右クリックから「ファイル名」を変更します。 拡張子を「.pptx」から「.zip」に変更します。↓のようにアラートが出ますが無視して「はい」を選びます。 ファイルが.zip形式になりました。このzipファイ
はじめに くどうです。 EC2で容量を拡張したいときなど、パーティションをリサイズすることがあると思います。 OS別に拡張方法をまとめておきたいと思います。 Amazon Linux AMI 2014.03.1 Amazon Linux AMI の場合は最初に設定したストレージ容量が起動時に反映されるためresize2fsの必要はありません。 さらに、スナップショットからボリュームサイズを拡張して作成した場合でもresize2fsにいよる拡張が必要はありません。 例20GB→30GBへの拡張 [Bash] Filesystem Size Used Avail Use% Mounted on /dev/xvda1 30G 1.1G 29G 4% / devtmpfs 282M 12K 282M 1% /dev tmpfs 297M 0 297M 0% /dev/shm [/Bash] [Ba
先日パソコンを買ったわけだがこれは SSD 120GB + HDD 2TB というストレージ構成。普通に考えて SSD に OS をインストールするわけだが Debian を最小の手作業かつ汎用的な手段でセットアップするという記事でも書いた通り個人的に自分のデータを置くあらゆるストレージは必ず暗号化するというポリシーがある。そこで SSD には GNU/Linux に備わっている暗号化 LVM を有効にしてインストールする。さてここで問題になるのが HDD であり、これも暗号化した上で LVM に追加しなければならない。この記事では既存の暗号化済み LVM に新しくストレージを暗号化して追加させる方法について記述する。なお新しいストレージは /dev/sdb として認識されている前提で書く。 暗号化パーティションの作成 これは基本的にこちらの記事の通りである。 まずはボリュームを乱数で埋め
おシゴトでJSONを扱うことになりました。どこぞのサーバがWeb-serviceをホストしてて、サービスとのやりとり(リクエストとその応答)がJSONで行われるらしく、C++でJSONを読み取る方法をリサーチしてくれとのこと。 Web-serviceのインターフェースはXMLがよく用いられますが、近頃はJSONが増えてきたみたいです。JSONはXMLに比べフォーマットが単純で伝文がコンパクト、軽量インターフェースなのでスマホのような(デスクトップ機よりは)非力なクライアントでも楽に扱えますからね。そんなわけでC++でJSONを扱うべくリサーチを始めました。 JSONの構造 JSON:JavaScript Object Notation(JavaScriptオブジェクト記法)、RFC4627(PDF)で規定されています。英文とはいえ10ページにも満たない小さな規格ですからさほどの苦労もなく理
2014/2/8に北海道のCLR/HでOwinについて話してきたんですが、なんと!今の今までスライド公開してなかった!これはひどい!3ヶ月放置してた!熟成肉!ウルフギャング!ということでやっとこさ公開。若干加筆してあります。 前半はOWINとは何か、というのとキーワードや仕組みについての解説。後半はLightNodeという私の作っているWebAPIフレームワークの実装を通して、フレームワークに必要な要素と実装例、そして性能の出し方を見て行きましょうという感じです。 発表した時は、失敗した感があって公開できないでいたんですが、読み直すと結構いいこと書いてありますね、とか自画自賛。あんましこういう内容のセッションってないですし、いい感じなんじゃないでしょうか、改めて読むと。こういう内容も割とレアいですしね、レア度大事。後半部分がじっくり読む系な内容になっていて、あんまし発表向けじゃなかったのは
こんにちは、清田です。 最近、フロントエンド開発においてGruntにお世話になっている方も多いかと思います。 私も日ごろ大変お世話になっています。私としては、Gruntにあまり不満はないのですが、多少体感としてちょっと遅いかなぁくらいの印象を持つくらいでした。 そんな中、タスクランナーツールとして後発ながらGulp.jsという名前を聞くようになってきたので、実際に試してみました。 Gulp.jsとは? Gulp.js公式サイト 皆さんご存知のフロントエンド開発でタスクランナー&ビルドツールとして有名なGrunt.jsですね、弊社ブログでも何度かご紹介させていただいたかと思います。 Gulp.jsも同じく、タスクランナー&ビルドツールとしての立ち位置とのこと。 Gruntと何がちがうの? いろいろなエントリーを拝見し以下の意見がありました。 ビルドファイルが書きやすい 並列処理のため、実行速
Android Bootstrap Bootstrap といえば Twitter Bootstrap が有名ですが、Android の世界では2つの Bootstrap があります。Android Bootstrap と Android Bootstrap です。そう、見事なまでにコンフリクトしております。どちらも Android のアプリ開発を高速化するためのツールですが、役割は違います。具体的に言うと、1つはデザインのアセットをいい感じに作ってくれるもの、もう一つはよく使いそうなライブラリをいい感じにセットにしてくれるものです。それぞれ、ちょっと気になっていたので軽く使ってみました。 デザインのアセットをサクッと作る https://github.com/Bearded-Hen/Android-Bootstrap まずは UI デザインを何となくいい感じに作ってくれる Android
Google ChromeやNode.jsで利用可能なAPIです。Firefox等には搭載されていません。(まーあんまり使う場面なさそうですけど。) http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi 以下、翻訳です。 All internal errors thrown in V8 capture a stack trace when they are created that can be accessed from JavaScript through the error.stack property. V8 also has various hooks for controlling how stack traces are collected and formatted, and for allowing custom
先日紹介した電子書籍作成環境GitBookですが、基本はコマンドラインを使ってGruntで自動生成するのが基本になります。しかしGUIのエディタを使って作成したいと思う方は大勢いるでしょう。 そんな方に使ってみて欲しいのがGitBook Editorです。GitBookに対応したマルチプラットフォームで動作するエディタです。 GitBook Editorの使い方 メイン画面です。左がMarkdownファイルの一覧で、見出しが並びます。中央がエディタ、右がプレビューになります。 ツールバーを使って自動入力でどんどん書いていけます。 HTMLでプレビューもできます。 メニューを表示したり隠したりできます。 GitBook EditorはGitBookをラッピングしてnode-webkitでGUIアプリケーションにしたものと思われます。GitBook自体がnodeなのでラッピングは難しくなさそう
gif動画のコラ技術ってすげーよな Tweet 1:以下、\(^o^)/でVIPがお送りします:2014/05/13(火) 06:59:46.19 ID:/eS2fw/40.net どんなツール使ってんだよ 2:以下、\(^o^)/でVIPがお送りします:2014/05/13(火) 07:01:21.53 ID:qDq4D1HZ0.net ワロタ 5:以下、\(^o^)/でVIPがお送りします:2014/05/13(火) 07:03:39.50 ID:SdIcByto0.net キャトられでわろた 4:以下、\(^o^)/でVIPがお送りします:2014/05/13(火) 07:02:52.77 ID:pBkWicmu0.net これはどうしてなかなか 7:以下、\(^o^)/でVIPがお送りします:2014/05/13(火) 07:04:54.66 ID:myx1RQnF0.net 三番
ゼロからGIFアニメーションを作成するのは手間がかかりますが、ボタンを押すだけで再生中のムービーをGIFアニメーションにしてくれるのがGoogle Chrome拡張機能の「Animated Gif Capture - アニメーションGifキャプチャ」です。Chromeブラウザに限らず、IEやFirefox、PCのローカル上で再生したムービーでさえもGIFアニメ化できるようになっています。 Chrome ウェブストア - Animated Gif Capture - アニメーションGifキャプチャ https://chrome.google.com/webstore/detail/animated-gif-capture/aecmckhhfknljgicfkpbinfkpnijehcm 拡張機能を使うには、まず画面右上の「無料」ボタンをクリック。 「『Animated Gif Capture
gulpとnode.jsの連携 Gruntと比較してgulpがイケてるなと思うのはnode.jsつまりJavaScriptを利用してカジュアルにタスクをカスタマイズできるところです。 たとえば、昨日書いたSassをコンパイルするタスクは以下のようにnode.jsでカスタマイズするとかなり便利になった。 var gulp = require('gulp'); var sass = require('gulp-sass'); var autoprefixer = require('gulp-autoprefixer'); var fs = require('fs'); var path = require("path"); //config var root = "htdocs", config = { "path" : { "htdocs" : root, "sass" : root+"/s
Amazon Redshiftでスナップショットからのリストア時にパラメータグループ・セキュリティグループを指定出来るようになった 小ネタ&リリースし立ての機能確認エントリです。 Release: Amazon Redshift on 2014-05-12 : Release Notes : Amazon Web Services 本日2014/05/13付のリリースノートにて、上記機能の更新がアナウンスされました。 Amazon Redshiftに於いて、スナップショットからのリストア時にパラメータグループとセキュリティグループの指定が行えるようになった、というものです。 これまでのAmazon Redshiftに於けるスナップショットからのリストア操作 これまでのAmazon Redshift環境に於いては、スナップショットが取得された状態から、そのスナップショットを用いてクラスタをリ
よく訓練されたアップル信者、都元です。むしろCloudFormation信者かと自問する日々が続いておりますがw 育てるインフラ クラウドの売りの一つは「スケーラビリティ」です。これは単純に、HTTPリクエスト処理要求の増加に伴ってWebサーバの数を増やすだけの話ではありません。昨日ご紹介したように、ロードバランサ、キュー、ワーカー、そして(RDSであれば限定的ですが)データベースのように、システム内の各コンポーネントについて、スケールアウトできる構成が期待されます。 しかしそれだけでもありません。システムというのは運用しながら、キャパシティ要求だけでなく、機能要求の増加にも応えていく必要があります。単純なスケールアウトだけではなく、必要に応じてコンポーネントの追加 *1を行い、場合によってはアプリケーションの改修を伴うアップデートを行います。 そんな時にも、実はCloudFormatio
はじめに みなさま、はじめまして。加藤と申します。最近注目を集めている仮想化技術の『コンテナ』に関する連載を始めることになりました。よろしくお願いいたします。 コンピュータの性能が向上し、仮想化という言葉も一般的になりました。従来はVPS等のサービスやIaaS、クラウドといったキーワードと共に語られることが多かった仮想化ですが、最近では開発者自身のPC上で仮想化を使ってテスト環境を作成し、使い終わったら消去するという使われ方が増え、仮想化技術を扱うエンジニアも、インフラエンジニアからアプリ開発者まで広くなりました。 また、従来は仮想的なマシンをコンピュータ上で実現するVMware、Hyper-V、KVMといった技術が話題になることが多かったことに対し、最近ではImmutable Infrastructureといったキーワードと共に『コンテナ』が話題になることが増えました。『コンテナ』とは
今回は、Xamarinを使用してAndroid向けのアプリを開発します。 アプリケーションをダウンロードして実行する iOS版と同様に、ポータルサイトのプラットフォームにてAndroidを選択して「ダウンロード」をクリックします。 Androidのテンプレートをダウンロード ダウンロードしたzipを解凍し後フォルダをリネームして、前回作成したソリューションのフォルダにコピーします。 iOS版のあるフォルダにリネームして展開する Xamarinにて既存のプロジェクトとして追加します。 既存のプロジェクトを選択する Androidのcsprojを選択する 追加したプロジェクトを「スタートアッププロジェクトとして設定」にします。 スタートアッププロジェクトとして設定 Debugを実行し、任意のデバイスを選択して「Start Emulator」でエミュレータを起動します。 エミュレータを起動 エミ
はじめまして。株式会社クロスキューブの佐々木です。concrete5 JapanのCTOを務めておりまして、普段はEC-CUBEとconcrete5を組み合わせたECサイトの制作なども行っています。今回は、Microsoft AzureでEC-CUBEを使ってみようという開発合宿に参加させて頂きました。 今回取り組んだ内容 合宿で何をするか、アイデアソンから始まったのですが、色々悩んだ結果、せっかくクラウド環境を使うので、クラウドっぽい何かをしてみようと思い、Microsoft Azure上のVMからAzure上にEC-CUBEをたくさん作るマルチサイト環境を作ることにしました。 実際にEC-CUBEの案件のお話しをいただく際に「ショッピングモールを作りたい」というお問合せは多く、「簡単にマルチショップとしてモールっぽいものを作るにはたくさんEC-CUBEをインストールしちゃうのが楽です
お久しぶりです。最近TypeScriptで遊んでるすてねこです。 JavaScriptからTypeScriptの定義ファイルを手作業で頑張って作ってたのですが、とーってもめんどくさくなってきました( で、自動で変換できないかって思いました。 次の日あたりに簡単なのを試作・・・なんだか、いけそう! ちょこちょこ改良を重ね無駄な機能をつけていきました! そろそろ作る気力がなくなってきたので、公開してモチベーションを高めようかとか思います。 まだまだテスト版でバグとかたくさんあるかと思いますが・・・ コメントとか頂けると喜んで改良・修正します!\(>ヮ<)/ ブログまたは、Twitter @suteneko1027 までお願いします~ このアプリケーションを使って何が起こってもすてねこは責任を取りません! あとアプリケーションの改良して公開したりは取りあえずおやめください>< あ、もちろん、この
ApplicationIcon.175x175-75.png (175×175) MacVim で Markdown 形式で文章を書いて Marked.app でプレビューしてた。 Marked.app 、便利なんだけどリストのネストの解釈が GitHub とかの Markdown と違ってて、スペース 4 つ入れないといけないのがだるかった。あとコードのシンタックスハイライトも GitHub のに比べたら弱い。やはり GitHub Flavored Markdown で Markdown をプレビューしたい。 ここを読めばやり方が書いてある。 Log in / FAQs - Marked Support Questions and issues about the Markdown previewer and writing tool Marked 2 for Mac. support.
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました マインドマップはツリー型の表示を行います。あるポイントが開始ポイントになって、そこから派生する形で子ノードがつながります。それを繰り返して全体のツリーが大きくなっていきます。 あんな感じのインターフェースを作ってみたいと思ったらお勧めしたいのがTreedです。リストとツリー表示を同時に行うライブラリです。 Treedの使い方 ノードの移動は矢印キーまたはhjklキー、インデントはタブキーと鳴っています。さらにiキーで編集モードになったり、EscキーでノーマルモードになったりとVimを踏襲したキーバインドになっています。 自作のマインドマップのベースにしたり、アウトラインエディタに組み込んだりすると面白そうです。 TreedはJavaScript製のソフトウェア(ソースコードは公開さ
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
App Linksの技術文書を和訳してみました Written on May 12, 2014. Posted in Web Technologies 4月20日に行われたFacebookの開発者向けイベント「F8」にて、App Linksという新しい仕様が発表されました。これは、今までのWebでのページ間リンクのように、スマートフォンアプリ間の「ディープリンク」を可能にするための標準的な手続きになるべく発表されたものです。具体的な仕様について、さっそく和訳をしてみました。これだけ読んでもちょっと理解するのが難しいのですが、参考になると幸いです。 原文は、 http://applinks.org/documentation/です。 App Linksの公開 App Linkメタデータの公開は、あなたのコンテンツ内にタグを数行追加するだけという単純さです。あなたのコンテンツにリンクするアプリ
よく訓練されたアップル信者、都元です。AWSでシステム構築をする場合は、Design for failureという考えに基いて、複数AZにまたがる形の冗長構成を組むのがベストプラクティスです。さらに、このように分散させた各インスタンスには、出来る限りマスターを作らない、つまりSPOFとなるインスタンスを避ける構成であるのが理想です。 という話題については以前AWSにおける可用性の考え方というエントリーでも書きました。 可用性 (availability) と拡張性 (scalability) 本題はジョブWorkerですが、WebサーバやDBサーバの可用性と拡張性を先におさらいしておきましょう。 Webサーバ この考えで構築する最も基本的な構成が、Webシステムにおける ELB + Webサーバ の構成です。この構成マルチAZと呼び、片方のAZが丸ごとダウンしたとしても、サービス自体はダウ
タスクランナーgulp入門 gulpはGruntと同じように様々なタスクを自動化してくれるツール(タスクランナー)です。 node.jsで開発されており、Sass/CompassやLess、StylusなどのCSSプリプロセッサーのコンパイルやCSS/JSの結合圧縮、JSHintによるバリデーションなど様々なタスクを自動で行ってくれます。 Gruntとできることはほとんど同じですが、Gruntよりタスクの流れがわかりやすく、JavaScript(node.js)で独自のタスクも簡単に記述することができます。 後発ということもありGruntよりプラグイン数は少ないですが、マニアックなタスク以外はそろっているので通常のWeb制作などでは問題なく利用できるでしょう。 node.jsのインストール node.jsが必要ですのでインストールしていない方はインストールしましょう。 公式サイトでインスト
「Snippet Repo」はコードやコマンドの断片=スニペットを共有することができる開発者のためのサイト。 プログラミング言語ごとに便利なスニペットがいろいろまとめられているので、眺めているだけでも新たな発見があるかもしれません。例えばphp / javascript / C# / ruby / python など人気のプログラミング言語ごとにタグで分類されています。 プログラミング言語だけではなく、gitに関するスニペットなんかもあります。上は「よりよいgit logを実現するためのスニペット」で、フォーマットや色がカスタマイズされていて見やすくなっています。 ただし残念なことに、スニペットを新規登録できるのは招待されたメンバーのみに限定されています。投稿されたコードの品質を高く保つためらしいのですが、自分で好きなコードを投稿できないと面白みが少ないかもしれません。アイデアとしては面白
はじめに AWSではメール配信サービスとしてAmazon SESが提供されていますが、最近SESと比較してSendGridの名前を聞くことが多くなりました。そのSendGridで1日200通まで送信可能なフリートライアルが用意されていると知ったので、SendGridを体験してみました! アカウント登録 フリートライアルの登録はSendGridの日本公式サイトで、以下のリンクから各種情報を入力し行います。 情報を入力した後に送信ボタンを押すと、登録完了のメールが届いて、アカウントページにログイン出来るようになります。アカウント画面の左側に、SendGridのアカウント名と、SMTPサーバのホスト名が表示されています。 メールを送信してみる では簡単なスクリプトを使って、Amazon EC2上からメールを送信してみます。SendGridの接続ポートは587/tcpです。 #!/usr/bin/
ときどきみかけるコードなのですが、パターンマッチを使ったコードで、次のようなものがあります。 exp match { case A => { expA1 expA2 ... } case B => { expB1 exbB2 ... } } Scalaでは、case節に複数の式を続けて書くことができるのでこのようなブレースは不要です。 exp match { case A => expA1 expA2 ... case B => expB1 expB2 ... } としてしまいましょう。
GETクエリをオブジェクトのkey=valueに取り出すのもArrayの反復子機能を使えば、結構簡単に作ることが出来ますね。 URLのパラメータを取得する。 url = new URL(location.href); keys = url.search.replace("?", "").split(/&/); keys = keys.map( function(e){ return e.split(/=/)} ) params = keys.reduce( function(p, e){ name=e[0];val=e[1]; p[name]=val; return p }, {} ) console.log(params) URLオブジェクトはDOM中に存在するのでnodeだと動かないけど、ブラウザ中だと new URLは結構便利だと思う。わざわざ、new URL(str)しているのは、
非エンジニアな人に取って、コマンドラインでの操作には非常に抵抗感があります。 Gitの操作も例外ではありません。幸い、今は Source Treeなどの使いやすいソフトが出てきて不自由はなくなりました。しかし、実はGitの作業は、コマンドラインを覚えてしまった方が、日常の作業が早くなることもあります。 ここでは、普段はGUI環境を使う方にもこれだけは覚えてほしいコマンドを、いくつか紹介しましょう。 プルする git pull origin [ブランチ名] いつも作業を開始する前に、プルしましょう。ブランチを指定してプルします。 変更したファイルをコミットする git commit -a -m 'コメント' これが使えるだけでも、日常作業の大半をかなり短縮できます。変更済みのファイルを全部コミットします。コメントも直接打ち込めます。 ファイルをGitに追加する git add . 新しくファ
今やプリンターはオフィスに家庭に、ごく当たり前に常備されている欠かせないツール。最近では、3Dプリントの技術も登場し、一口にプリンターといっても、白黒やカラーで印字するだけのものではなくなってきている。 東京にベースを置くAgIC Inc.では、普通のプリンターをそのまま使って、電子回路を印刷できてしまう「AgIC Print」を開発。既存のブレッドボードは、素人には取り扱いが難しく、どちらかというと専門家向けのもので、回路の拡張や修正には手間がかかる。 この「AgIC Print」では、ナノ粒子の導電性インクを用いることによって、印刷可能で、かつ書き加えることが可能な電子回路を作成できる。特殊な導電性インクマーカーを使って、手書きでパパッと回路に書き加えたり、自宅のプリンターから完成した電子回路を増刷することが可能になるというわけだ。 パッケージになっている「AgIC 回路プリンタ DI
板に貼り付けるだけはさびしいよね 「1万2000円で2048×1536ドットのRetinaディスプレーを自作」(関連記事)では表示実験までしかやりませんでしたが、実際に使うとなると、むき出しというわけにはいきません。DisplayPort用のケーブルは固くて取り回しにくく、コントロール基板をしっかりと押さえていなければ、すぐに液晶ごと引きずって動いてしまうからです。このまま使っていると、最悪、液晶側のケーブルを壊してしまう危険すらあります。 イチバン簡単なのは、強力な両面テープで液晶の保護材に貼り付けるというものですが、いくらなんでもそれはやっつけ仕事過ぎるでしょう。ほかの人はどんなケースを作っているのかと探してみると、iPad用の保護ケースを流用していたり、iPadの本体そのものをケースとして使っていたりと、イロイロと工夫されていました。なかには、タブレットに液晶を組み込んで、液タブ化し
多分、この一文に集約されています。 ちょうど同時期に子供のために購入した「2カラーせんせい」というオモチャと比較して、このガジェットのことを語っていました。 で、感想としては「オモチャ」だったんですよね…。 で、それ以降ブギーボードにはあまり興味を示さずこれまで過ごしてきました…。 ただ、とあるブログでこの「Boogie Board Sync」のことを見て、これは買うしかないと思ったのです。 それがこちら 何度も何度も描いては消したり描いては保存したり、描いて描いて描いて描いて描きまくり!楽しい!!!これは非常に楽しい!買って良かった。ブギーボードはホントに楽しい!ってか、アタシにぴったんこ。 今日のブログの絵ももちろん全部ブギーボードで描いたヤツなんだけど、やっとで手描き復活な感! 絵日記の絵部分においては、時間は半分以下になったんじゃないかなー。ノンストレス。仕事でも使えそう。 この高
コンテナ型仮想化を実現するソフトウェアとして注目されているDockerの最新版「Docker 0.11」が5月7日にリリースされました。0.11は正式版の1.0に向けた最初のRelease Candidate(正式版候補)となります。 today we’re pleased to announce the immediate availability of Docker 0.11 – the first Release Candidate (RC) for 1.0. From here, we want to continue to get your feedback, focus on quality. 今日、私たちはDocker 0.11のリリースをここに発表します。これはバージョン1.0に向けた最初の正式版候補(RC)です。ここからは、私たちはフィードバックを元にクオリティにフォーカ
TOMOYO Linux メインライン化記念勉強会 レポート もくじ TOMOYO勉強会に行ってきた TOMOYO Linuxってなに? 基調講演 by 小崎さん 「メインライン化のご報告」 by TOMOYO Linux プロジェクト 懇親会にも参加してみた まとめ TOMOYO Linux プロジェクト 原田さんからのコメント TOMOYO勉強会に行ってきた こんにちは!電設部員の塚田です。 2009年7月3日 金曜日 16:00~、日本SGI株式会社 SGIホール。 「TOMOYO Linuxメインライン化記念勉強会」という、歴史的な 勉強会が開催されました。 この勉強会は、YLUGカーネル読書会、セキュアOSユーザ会、まっちゃ445勉強会という 電設部員にとって垂涎ものの勉強会3つが合同開催した、スーパー勉強会でもあります。 Linux大好き、勉強会大好きな私たち電設部員も参加しな
はじめに サンプルアプリ等を作成する際、デザインに悩むことは多いかと思います。 (特にデザインセンスに乏しい私のようなプログラマは・・・) このような時に、Bootstrapは強い味方となります。(今更感は強いですが・・・) またBootstrapにはデザインのサンプルが用意されているので、このサンプルをベースとしてアプリを作っていけばデザインについて悩むことを減らすことができそうです。 今回はRuby on Rails 4 にBootstrap3を適用し、サンプルにある「Starter template」と同じページを作る 手順について纏めてみたいと思います。 作業手順 以下に、今回の作業手順を書いていきます。 1.ページ作成 まずはRuby on Railsにて、今回表示するページを作成します。 コントローラ、ビューの作成 今回表示する画面のコントローラは「welcome」、ビューは「
iOS 7で導入されたコントロールセンターと同様の機能をMacで実現することができる「Control Center for Mac」が公開されています。開発はTrim Enablerで有名なCindori Software。10ドルの有償アプリですが試用版がダウンロードできます。 ↑メイン画面はこのような雰囲気。iOS 7のコントロールセンターっぽいですね。 主な機能は以下の通り。 iTunes/Spotifyのコントローラー。 リアルタイムのCPU/RAMモニタリング WiFi接続。 Bluetooth。 スリープを無効にする機能。 起動ディスク選択。 音量/輝度の調節。 世界時計。 アラームクロック。 タイマー。 ストップウォッチ。 Finder、システム、サービスの設定変更。 シンプルなメモ/タスク管理。 それぞれの機能はシンプルなものですが、コンパクトにまとまっているので使いやすい
Androidユーザーなら、Google Playで「Themer」を調べてみてはいかがでしょう。このアプリでは、ホームスクリーンのデザインが揃っていて、ダウンロードできます。中でも、「Expand」と呼ばれるデザインが米LFのイチオシです。デザインは4つのセクション(ホーム、カテゴリ、音楽プレイヤー、天気)に分かれていて、必要なリンク、ショートカット、ウィジェットと繋がっています。また頻繁に使うアプリを開くためのクイックリンクバーが下のほうにあります。このデザインはGoogle PlayのThemerで見つけることができます。 Expandに限らず、Themerには多種多様なデザインがあるので、一度調べてみてはいかがでしょう。 Expand for Themer|My Color Screen Eric Ravenscraft(原文/訳:Conyac)
SVG はモダンなWebブラウザーで表示できるベクター画像形式で、Retina ディスプレイや、タブレットでピンチアウトで表示拡大した時にも荒く見えないため、これから使用する機会が増えそうな画像形式です。 SVG は Illustrator で書き出すことができますが、これまで Photoshop ではプラグインなどを使わなければ SVG を書き出すことができませんでした。 しかし、Photoshop CCの「画像アセット」機能を使用して SVG を書き出す裏技を見つけたので紹介します。 準備 下記のファイルをダウンロードします。 Macの場合 Finder でメニューの[移動>ホーム]を選択し、ホームフォルダを表示します。 そこに、generator.json ファイルを移動またはコピーします。 Windowsの場合 ユーザーフォルダ(ユーザー名のフォルダ)に移動します。 そこに、gen
バージョン毎に異なる処理を吸収する 最近では Android 4.x 系の端末もかなり普及し、4.x 系のみサポートするようなアプリ開発も増えてきているように感じています。しかしながら、 2.x 系をサポートして欲しいとう要件もゼロではありません。 各バージョンの対応でよくある問題がバージョン毎にアクセスする API が異なるという点です。4.0 以降で追加された API を 2.x 系では呼ばないようにする (または独自で実装する) などといった対応が必要です。こういった場合によく使うのがバージョン毎に読み込むクラスを変えるという方法です。ということで、今回はその手順を解説したいと思います。ちなみにこの方法は Google I/O 2012 で発表されており、 Lazy Loading というデザインパターンをベースに生み出された手法です。Support Package も同じ手法を採用
Scalaz 7を本格的に使い始めたので、Scalaz 7を包含したコーディング・イディオムの棚卸しをしています。Scala 2.10の基本機能とScalaz 7を併用する前提で、コーディングの局面毎に使用するイディオムを事前に準備しておくわけです。イディオムを事前準備しておくことで、プログラミングの局面局面で即断即決ができるので効率よくプログラミングを進めることができます。またイディオムは利便性や実行速度などの要因を考慮に入れて使い所を絞り込んでおくので、プログラムの品質や性能などの向上も期待できます。 Scalazは、MonadやMonoidといった代数系の概念を軸にした型クラスやや純粋関数型データ構造を提供するライブラリですが、小回りの効いた便利機能も数多く提供しています。これらの便利機能は特にMonadやMonoidといった概念を抜きにして、便利につかえるので「かんたんScalaz
New! O’Reilly announces launch of the AI Academy. Read now Introducing the AI Academy Help your entire org put GenAI to work Every employee today needs to know how to prompt GenAI, use it to enhance critical thinking and productivity, and more. With the AI Academy they can. For less. O’Reilly AI-powered Answers just got even smarter O’Reilly Answers instantly generates information teams can trust,
こんにちは、DBAのたなかです。 過去のバージョンからMySQL 5.6へのバージョンアップはmysqldump推奨ですが、そうでなくても(複数のメジャーバージョンをまたいだバージョンアップとか)mysqldumpを使わなければならないケースはたまにあります。 …これ、面倒じゃないですか? あ、いや、時間がかかるから面倒っちゃ面倒なんですが、個人的にmysqlスキーマ周りがすごく面倒で。 前提として、(–single-transaction || –lock-all-tables) && –all-databases && (–master-data || –dump-slave)でやってます。–skip-add-drop-table しておかないとmysqlスキーマ内のテーブルを容赦なくDROPされて再作成されるので、バージョン間でカラムの数が変わったりしていると困る(たまにやる)だから
Web Componentsベストプラクティス、 誰のためのWebなのか、どうコードレビューをするかなど海外WEBテク20本を一挙公開 斉藤 祐也(株式会社リッチメディア) 斉藤祐也の海外WEBテク定点観測<Issue.13: 2014/04/01-2014/04/30> 今月の定点観測はWeb Componentsベストプラクティス、誰のためのWebなのかについて、そしてソースコード・レビューをどう行うかなどを紹介します。 注目ニュースピックアップ Web Components ベストプラクティス – WebComponents.org 原題: Web Components Best Practices Web Componentsはまだこれからの技術であることを念頭に、この記事では現時点でのベストプラクティスを紹介しています。 名前空間: 名前空間が他のWeb Componentと重複
最近では空前の大ヒット機材となっている学研・大人の科学の「ポケット・ミク」。eVocaloidによるボーカルを単体で鳴らせ、USBでPCと接続すれば、eVocaloidのコントロールができるだけでなくGM音源が鳴り、XGフォーマットのエフェクトも使えるなど、多くの機能を搭載しながら4,980円という価格は衝撃的で、いまだ品薄状態が続いているようです。 そのポケミクや以前紹介したeVY1シールド、単体で音を出すとキレイに聴こえるのに、オーディオインターフェイスを経由させると“ブーン”というハムノイズが出て困っている人も少なくないのではないでしょうか?実はこれ、グランドループと呼ばれる現象で結構難しい問題なのです。それを回避する方法が登場してきたので、紹介してみたいと思います。 ポケット・ミクの出力にPocket DIを組み合わせることでグランドループを回避 以前、eVY1シールドを使った際、
With this collection, we are showcasing a fresh assortment of some free user interface kits for you so that you can download them and simplify your work process. Resources such as user interface kits are meant to expedite your work flow by allowing you carry out certain actions quickly thus helping you to improve your productivity as well. With these UI kits, you can quickly mockup a professional
Powerful jQuery plugin Create split pages with two vertical scrolling panels. Compatible with mobile phones and devices and old browsers such as IE 11. <div id="multiscroll"> <div class="ms-left"> <div class="ms-section">Section 1 left</div> <div class="ms-section">Section 2 left</div> <div class="ms-section">Section 3 left</div> </div> <div class="ms-right"> <div class="ms-section">Section 1 righ
*トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。 「Login(アクセス)ログからわかる12の指標 シリーズ」 その1,その2,その3,その4 クエリ内のTreasure UDFのリファレンスはこちら。 前回(その1)の続きです。 6. Frequency(リピート回数の分布) 特定期間におけるユーザー当たりの訪問回数の分布を見たものです。 SELECT uid, COUNT(1) AS cnt FROM ( SELECT uid FROM login GROUP BY uid ) T GROUP BY uid ORDER BY cnt 7. 継続期間の分布(単位:週) ユーザー当たりの最初のログインと最後のログインの差をとることで,ユーザーの継続期間の分布を見る事ができます。 SELECT CAST( play_term/7 AS
公開日 : 2014年5月12日 カテゴリー : アクセシビリティ / ユーザビリティ 「メガメニュー (Mega Menu または Mega Dropdown Menu)」と呼ばれる、面積の広いドロップダウンメニューがあります。情報量の多い大規模サイトを中心に、時折見ることができます。 メガメニューの例 : スターバックス (starbucks.com) メガメニューの例 : MoMA (www.moma.org) メガメニューの例 : LG (lg.com) JavaScript によるドロップダウンメニュー自体は昔からありましたが、それに比べると、メガメニューは以下のような特長があり、ファインダビリティの面で優れていると言えます。 サブメニューを二次元的に (縦だけでなく横にも) 展開できるので、たくさんのメニュー項目を、一度ですべて見渡せるように表示できる。 広い面積を活かして、情
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く