牛に引かれて善光寺@2024年11月 2024年11月。最近急に冬めいてきたな~と思っていたころ、大学の友人から一通のLINEが。 「来週末、長野行かない?」 急。急だな~。でも行きたい。 翌週は日曜日の夕方に海を見ながら焚き火の予定があったので、土曜日朝~日曜日お昼までの弾丸で、長野に行くことに。…
Storyboardには、UIGestureRecognizerも配置できますが、UITableViewCellのPrototypeにOutletを紐付けるとビルド時にエラーとなります。 error: Illegal Configuration: Gesture recognizers cannot be used on prototype objects. エラー内容によると、ジェスチャはStoryboardのプロトタイプオブジェクトでは使えないようです。 コードで何とかするしかないですが、UITableViewCellは再利用を前提としていて、初めてデキューされたオブジェクトだけにジェスチャを紐付けするように工夫する必要があります。 static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView
iOSアプリとピーチク担当の岩間です、会社のFacebookページに投稿する為の写真を撮ったりもしています。 先日、ブログのネタを探そうと日本の全エンジニアに捧ぐ!現在公開されているAPI一覧 を眺めていたら、ぼくの Twitter 上のタイムラインに良く名前の出てくる Croudia というTwitter LikeなサービスのAPIが入っていなかったので、あえて Croudia を選択してハッカソンに行くときに良くやる Objective-C から API を使う簡単な枠組みを緩い感じで書いてみました。(画像投稿は考慮してません) 思いの外長くなってしまったので、ソースはこちらに置いておきます。 https://github.com/happy-ryo/Croient 使い方 Croudia へのアプリケーション登録 まずは Croudia の開発者ページで、アプリケーションの登録をしま
iOSプログラミング、1日取り組んでみて、ようやくビギナーからアマチュアになった気がします。 StoryboardでTable Viewのカスタムセルを作って、表示させるやり方。 メモ。 (1) プロジェクト新規作成して、UIViewController上にTable Viewを、その上にTable View Cellを追加。UITableViewControllerを使う場合はここは省略できます。 (2) セル上に好きな部品を配置。後でこのセルを呼び出すために、Table View CellのIdentifierを設定します(下図ではhelloCell)。 セルの中の各要素に後でアクセスするために、各ViewにTagを設定。下図ではLabelに”1”のTagを設定してます。 もう一個セルを追加してみる。セルの追加は、Table View Cellをドラッグ&ドロップ。2つ目のセルにもId
StoryBoardを使って、NavigationController+TableViewControllerでサンプルアプリをつくります。 つくるもの ナビゲーションバーつきのTableViewController セルは動的に生成、クリックするとViewControllerに遷移 手順 プロジェクトの作成 Single View Applicationを選択。 今回Product Name(プロジェクトの名前)は「sotryBoardSample」にしました。 下部の"Use StoryBoard"と"Use Automatic Reference Counting"にチェック。 Nextを押し保存して、プロジェクトを作成します。 TableViewControllerの配置 右ペインが出ていなければ開き、右下からTable View ControllerをすでにあるViewContr
StoryboardではTableViewのセルのカスタマイズも1画面でできるようになりました。 セルのプロトタイプから動的にセルを生成する カスタムセルのプロトタイプを作って、プログラムで動的にセルの内容を決定するTableViewを作ってみます。 最初に、プロジェクトを作るところから始めます。Master Detail Applicationテンプレートから新規プロジェクトを作ります。 Storyboardを開くと、すでにテーブルビューとセルがあります。このセルをカスタマイズします。 TableViewのAttribute inspectorでContent属性をDynamic Prototypesに変更します。ここをStatic Cellsにするとセルのインスタンス1つ1つをInterface Builderで作ることになります。今回はデータを動的に埋め込むのでDynamic Pro
気になるブログエントリとかを読みやすく整形してくれるみんな大好きReadability。自分のアプリに組み込めるようにAPIも公開されています。が、API Docsの冒頭に次のような一文が。 All requests to the Readability service require access tokens. 認証マストですって。OAuth。わざわざページを読みやすくするためだけにOAuth認証なんてやってられません。現にみんな大好きReederは認証しなくてもReadabilityによる整形が可能じゃないですか! というわけで、認証せずに使えるReadabilityの非公式なAPIをご紹介します。認証せずにページを整形するには、次のような手順を踏めば良いみたいです。 CSRFトークンを取得 記事IDとセッションIDを取得 整形済みドキュメントを取得 こんな感じですね。ではもう少し詳
追加がありましたら「編集リクエスト」をお願いします ユーザーにレビューをうながす機能 Appirater (0.0.1, 0.0.2) A utility that reminds your iPhone app's users to review the app. Homepage: http://arashpayan.com/blog/2009/09/07/presenting-appirater/ Source: https://github.com/mk/appirater.git テーブルをページのようにめくれる ARTableViewPager (1.0.0) The ARTableViewPager is an iOS component for horizontal table view scrolling/paging. Homepage: https://github.
สล็อตเว็บตรง เว็บแท้ 100% ระบบ API ใหม่ล่าสุด สล็อตวอเลท แตกง่าย ฝากถอนไม่มีขั้นต่ำ นำเสนอคลังสล็อตแตกง่ายคุณภาพสูง สล็อตเว็บตรง ทางเลือกเว็บตรงอันดับ 1 มาพร้อมการพัฒนาคุณภาพของระบบทางเข้าสุดมาตรฐาน สล็อตเว็บตรง จะทำให้การใช้งานมีเสถียร เข้าถึงการเล่นได้รวดเร็ว มีความปลอดภัย เว็บสล็อตใหม่ล่าสุด สภาพแวดล้อมการเล่นที่เป็นธรรม เว็บสล็อต ทำให้ผู้เล่นสามารถเพลิดเพลินกับสล็อต ได้อย่างไร้กังวล สล็อตรับวอ
2ヶ月ほど前にISMemoryCacheというのを書いたのですが、 実はこれと並行してISDiskCacheというのもつくっていました。 しかし、良いアイディアが浮かばなくて完成度が十分に上がらず、リリースできないまま放置していました。 先週末にちょうどPut Objective-C Back On the MapというWeb上のイベントがあったので、 それに参加することをモチベーションにISDiskCacheの実装に再挑戦しました。 ISDiskCache 特徴 合計のファイルサイズの上限を持ち、上限を超えたら古いファイルを自動的に削除(LRU)。 NSCodingに適合するオブジェクトをキー/値に設定できる。 NSDateを指定してアクセス日時が古いファイルを削除できる。 類似のライブラリにはtumblrがつくっているTMCacheがあります。 TMCacheとISMemoryCach
2012年(主に後半の3-4ヶ月ぐらい)でのiOSアプリ開発についての振り返りの雑談をしたので、 その時のメモとなります。 UIAppearance Proxy -> デフォルトの色とかをプロキシ経由のものにする デフォルトの色や画像の適応 UIAPPEARANCESELECTORで自作のライブラリもUIAppearance対応可能 AHAlertView では実装されてる Cocoaの日々: UIAppearance で色や画像を変える UIAppearance によるタブカスタマイズ How To Customize UITabBar on iOS 5 – Felipe Cypriano UITabBarのデザインを変更する|blog|Penta creation idev-recipes/RaisedCenterTabBar at master · boctor/idev-recip
開発を進める上でServerサイドと分離してフロントサイドのみに集中して開発すると捗ります。AngularJSではサーバサイドをモックするAPIが用意されています。使ってみました。(Yoeman等はイントール済みを仮定) まず、angular-mocks.jsというライブラリをindex.htmlで読み込みます。同様にmock.jsというこれから作るスクリプトを読み込むようにしておきます。 # In index.html <script src="bower_components/angular-mocks/angular-mocks.js"></script> # mock.jsはこれから作る <script src="scripts/mock.js"></script> 次にメインのapp.jsにngMockE2Eのモジュールを追加します # In app.js angular.mod
地味に便利そうだったのでメモ。input要素に入力パターンを組み込める、というスクリプトです。jQueryに依存しています。ユーザーの入力の補助によさそう。 input要素に入力パターンを組み込めるスクリプトです。 クレカや電話番号などの数字の入力項目に良さそうですね。 $('#foo').formatter({ 'pattern': '{{9999}}-{{9999}}-{{9999}}-{{9999}}' });上記のように予めパターンを作成しておきます。 <input type="text" class="input" id="foo" maxlength="19" pattern="\d*">あとは指定したセレクタでマークアップすればパターンが適応されます。クレカ等なら、制作側はいちいち4つのinput要素を用意し、レイアウトする手間が省けて、ユーザーも別のinput要素に移動する
Linux/OSS関連のエンジニアです。OSS監視ツールZabbixの日本支社、Zabbix Japanの代表も務めています。 Zabbixは重い!というツイートや情報があったりするのですが、海外ユーザーのサポート経験からZabbixのパフォーマンスは驚くほど良くなっていると思っていて、どこに違いがあるのか不思議に思っていたりします。 Zabbix社で大規模システムというと、監視対象が数千台規模以上、1秒あたりの監視項目数(Zabbixのダッシュボードやレポートメニューから見れる値、以降nvpsと書きます)が1000を超えるくらいからです。本社ではこのnvpsの値が1万に到達しようとしているユーザーをサポートしています。 海外のZabbixサポートユーザーはボトルネックになっている点についてZabbix本体に修正要望を出し、Zabbix本体のパフォーマンスを上げつつ監視規模を拡大していって
Android 4.4 (Kitkat) のソースコードが公開されました。話によるとDalvikを置き換えるARTというものが開発者向けに使えるようになっているそうです。面白そうなので調べてみました。以下は全て推測と個人の感想です。 ART とは 公式な情報はこれ https://source.android.com/devices/tech/dalvik/art.html Dalvikと置きかえて使えるランタイム まだ開発中。開発者のフィードバックを得るために公開した Dalvikがデフォルトであると強調。 Dalvikのランタイムはlibdvm.soで、ARTではそれがlibart.soに置き換わるらしい。開発者メニューでどちらを使うのか切り替えることができるようだ。 http://gigaom.com/2013/10/22/google-buys-frances-flexycore-
昨日、Titaniumもくもく会Vol.11に参加して、LTをしました。 Qiitaの@yaottiさんがが参加いただくというのを知ってから、リリースしてからしばらく放置気味だったTiQiitaのマイナーアップデート作業をコミットログを見る限り1週間ほど前から行っていました。 今回のLTでもお話した内容にも繋がるのですが、マイナーアップデート作業をしながらちょっとした気付きがあったので簡単にまとめておこうと思います そもそもなんで放置気味だったのか これは昨日のLTで喋ったのですが、放置期間中は、他のこと、具体的には、CraftBeerFanのアプリを作っていたから。趣味でやってて時間的な制限もあるので、流石に2つ同時進行というのは現時点での自分のスキルではちょっと無理なので、CraftBeerFanに注力してました。 ちなみに、どれくらい放置してたかというと、5月20日のコミットログでリ
はじめに こんにちは、iOSエンジニアの荒井です。 先日、株式会社Rettyのエンジニアの方々と技術勉強会を開催しました。 今回はiOSアプリについて、自分たちが使用している技術を紹介し合いました。 その場でXcodeを立ち上げ、instrumentsを起動してのLIVEメモリリーク調査など、 通常の勉強会とは違った形式で、とても有意義な技術交流の場になったと感じています。 僕からも「iQONのVIew構成」というお題でお話させて頂いたので、 今回はその資料を公開したいと思います。 スライドと補足 資料はslideshareにて公開していますが、まずスライドの流れを簡単に紹介したいと思います。 iQONでは現在多くのViewController・Xibがあります。 その数は100を超え、複雑な画面設計も相まって、工夫をしないと開発工数がかさんでしまいます。 ViewControll
NSString UIKit AdditionsにあるsizeWithFont:は、文字列を指定フォントで表示した時の表示サイズを求めるメソッドとされている。 ところがこれ、横幅は正しいのだが、縦幅は正しくないことがある。 表示幅が取得値(size.height)より大きいことがあるのだ。 どのような場合にそうなるか。 指定フォントが英字フォントで、文字列に日本語を含む場合がそれに当たる。 この場合、英字部分は指定フォントが使われるが、日本語に関しては代替フォントが使われる。 例えば、標準的フォントとしてよく使われるHelveticaは英字フォントであり、実は日本語は含まない。それでも日本語も表示できるのは、この代替機能があるからだ。絵文字もこの機能によって、どのフォントでも表示できるようになっている。 (フォントが実際のところどの文字コードに相当するフォントを持っているかは、FontBo
xib / storyboard 限定です。コードで配置してる人は他の方法を探してください。 何故ずれるか iOS 7 Release Notes UIKit の項に書いてあります。 If a UITextField or a UILabel that is baseline-aligned with constraints has attributes that change after the constraints have been added, the layout may be incorrect. The exception to this is -setFont: on UILabel, which should work as expected. Workaround: Avoid making changes in UITextField or UILabel afte
2011年8月23日火曜日 Appleのアプリ審査ガイドライン、UIWebViewに関係するリジェクト事例 大部分がUIWebViewだけを使うようなアプリに対してどういう審査があるのかを少し調べた。 まずは Appleによる審査ガイドライン https://developer.apple.com/appstore/resources/approval/guidelines 日本語訳 英文と並んでいて見やすい https://docs.google.com/document/d/18oM8JIs9g0fdzwiZnRiil3Elg_1DgdrS5VT_U496AWo/edit?hl=ja via アップル社のアプリ審査基準ガイドライン最新版の和訳を公開しました « ジェネシックスブログ 他の人の訳 http://fladdict.net/blog/2010/09/reject-list.h
カテゴリーとクラスエクステンションは、Objective-Cで使えるクラス拡張の方法です。 既存のクラスにメソッドを追加したりクラスの分割をしたりすることができるので、中級以上のObjective-Cユーザーには必須の機能です。 カテゴリーによるメソッド追加 カテゴリーを使うと、既存のクラスにメソッドを追加することができます。 自分でつくったクラスにメソッド追加することもできますし、システムのフレームワークの中のクラスに追加することもできます。 例えば、NSStringクラスに二つの新しいメソッドを付け加えた例を見てみましょう。 まず、追加メソッドのヘッダーファイルはこうなります。 // NSString+ToyshipMode.h @interface NSString (ToyshipMode) + (void)ToyshipMode1; - (void)ToyshipMode2; @
大事なクライアントの名前を思い出せない。必要なときに限っていつも口座番号を忘れてしまう...。そんな経験、身に覚えがありませんか? いわゆる「記憶力」はさまざまな場面で必要とされるし、改善できるものならしたいと思うはずです。 記憶力は生まれもっての能力で良くなることなんかない、そう悲観することはありません。「記憶するためのテクニック」を紹介しましょう。 脳はどのように記憶するのか 記憶術を紹介する前に、脳が記憶を蓄積する仕組みを、科学的な観点から見ていきましょう。 ご存じのとおり、脳は非常に多くのパーツからなる複雑で美しいシステムです。記憶を形成する時に活躍するのは、そのうちのニューロンとシナプスです。ニューロンとは電気信号を発したり受け取ったりする細胞、シナプスとはそれらニューロンをつなぐ結合部です。 記憶を呼び起こそうとする時、一連のニューロンが脳内に信号を送り、こうしてできた配列が記
http://weblogs.asp.net/dwahlin/archive/2013/10/25/learning-angularjs-by-example-the-customer-manager-application.aspx Dan Wahlinがブログの一連のポストで、AngularJSについてまとめています。AngularJSがはじめての方は、まずこちらの1時間+のビデオを見てからのほうがわかりやすいと思います。そのビデオの最後にも少しでてくるサンプルアプリについてまとめてみした。 [Customer Managementサンプルアプリの画面] 1) 主要機能 AngularJSの全ての機能を網羅してはいないが、下記のポイントを含んでいる。 factoryと再利用可能なデータservice(app/servicesフォルダ参照) カスタムdirective (app/dire
早速アップデートしてみた。 アプリ連携は、アプリを起動して「アプリの検索」をタップして、目的のアプリの「+」ボタンを押せばOK。 認証画面が表示されるので指示に従って認証すると連携が完了する。簡単だった。 RunKeeperとWithingsの連携が完了した! このように、タイムラインにWithingsから飛ばされた体重データが表示される。 タップすると詳細画面に切り替わる。まあ、情報量はあまり変わらない(笑)。 いっぽうのRunKeeper連携はこちら。 活動量のログの右側に、赤く走っている人の吹き出しが追加されている。これがRunKeeperのログがあるよ、という印。 アイコンをタップすると詳細が表示される。「運動レベル」が易しすぎると出ていて複雑な気持ち。 13kmのランニングは「易しすぎ」ですか?そうですか(泣)。 というわけで、連携が無事出来た。 Jawbone UP全体の使い心
1 :以下、名無しにかわりましてVIPがお送りします:2013/11/01(金) 10:57:27.41 ID:OF02ZtS10 なんかいろいろ便利らしいじゃん 2 :以下、名無しにかわりましてVIPがお送りします:2013/11/01(金) 10:57:43.77 ID:qA6qVbsG0 歯磨き 3 :以下、名無しにかわりましてVIPがお送りします:2013/11/01(金) 10:58:19.46 ID:Z91YN0cp0 風呂掃除 続きを読む
『Japan Azure User Group 8周年イベント』で LT しました #jazug Sep 24, 2018 BLOG このブログをご覧のみなさん、こんにちは。 2018/9/22 に開催される『Japan Azure User Group 8周年イベント』で LT をしました。 資料は以下になります。 LT は 19:00 からの懇
translations Documentation RSpec is a great tool in the behavior-driven development (BDD) process of writing human readable specifications that direct and validate the development of your application. On the web there are many resources that give complete overview of _what_ you can do with RSpec. But there are fewer resources devoted to how to create a great RSpec test suite. Better Specs tries to
LinkedIn自体がそんなに盛り上がってないのが幸いしてか、LinkedIn Introの件は、日本ではあまり燃え上がらずじまいでした。 おさらい 先日、LinkedInが LinkedIn Intro というサービスを発表しました。 これは、iOSのメールアプリに、メールを送ってきた相手のLinkedInのプロファイルを表示できる、というサービスです。 LinkedIn、メールの相手情報を表示するiPhoneアプリ、Introを発表―iPadアプリもアップデート | TechCrunch Japan LinkedIn Intro: Doing the Impossible on iOS [UPDATED 11/1] | LinkedIn Engineering サービス発表を受けた英語圏のメディア&ユーザたちの反応。中にはクールだという反応もありますが、(あとで触れる理由により)おおむ
Redis をキャッシュストレージとして利用する場合、 maxmemory によって利用可能なメモリの最大値を指定できる。 maxmemory の値を超えるデータの追加が発生した場合の振る舞いを maxmemory-policy によって指定できる。デフォルトの maxmemory-policy は volatile-lru で、 LRU アルゴリズムに従って古いキーの値が優先的に破棄される。 maxmemory-policy は数種類から選べるが、そのうち noeviction を選んだ場合、古いキーの値は破棄されず、新規追加はエラーとなる allkeys-lru または allkeys-random を選んだ場合、 expire の有無に関わらず、全てのキーの中から破棄対象が選ばれる その他を選んだ場合、 expire がセットされているキーのみが破棄対象となる という違いがある。実装
ハマったとこ、先人の知恵のまとめ。 提供されるモジュール群は5つ phantom: そのもの FileSystem: ファイルに出力したり、依存ファイルの存在確認したり System: コマンドラインから引数取りたいなら WebPage: きっと主役なrequire('webpage').create()するやつ WebServer: まだ使わない方がよさそう おおまかな使い方は2パターン pageを使いまわす オーソドックスなやつかと。 PhantomJSのサンプルといえば!的な。 var page = require('webpage').create(); page.open('http://example.com', function(){ // do something.. page.evaluate(function(){ // do something... }); phan
Gemfile の 「group :test, :development do」ブロックに書いている 個人的に最強な設定 を晒したいと思います。(2013/10/24 現在) 作業環境 Ruby 2.0.0p247 Rails 4.0.0 Gemfileに設定している内容 ※ コメントに随時変更したものを追記しますー group :test, :development do gem 'pry-rails' gem 'pry-doc' gem 'pry-stack_explorer' if RUBY_VERSION >= '2.0.0' gem 'pry-byebug' else # 以下はRuby1.9の時のみ使う(pry-byebugの代わりに) # debuggerは1.9以下でしか動作しない, remote は byebug で使えないようになった gem 'pry-debugger
Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記
昨日のつづき Lessをコマンドラインからコンパイルする方法を調べ始めて、基本的なコンパイルはlesscでできたけど、ファイルを監視する機能がないことがわかった。 ファイル更新したらコンパイルしてほしい!!! Lessファイルをwatchするには色々あるけれど less-watch less を自動コンパイルしたい - 人生いきあたりばったりで生きてます@はてな せっかくの機会なので、名前だけ聞いていたGruntを使ってみようと思った。 Sass+Compass特集でたまたま今月買ったWEB+DB PRESSにid:naoyaさんのGrunt記事もあったし! WEB+DB PRESS Vol.77 作者: 中川勝樹,山内沙瑛,舟崎健治,吉荒祐一,今井雄太,八木橋徹平,安川健太,近藤宇智朗,奥野幹也,天野祐介,賈成カイ,伊藤直也,住川裕岳,北川貴久,菅原一志,後藤秀宣,久森達郎,登尾徳誠,渡
gistfile1.md array_push と $array[] = $val って何が違うの array_push で配列の要素足すのと、$array[] = $val で配列の要素足すのと何が違うのかわからんので調べた http://pecl.php.net/package/vld を入れると処理系の OPコードを見れる 環境 [vagrant@localhost ~]$ rpm -q php php-5.3.3-23.el6_4.x86_64 [vagrant@localhost ~]$ php -v PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technolo
PhantomJSとは PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. http://phantomjs.org/ PhantomJSはJavaScript APIで動くヘッドレスWebKitです。 PhantomJSはDOMハンドリング、CSSセレクタ、Canvas、SVGなどネイティブにサポートしており、高速に動作します。 ものすごく簡単にいうと、ターミナルで動く画面をもたないブラウザですね。 主な利用シーンは以下のとおりです。 Webテスト ページオートメーション スクリーンキャプチャ ネ
前回の続き。NIAttributedLabelを使うとリッチテキスト的な文字装飾ができます。今回はその説明。 指定範囲の文字列のみ色やフォントを変更する _label.text = @"01234567890"; // 文字装飾する範囲 NSRange range = NSMakeRange(4, 3); // 指定範囲の文字色を変更 [_label setTextColor:[UIColor redColor] range:range]; // 指定範囲のフォントを変更 [_label setFont:[UIFont boldSystemFontOfSize:18.0f] range:range]; // 指定範囲にアンダーラインを付ける [_label setUnderlineStyle:kCTUnderlineStyleSingle modifier:kCTUnderlinePatt
以前、Zabbix1.8.15のインストール方法について本ブログで紹介いたしました。 今回は最新の安定板である2.0系のZabbixをAmazon Linuxにインストールしてみましょう。 アイテム(監視項目のこと)の自動検知やAPI機能の正式化等、運用を効率化できる機能がたくさん追加されているので、これからZabbixを導入される方は2.0系を使うことをお勧めします。 (詳細はリリースノートをご覧ください。) < h2>構成 Zabbixサーバ AMI: Amazon Linux AMI 2013.09 セキュリティグループ: base(22/TCPを許可), zabbix-server(80/TCPを許可) 監視対象サーバ AMI: Amazon Linux AMI 2013.09 セキュリティグループ: base(22/TCPを許可), zabbix-agent(10050/TCPを
iOS6からNSAttributedStringを使ってUILabelやUITextViewで表示する文字列を部分的に文字装飾できるようになりました。 まずは単純なフォントと色替え。 NSDictionary *stringAttributes = @{ NSForegroundColorAttributeName : [UIColor blueColor], NSFontAttributeName : [UIFont systemFontOfSize:14.0f] }; NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"0123" attributes:stringAttributes]; _label.attributedText = string; このようになります。 この程度ならUI
久しぶりに iPhone アプリネタです。UITableView を指定した場所までスクロールさせる方法です。 どの方法も NSIndexPath で UITableView のセルの位置を指定して、UITableViewScrollPosition で指定したセルを UITableView のどの位置に持ってくるかを指定します。これによって、指定したセルを UITableView の一番上や一番下、真ん中などを指定することが可能です。 セルを指定してスクロールさせる NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop ani
このウェブサイトは販売用です! forodin.com は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、forodin.comが全てとなります。あなたがお探しの内容が見つかることを願っています!
In some of the feedback I have gotten on the openID Connect spec, the statement is made that Connect is too complicated. That OAuth 2.0 is all you need to do authentication. Many point to Identity Pro… 英語読みたくないという人のために簡単に解説すると… OAuth 2.0 の implicit flow を使って「認証」をしようとすると、とっても大きな穴が開きます。 カット&ペーストアタックが可能だからです。 OAuth 認証?は、図1のような流れになります。 図1 OAuth 認証?の流れ 一見、問題なさそうに見えます。しかし、それはすべてのサイトが「良いサイト」ならばです。 Site_A
スライドを作成するにあたって、色々なサイトを閲覧しましたので、まとめてみました。 基本的なこと Git - Book まずはこれを読んどいた方が良いと思います DVCSとGitの基礎 サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ わかりやすいです git - 簡単ガイド 天下一gitconfig大会 参考になるけど、ちょっと古い。 こわくない Git ブランチのこと良くわかる。必読。 コミットメッセージの書き方 - ククログ(2012-02-21) コマンドの使い方とか gitとsubversionのコマンド対応表 « cyclogy 一覧で見やすい Git - SVN Crash Course(in Japanese) SVNとのコマンド比較が充実している Subversion ユーザーが Git を使ってみた (基本操作編) - ま
コンビニ勢力地図2024-2025 三重にファミマが多くないか? このところ三重県と愛知県に行く機会が多かったのだが、車で国道を走ってるとやたらファミマを見る気がしていた。地域によってコンビニの種類に偏りがあるとは思っていたが、実際どうなのか。調べてみたのでお伝えしたい。 これが日本国…
インフラ系も開拓したい新坂です。 EC2を利用するにあたって、とりあえずデフォルトでルートボリュームを8GBのままにすることってありますよね。 サーバーイメージ(AMI)を利用してボリュームを拡張する手順を紹介します。 イメージを作成する 対象となるインスタンスを選択して、「Create Image」します。 「Image name」、「Image description」を入力し、「Create Image」をクリックします。 AMIが作成されるまで待ちます 数分待ちます。完了後、作成したAMIを選択して「Launch」します。 EC2のLaunch手順を実施します 「Step 4: Add Storage」ページでストレージサイズを指定します。 インスタンス起動を確認 無事起動しました。ちなみにタグは「俺のビッグボリューム」としました。 ディスクサイズを確認 ログインして確認します。8
Nagiosの問題点から生まれたsensu sensuはオープンソースのモニタリングフレームワークである。「Nagios」を知っている人なら、それに近いソフトウェアといえば分かりやすいだろう。サーバーの死活監視や各種イベント監視を自動化してくれるシステムだが、Nagiosにない特徴を備えている。また、クライアントの自動登録やサーバーアップと同時にモニタリングを開始するなど、自動化の機能が強化されている。これは、スタティックな構成だけでなくEC2のようなエラスティックにサーバー構成が変化するような環境でも、面倒なコンフィグレーションが必要ないということだ。 ChefやPuppetといった構成管理・コンフィグレーションのフレームワークとの相性がいいのも特徴だ。他にもネットワークが中断してもモニタリングを続けられること、Nagios Checkを簡単にマイグレートできる(Nagios資産を活かせ
https://www.twilio.com/engineering/2013/10/16/haproxy/ 音声/テキストコミュニケーションのクラウドサービスを提供するTwilioが、オープンソースのTCP/HTTPロードバランサーHAProxyの設定についてエンジニアブログで紹介しています。 1) 経緯 TwilioのFounder達が、クラスターのホストが他のホストと通信しトラッフィクを渡せるHAProxy Configを音声メッセージ用につくって、Venture Capitalから資金調達。次に、SMS (テキストサービス)サービスのAPIにHAProxy Configをそのまま適用。それがうまくワークしたのでHAProxy Configの内容を理解しないまま、Twilioのサービスに順次コピーされて、問題が感染していってしまった。 目標であるFive nine (99.999%)
1 pixel|サイバーエージェント公式クリエイターズブログ サイバーエージェントのクリエイターの取り組みを紹介するオフィシャルブログです。最新技術への挑戦やサービス誕生の裏話、勉強会やイベントのレポートなどCAクリエイターの情報が満載です。
この記事は最終更新から1年以上経過しています。 気をつけてね。 AWS OpsWorksを使ってオートスケールを組み立てようと思い、用意されているスケール対応インスタンスタイプを調べてみました。 ちなみにOpsWorksはCloudWatchのメトリクスと連携しているのでどのインスタンスでもAutoHealオプションを使うことができます。Statusが何かおかしかったらインスタンスを作りなおしてくれるナイス機能です。 24/7 普通のレギュラーなインスタンスで、常時上がりっぱなしのインスタンスです。 通常はこのタイプを一つ用意して、TimeBase, LoadBaseを増やしていく感じでしょう。 ただ、レイヤ内に24/7が1つもない状態で他のタイプがある場合は最低1台になるようにどれかが上がってくるようです。実は不要かもしれませんね。 Time based instance 1時間単位で起
PhantomJS: Download and Install ここにバイナリがおいてあるのでダウンロードして展開してパスを通すだけで大丈夫。qt とか webkit をインストールする必要すらなくて超簡単。 古いシステムなどでソースから入れたい場合は PhantomJS: Build Instructions に従う。以下のステップだけでいいらしい sudo yum install gcc gcc-c++ make git openssl-devel freetype-devel fontconfig-devel git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 ./build.sh ソースから入れる場合も同様に qt などは必要なくて、build.sh を叩くだけでいいそうだ。簡単。
2. Copyright © 2013 Amazon Web Services Agenda AWS OpsWorksとは OpsWorksの特長 OpsWorks 利用の流れ OpsWorksのメリット Chefとは OpsWorksのライフサイク ルイベント どのようなアプリケー ションがOpsWorksに向 いているのか? OpsWorksの機能詳細 OpsWorksの料金 Link APPENDIX 3. Copyright © 2013 Amazon Web Services AWS OpsWorksとは 開発者やシステム管理者向けの統合アプリケー ション管理ソリューション アプリケーション全体のライフサイクルをモデル 化、コントロール、自動化が可能 4. Copyright © 2013 Amazon Web Services OpsWorksの特長 高機能 • 環境全体のテン
hashicorp/serf Serf Serf使ってますか!サーフ! 諸事情というか大人の事情で急遽自前でロードバランサを用意しないといけなくて、それをissueに書いてたら、 あんちぽさんがSerf+HAProxy使ったらいいのでは、 とIRCで助言をくれて、同日のmizzyさんのブログでもSerfに言及していたので、 ちょっとSerfの概要を知るためと、Serf+HAProxyが実際ロードバランサとしてどんな感じに使えるのか検証してみた。 I told @glidenote about a combination of Serf and HAProxy this morning, and he has already implemented the arch. and done investigation… — kentaro (@kentaro) October 29, 2013
追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー
limits.conf に書いても ulimit に効いていない、というのはよくある話です。 ulimit が少なくて困ったことはあっても、多くし過ぎて困ったことはほとんどないでしょうから、ドーンと全条件下でulimit設定を効かせる方法を紹介します。 ulimitが効かない問題 だいたいこんな内容だと思います。 SSHログインだと効かない su すると効かない OS起動時に自動起動したデーモンに効かない 普通はデーモンに効けばよいので、本当に困ったら起動スクリプトに直接書いたりしますが、方法としてはイマイチなのでちょっと工夫をします。 その前に・・・ PAMについて PAMというユーザー認証システムについてはググっていただくとして、よく出てくる /etc/security/limits.conf という設定ファイルは、PAMを通る条件下でしか有効になりません。 ではPAMを通るとはどうい
gdbperl.plというスクリプトがあります。そんkする樋口証さん作の、gdbを操作してPerlのプロセスのバックトレースを取るツールです。生きているプロセスだけではなく、coreを取っておけばそのcoreからバックトレースが取れるのが特徴です。 gcoreというコマンドが/usr/binあたりにあって、これを使えば走っているプロセスのcoreを取得することができます。よって、本番環境で気軽にcoreを取ってgdbperl.plにかけることによって、刺さっているポイントを見つけたりすることができます。超便利。 くわしくは、Perlスクリプトをgdbでデバッグを参照ください。 んで、その便利なgdbperl.plをRubyに移植してみました。その名もgdbruby.rb。単純。 gdbruby.rb 使い方とか Rubyはデバッグシンボル付きのものをご用意ください。 生きているプロセスにア
あまりWebに転がってなかったので記載。 // ナビゲーションバーを生成 UINavigationBar* objectNaviBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(xPoint, yPoint, xRange, yRange)]; navBarTop.alpha = alpha; ※ xPoint - 起点X座標、yPoint - 起点Y座標、xRange - ナビゲーション幅、yRange - ナビゲーション高さ、alpha -ナビゲーションのα値 // ナビゲーションアイテムを生成 UINavigationItem* naviItem = [[UINavigationItem alloc] initWithTitle:@"タイトル"]; // 戻るボタンを生成 UIBarButtonItem* backButt
UICollectionViewを使ってみる 今日はUICollectionViewを試してみる。 iOS6になって、デベロッパーとして嬉しいのはやっぱりこのCollectionViewが使えるようになったこと。 結構簡単に、こんなのができてしまうのだから、また表現の幅が広がったってわけだ。 これまでは同じようなことをするために、自分でゴリゴリ書かなきゃいけなかったのだから、これはホントにありがたい。 特に、TebleViewと同じような感覚で利用できるところがいい。 ということで、今回はMaster-Detail ApplicationテンプレートをモディファイしてUICollectionViewのデモを作ってみる。名前はCollectionViewDemoとする。 今回のデモではCollectionViewに画像を表示するため、まずはカスタムのCellクラスを定義しよう。UIColle
前回、UICollectionViewを構成するクラス群の役割と、その簡単な利用方法について見ていきました。今回は、前回に続いてカスタムレイアウトコンポーネントを作成したいと思います。 UICollectionViewLayoutのサブクラスを作成 カスタムレイアウトコンポーネントを作成する際には、UICollectionViewLayoutクラスを継承したレイアウトクラスを作成します。UICollectionViewLayoutのサブクラスでは、以下のメソッドをオーバーライドして実装する必要があります。 collectionViewContentSize UICollectionView内の要素を配置するコンテンツ部のサイズを返すメソッドです。UIScrollViewのcontentSizeプロパティと同じく、スクロール領域の範囲をコントロールします。 layoutAttributesF
さて、前の記事からずいぶん時間が経ってしまいましたが「piine!」の技術的こだわりに触れておこうと思います。 こだわりポイント 力学モデル 操作方法はタップだけ 非ネイティブアプリ Webフォント 技術的こだわりポイント Closure Library + Socket.IO Github pages + AmazonEC2 それぞれを順に見ていきましょう。 こだわりポイント 力学モデル デモを用意しました。 まずは存分に力学モデルをお楽しみください。 プロジェクターに表示される側のpiine!では、挨拶を聞いているユーザーが点として表示されます。 ユーザーが参加・退出するとき点が増えたり減ったりするわけですが、このとき点の配置を滑らかに遷移させるために力学モデルを使っています。円上の点はそれぞれの距離が近いほど強い斥力が働きます。この斥力によって、それぞれの点は円を均等に分割する点へと
Vague.jsはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 iOS 7が登場した直後に一気に注目を集め始めたのが背景をぼかす表現ではないでしょうか。類似のライブラリは幾つかあると思いますが、今回はVague.jsを紹介します。 一例。メインの画像以外はぼかしています。 画像を切り替えることもできます。アルバムに良さそうです。 こちらは中央以外がぼやけています。 こんな感じの表現も可能です。 Vague.jsでは擬似的ではなく、Webページの上に一枚重ねてぼかし表現を加えています。そのため若干重たい気がしますが、画像だけでなくテキストもぼかされるのでより正確な表現ができるようになっています。 iOS 7のレイヤーの重なり具合を表現するUIは新鮮ですが、自然なパララックスはとても難しいです。そこに大きな需要があるのではないかと
東京Node学園でライトニングトークをしてきました。下がその資料です。 マイナーAlt JS百花繚乱 from Esehara Shigeo まずは、スタッフの方々、LTをAcceptして頂き、ありがとうございました(ちなみにPythonではPycharmのコミュニティーエディションを使ってます)。 ちょっと酔っ払って書いてるので、少し「クサい」ところもありますが、お付き合いして頂ければと思います。 全体の感想 まず、自分の話をするまえに、礼儀として全体の感想から。 で、感想なのですが、個人的に一番面白かった発表はECMAScript6が、現状としてどのような仕様になっているかという話でした。実はひっそりと『ECMA-262 Edition5.1を読む』という本を買っていて、ECMAScriptってJavaScriptが元にしている仕様でしょー、くらいの浅はかな理解だったのですが、その浅は
4. @tricknotes I am a software developer who love JavaScript and Ruby. http://tricknotes.hateblo.jp/
これは人それぞれのコードの書き方に依存するので必ずしも筋悪というわけではない。むしろそういう風に書いてしまえる人もいるだろう、くらいの話。 何が言いたいかというと、自分の場合、ある程度は頭の中でまとめつつとりあえず手を動かして書いてみる→気に入らなかったり、後から「これではあかん」と思ったらインタフェース変える、みたいなことを繰り返しながら、要は同時にリファクタリングしながらコードを書いていくので、初めから厳密すぎるテストを書いてしまうと手戻りが多くなって非効率的なのである。 例えば、とあるJavaScriptのメソッドの返り値がこんな感じだったとしねえ。 { valid: true, foo: 10, bar: 0 } で、"valid"の部分はほぼ間違いなくこれで行くけど、"foo"と"bar"の部分は後から無くすかもしれない。あるいはkey名を変えるかもしれない。あるいは何か別のke
この翻訳は、 2023-07-05 以降に行われた 英語のオリジナル版の変更を反映できていません。 確認するには、 こちらの変更をご覧ください。 わたしたちのウェブページの翻訳の保守の情報については、翻訳 READMEをご覧ください。 自由ソフトウェアコミュニティでは、どんな不自由なプログラムもそのユーザを虐待する、という考えがよく知られています。わたしたちの中には、プロプライエタリなソフトウェアをまったく拒否することで自由を守る人もいます。多くの人は不自由はプログラムへの打撃だと認識します。 多くのユーザは、この問題がブラウザがインストールするようにと提供するプラグインにも関係すると知っています。プラグインには自由か不自由かの違いがありうるからです。しかし、ブラウザは、ほかの不自由なプログラムを実行します。そのプログラムについて、ブラウザは、あなたに尋ねることも告げることもないのです。そ
本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 本シリーズのスコープと対象読者 本シリーズはWebシステム・Webアプリケーションのテストの中でも「Webブラウザを操作して実施するテスト」をスコープにしています。開発工程としては、1モジュールとして単体テストに位置付けられる場合もあれば、複数のモジュールやシステムと連携して結合テストや総合テストに位置付けられる場合もあるでしょう。これらのテストのことを、本シリーズ
2.ローディングアイコン 読み込んでいる間に表示させるローディングアイコンを用意しましょう! 私はこちらのサイトでローディングアイコンを作成しました!細かい設定ができるジェネレーターです! 3.「次のページへのリンク」を取得する関数 「オートページャー」とは、分割されている「次のページ」を今みているページ内に継ぎ足して読み込んでくれるものです。なので、「読み込むべき『次のページ』とは何ページ目なのか」を指示してあげなければならないですよね。 ※オートページャーの場合は「前のページにもどる」ことは考慮していないので、「次のページへのリンク」だけでOKです。 例えば一番簡単な方法だと「現在のページ + 1」で次のページの値が取得できます。 以下はものすごくシンプルにした「次のページへのリンク」を取得する関数の例です。 <?php function nextpage(){ //現在のページを取得
先日AdobeからこのようなJavaScriptライブラリが公開されました Snap.svg http://plus.adobe-adc.jp/post-4817/ 以前から人気の高かった、IE6でもSVGを表示できるJavaScriptライブラリRaphaelの作者 Dmitry Baranovskiy氏による新たなライブラリで、Raphaelとの違いはSnap.svgではIEなら9以上対応とモダンブラウザを対象にしたこと。さらに自由度と表現力の高いことができるようになっているのが大きな特徴です。 こうしたJavaScriptライブラリがオープンソースで、そしてAdobeから公開されたのは大きなことでこれからSVGもどんどん普及していくのではないでしょうか。 まさに2013年こそついにSVG元年と言えるかもしれません*1。 ……とは言え、そもそもSVGってなに?という人もまだまだ少なくな
6. JSON Schema • JSONの構造をバリデーションするための仕様 • http://json-schema.org/ • http://json-schema.org/latest/json-schemacore.html 9. JSON Schema { integer “id”: 12345, “name”: “Hiraku NAKANO”, “tags”: [“PHP”,”JavaScript”] } id, name, tags という プロパティを持った オブジェクト { string string[] “type”:”object”, “properties”: { “id”: {“type”:”integer”}, “name”: {“type”:”string”}, “tags”: { “type”:”array”, “items”:{“type”:”stri
サイトを運営していると、サイト内のページの移動や削除、またはサイト自体の移転をすることがあります。その場合、リダイレクトという処理を用いて新たなページに転送を行いますが、正しい知識と手順を以って対応しなければ、検索順位の下降、ページランクやドメインエイジの喪失といったSEO的なペナルティを招いてしまいます。 そこで、そのようなペナルティを受けないために、ページ移動・サイト移転時の正しいリダイレクトの設定方法と、代表的なリダイレクトの種類やその実装方法をご紹介します。 リダイレクトの種類 リダイレクトには、HTMLやJavaScriptといったクライアントサイドプログラム、PHPやPerlといったサーバサイドプログラム、あるいは.htaccessの設定変更を行う等、様々な対応方法があります。そのうちのいくつかを、実際のサンプルソースとともに解説します。 metaタグによるリダイレクト hea
HTMLで画像とか動画とかのリソースをページが表示される前にプリロードするパターンあるじゃないですか、あれでちょっと思いついたのがあるんでメモしときます。 以前やったPOOL inc.のトップページ、例のごとく最初にビデオをある程度プリロードしてから再生してるんですが、本数が40本程あって全部の読み込みを待つのさすがにダルいよねってことで2, 3本読み込んだら再生をはじめて、残りのビデオは裏で読みってやってみたんですが、この読み込みの処理がなかなかヘビーでして、再生してるビデオがコマ落ちしてまともに再生されないんです。 どうしよう、どうしようということで読み込み処理をビデオの再生とは別のスレッドにしてみたんです。HTML5のAPI、Web Workerで。すると狙いどおりビデオがコマ落ちすることなくバックグラウンドで読み込みができるようになりました。40本同時に並列でダウンロードしても処理
普段気をつけてるよリスト "モバイルで、WebViewとブラウザのコンパチで、特にセオリー化されていないデザインモジュールのなか、装飾画像もふんだんに使うぞ系サービス開発" の文脈における、パフォーマンス確保のため気をつけてるよリスト。 よく、パフォーマンス「向上」とか「確保」とか申しますが、メンテナンスコストなどと天秤にかけて、「必要十分」のラインを狙うのが重要だと思う次第。 画像リソース 画像リソースを揃えるときのセオリ。圧縮率とか最適化とか細かいチューニングはあれど、大雑把に下記を守る。そしてImage Optim(or 相当の処理)。 JPEGはプログレッシブで画質60くらい(オレ目安) PNGは差し支えない範囲で色数をきちんと削る 50px未満のサムネイルは@2.0xなリソースにしない 案外、Androidあわせの@1.5xや@1.0xでも大丈夫なことすらある GIFアニメを入れ
An article on how to achieve Medium’s next page transition effect—an effect that can be seen by clicking anywhere on the “Read Next” footer at the bottom of the page. This effect is characterized by the lower article easing upward as the current article fades up and out. Medium, a blogging platform which has gained popularity over the past several months, has one of the smoothest, most polished us
http://lhorie.blogspot.ca/2013/09/things-that-suck-in-angularjs.html AngularJSの盛り上がりは何回か取り上げてきた(このポストの最後にリンクあります。)ので、今日は、改善すべき点を指摘しているブログとその議論を紹介します。 (New frameworks) are great at getting you to about 80% of what you need REALLY fast. The next 10% takes some investigation but its doable. But that last 10%,……You’re working for the framework rather than it working for you. というコメントがあるように、まだ苦労するところはある
Webページ作成時にリストやdivなど連続したブロック要素を並べた際に 中の要素量によって高さがまちまちになってしまった場合 個々の高さを揃えるのはCSSだけだと何かと面倒だったりします。 Webページ内に並べられたブロック要素の高さを揃えるjQueryプラグインは多々ありますが、 ここ最近新たに話題になった高さを揃えるプラグインもいくつかあったので 自分用メモとしてまとめて4つほど紹介してみます。 レスポンシブWebデザインに対応した「jquery.heightLine.js」 – to-R レスポンシブWebデザインに対応した「jquery.heightLine.js」 – to-R 言わずと知れた「to-R」さんの「jquery.heightLine.js」ですが 先日バージョンアップによってレスポンシブ対応され 今まで以上に便利なものになりました。 オプションでは ————————
PACE ? Automatic page load progress bars オシャレな読込エフェクトが詰まった「PACE」 Ajaxが生まれたばかりの時はGIFアニメーションが主流でしたが、読込エフェクトも進化してきました。 Googleが採用している、ページの最上部にプログレスバーを表示する方法をはじめとした多彩なエフェクトがこのライブラリに詰まっています デザインもフラットでカラーが自由に選べるのでフラットなサイトでより使いやすそうです 関連エントリ ボタンに直接ローディングボタンを付けられる「Ladda」 for Bootstrap 3 クールなローディングエフェクトのアイデア&サンプル集 ボタンに直接ローディングアニメーションを付けられる「Ladda」
example D3.js勉強会(地図入門)が無事終了しました。 前回は、ネタ不足で時間が余りましたが、今回はそんなこともなくそれなりに内容のある勉強会になったのではないかと。 逆に時間が足りず伝えきれなかった部分もあるとは思うのですが、目標であった「塗り分け地図(コロプレス図)の作成」まで出来たので良しとしようかなと。 勉強会で使用したスライドとコードを置いておきます。 D3で地図を描こう! 1 D3で地図を描こう! 2 サンプルコード (サンプルコードはローカル環境では動きません。サーバーにアップロードするか、同梱したserver.jsを使用してください) スライドの方は内容をまとめきれず、口頭で補足・説明した部分も多いので、これだけみてもよくわからないかもしれません。 まぁ、それでも多少参考になれば良いかなぁと。 ひとまず、やりたかったD3 geoに関する勉強会が開催できたので満足で
Facebookをはじめチャット系のソフトウェアで良くあるのですが、現在のタブでチャットしていると特に何も通知は出ないのに別タブを開いていると音を出したりタイトルを変化させたりする機能があります。 あれはどうやっているのかなと思っていたのですが、Ifvisible.jsを簡単に実現できそうです。ついでに(?)操作せずに放置した場合の感知も可能です。 使い方は簡単で、ifvisible.jsを読み込むだけで良いようです。 <script src="ifvisible.js"></script> デモ。何も操作をしないとタイマーがどんどん進んでいきます。 後は指定時間(デフォルトでは60秒)放置したタイミングでidleがコールされます。 ifvisible.idle(function(){ // 何か処理 }); アイドルになりました。 アイドル状態になった後マウスを動かしたり、キー入力を行う
[対象: 全員] Googleは、ウェブマスターツールで「セキュリティの問題」という新しい機能の提供を開始しました。 セキュリティの問題は、管理するサイトがハッキングされたりマルウェアに感染したりした場合に原因を特定し速やかに復旧するための作業に役たちます。 また、ハッキングされた際の対処方法について解説したポータルサイトを英語以外の言語でも公開しました。 ウェブマスターツールの「セキュリティの問題」はすでに実装済みです。 日本語での利用も可能です。 セキュリティの問題でできることは次の3つです。 1つの場所でセキュリティに関する問題を把握する 問題となっているコードを具体的に特定する そこから再審査リクエストを依頼する 1つの場所でセキュリティに関する問題を把握する ハッキングやマルウェア感染を検出したときに、見やすいように1つの場所で状況を表示します。 以前は「マルウェア」セクションで
僕は色々勉強しなきゃ行けないのは分かってるんだけど、勉強しなきゃなーとか言いながらズルズルとしてしまう人で、気づけばゲームばっかしてるような人間なんです。 もはや、WEB屋兼ゾンビキラーとか名乗った方がいいんじゃないかとこのまえ友人に冗談半分で言われましたが、そのくらいゲームは結構好きなんですね。(先月はCOD2のOriginsやりこんで、今はGTAVやってます…) そんな、学ぶの面倒だけどゲームは好きって人に、もしかしたらオススメできるかもしれない、CodeCombatというJavascriptを学ぶサイトを今日はご紹介させて頂ければと思います! 内容は至って簡単で、ゲームをすすめる為にはJavascriptでコードを書かなきゃならないって感じの物。それっぽいのはいくつかありましたが、ちょっととりあえずやってみましょう。 とりあえず、PLAY! どうやら僕はウィザードとしてプレイするよう
前提 会社(Quipper)で今からこういう風にしたい、と宣言した社内ドキュメントを公開する。 枯れてるわけではない。 coffeescript Backbone Backbone.stickit (データバインディング) Chapling.js(は、オマケなのでどうでもいいがサンプルコードはこう) backbone.stickitは安心と信頼のNYT製。(実質Backbone作ってるDocumentCloudと一緒のところ?) backbone.stickit 目的 データバインディングを全面的に使って再描画を最小限にし、コードの見通しをよくしたい。 モデルの役割を明示的にし、MVVMを導入する。 理想的なAPI 擬似コード # ビューモデルの定義 class TopicViewModel extends Model defaults: title: '' # たぶんここでパラメータ名(
[Video] http://2013.realtimeconf.com/video/ [Slide] https://speakerdeck.com/feross/webrtc-data-black-magic しかし、23歳にして既にこのレジュメにあるようなアウトプットを連発しているFeross Aboukhadijehはすごいですね。その彼が、Realtime Conf. 2013で、WebRTCの現状と自らの新しいプロジェクトについて語っています。 1) 概要 Video/音声/データをブラウザ間のpeer-to-peerで直接やりとりできる プラグインのインストールは不要 WebSocketスタイルのシンプルなAPI 2) 利用事例 リアルタイムチャット、ファイルシェア、遅延のないマルチプレーヤー対戦型ゲーム、分散DB、ダークweb?(p-to-pコミュニティ)、CDN Mozi
@Constellation ES6で変わるNode.jsプログラミング 2013/10/26 15:34 On nodefest2013a チャンネル登録 登録中 登録を解除 6 人登録中 番組の報告 この番組を通報する理由を選んでください。ご報告いただいた内容は48時間以内に確認させていただきます。 お客様が著作権者、またはその代理人としての権限を与えられているか、著作権に基づく独占権により行動する権限を与えられている場合は、著作権ポリシーから申告をご提出ください。
Wenn der größte Teil der Logik in JavaScript stattfindet, dann findet auch der größere Teil der Sicherheitsrisiken dort seine Heimat. Und Angreifer finden mit JavaScript eine interessante neue Umwelt, denn die Sprache selbst und auch ihre Heimat in Browser und Node.js bringen viele neue Probleme. Und genau da setzt der Vortrag an: die verblüffenden Unterschiede von JavaScript zu anderen Sprachen,
Promiseってなんとなくモナドっぽいなと思って、ジェネレータ使ってHaskellのdoを再現できないかなあというのがはじまり。結論からいうと、できない。 そもそもPromiseがモナドであるかを考える。 return :: Monad m => a -> m a 値を受け取ってfulfilledされたPromiseを返すものだ Promise.fulfill / Promise.resolveがこれにあたる。 Promise.mreturn = Promise.fulfill || Promise.resolve; >>= :: Monad m => m a -> (a -> m b) -> m b bindとも呼ばれたりする。この関数に、値を受け取ってモナドを返す関数を渡すと、その値が結果になる。 Promise.prototype.mbind = Promise.prototype
はじめに 先日、DevOps 向け Fluentd 勉強会 at IPROS で聞いた話の中で Ouptput プラグインのバッファの関して下記の点について気になったので調べたくてウズウズ。 Output プラグインのメモリバッファとファイルバッファの性能はほとんど差異は無い デフォルトはメモリバッファだがファイルバッファがオススメ また、fluent-logger を使ってサーバーの負荷が激しく上がってしまった件について質問させて頂いたがよくよく考えるとこのバッファについて全く考慮しないままの利用だったので、この件でも解決への糸口になるのではということでメモリバッファとファイルバッファで何が違うのかを調べてみた。 構成 検証環境 以下のような検証環境を用意した。 役割 バッファタイプ / Output / アプリケーション OS td-agent バージョン スペック 備考 Forwar
Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en
Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く