タグ

ブックマーク / blog.katty.in (10)

  • tmuxで画面分割したり一斉にキー入力を送信したりする

    複数のサーバに同じコマンドを送れたりしてとても便利なtmuxのインストール では、tmuxで複数サーバに一気に接続して一気にコマンドを投げられるのが便利だと書きました。それを早速やってみます。 起動する ターミナル開いてtmuxと叩くと起動します。 tmux 下の緑色のバーがポイントですね。 画面を分割する。 コマンドは基的に、Ctrlとbの同時押しから始めます。 画面を縦に分割するには次のコマンドを打ちます。 Ctrl+b " 画面を横に分割するには、次のコマンドです。 Ctrl+b % 分割された画面はペインと呼ばれます。ペインを移動するには、次のコマンドを打ちます。 Ctrl+b o 全部の画面に同じコマンドを送る それぞれの画面で別々のサーバにSSH接続するなどした後に、次のコマンドを打つと入力が全ての画面に送られます。 Ctrl+b :set-window-option syn

    tmuxで画面分割したり一斉にキー入力を送信したりする
  • ついにiOSでも使えるようになったApp Indexingとは何か?

    先日、GoogleのApp IndexingがiOSでも利用できるようになったというアナウンスがありました。 Surfacing content from iOS apps in Google Search いろいろと技術検証をしていたら1ヶ月近く経ってしまったのですが、キャッチアップした内容をブログにしていきたいと思います。 App Indexingは、Googleの検索ページからアプリ起動をシームレスにつなぐディープリンクの仕様です。 App Indexing | Google Developers FacebookやTwitterGoogleなどのプラットフォームが、独自にディープリンクの仕様を提供していますが、App Indexingは、そのうちのGoogleが提供する仕様です。 そもそもディープリンクとは何か? シロクでも先週、Growth Linkというディープリンクツールを

    ついにiOSでも使えるようになったApp Indexingとは何か?
    gologo13
    gologo13 2015/08/24
  • PayPalを置き換える新しいWEB決済StripeとWebPay

    最近モバイルの決済プラットフォームが熱く、王者Squareの日進出で更に盛り上がりを見せていますが、モバイル決済ではなくWEBのクレジットカード決済について。 クレジット決済を簡単にしたPayPal オンラインでサービスを提供し、クレジットカードで決済をおこなう場合などは、直接クレジットカード会社や銀行と契約するのではなく決済会社を通すのがほとんどだと思います、 決済会社を通すと、申し込みや契約に時間がかかり、初期費用や月額固定費もかかり、導入にはなかなか高い障壁があります。その問題をPayPalが解決しました。 PayPal PayPalについてはもはや言うまでもないですが、PayPalは初期費・固定費は基的に無料で、取引ごとに3〜4%程度の手数料がかかるだけです。面倒な手続きも少なく、オンラインでアカウントが開設できて、かなり簡単に決済をおこなうことができます。 決済をもっとシンプ

    PayPalを置き換える新しいWEB決済StripeとWebPay
  • Branch Metricsで、アプリ外とアプリ内のコンテンツをURLで繋ぐ

    Webサービスに対するスマホアプリの運用上の大きな違いは、コンテンツがURLで識別されていないことです。 スマホアプリのコンテンツがURLで識別されていないことは、運用を複雑にしています。 スマホアプリのリンクの問題 たとえば2つの問題があります。ひとつは、Webのアクセス解析です。 Webのアクセス解析をするには、ユーザーがどのコンテンツアクセスしているかを識別する必要があります。WebサービスのコンテンツはURLで識別されているので、開発者が自ら識別する処理を必要はありません。 しかし、スマホアプリのコンテンツ、つまりアプリ内の画面には、URLが割り当てられていないので、アクセス解析をするために、画面ごとにトラッキングコードを設定する必要があります。そういうわけで、WebサービスだとJavaScriptのタグを1行書くだけで済む解析ツール導入も、アプリだと大きな手間がかかります。 これ

    Branch Metricsで、アプリ外とアプリ内のコンテンツをURLで繋ぐ
  • 広告業界と無関係な僕がさっぱり理解できないアドテク用語を調べた。

    厳密には無関係ということはないのですが、僕は直接的に広告に関連のある事業をやっているわけではありません。しかし、最近アドテクの世界が面白くて、基的なことから勉強しています。 インターネット広告はテクノロジーのかたまり インターネットはテクノロジーの世界です。そして、この世界でとても大きなお金を生んでいるのが広告です。 今をときめくGoogleもFacebookも広告で収益を上げている企業です。日でも同様にインターネット広告の市場規模はとても巨大で、1兆円程度とのことです。 必然的に、広告という世界には、インターネットの業界のテクノロジーが結集します。だから、技術的にも、とてもおもしろいです。 広告はどこからやってくるのか? 広告とは、これのことですよね。 そもそもは、これがどうして表示されるのか、というを調べていました。調べてみると、裏側にはとんでもない世界が広がっていました。 純広告

    広告業界と無関係な僕がさっぱり理解できないアドテク用語を調べた。
    gologo13
    gologo13 2014/11/24
    わかりやすい
  • pub/subでプロセス同士におしゃべりさせる。

    pub/subでおしゃべり pub/subを使えば、あまり難しいことを考えなくても、Node.jsのプロセス間で通知を送り合うことができます。 そういうわけで、Node.jsのプロセスを4つ立てて、pub/subでチャットみたいなことをさせてみました。 各プロセスはpublisherでありsubscriberである。 var subscriber = require('redis').createClient(6379, 'localhost'); var publisher = require('redis').createClient(6379, 'localhost'); var userId = Math.floor(Math.random() * 10000); 各プロセスは、発言する際はpublisherであり、それ以外の場合はsubscriberになります。そういうわけで、R

    gologo13
    gologo13 2014/11/24
    redisのpub/sub使い方
  • iOSとAndroidのプッシュ通知の開発の違いまとめ

    少し言い訳しておくと、ちゃんと確認せずに書いているので間違いがあるかもしれません。Wikipediaだったら[要出典]ってたくさん付けられてしまいそうです。 大きな違いをいくつか紹介していきます。 Androidは受信処理を各自実装する必要がある。 iOSとAndroidプッシュ通知の設計の大きな違いは、iOSはOSの仕組みに乗らなければいけないのに対して、Androidは自由度が高く各自の実装にゆだねられているという点です。 iOSのAPNSは送信するデータの形式もしっかり決まっていて、その形式にしたがって送信すれば、あとはOSが定めた方法で表示されるだけです。一方のAndroid送信データは完全に自由で、それを受信した際にアプリがどんな動作をするかも、制限されていません。 逆にいえばAndroidは受信時の表示などの処理をすべて独自で実装する必要があり、クライアントの実装の手間は数倍

    iOSとAndroidのプッシュ通知の開発の違いまとめ
  • Objective-Cで非同期処理を同期処理にする方法。

    同期処理は簡単に非同期処理にできますが、非同期処理は簡単には同期処理にできません。 Objective-Cで、非同期処理を同期的に実行するにはどうしたら良いのかと調べたところ、ディスパッチセマフォを使うのが良いようでした。 セマフォとは信号装置とかいう意味らしいですが、「カウンタ」だと思って良いんじゃないかと思っています。 同期処理の例 まずは通常の同期処理から。 for (int i = 0; i < 5; i++) { sleep(1); NSLog(@"Process: %d", i); } これは、1秒ごとにカウントを表示する処理です。これは当然同期処理です。実行を始めると5秒間はこの先に処理が進めません。 同期処理を非同期処理にする 同期処理を非同期処理にするには、dispatch_asycを用いて、バックグラウンドのスレッドのキューに処理を追加すれば良いです。 dispatch

    Objective-Cで非同期処理を同期処理にする方法。
  • Objective-CのBlocksの循環参照とその解決策

    半年までは、Objective-Cでコールバックの処理は、delegateを使って実装していました。しかし、delegateによるコールバックは処理の繋がりが分かりにくいというデメリットがあります。 これは皆さん感じるところだと思いますが、実際に最近のObjective-C開発は、Blocksを使って記述するのがトレンドだと思います。 ただ、メモリ管理に関して少し注意しなければならない点があるので、検証結果も合わせて記していきたいと思います。(少し長くなるので2回にわけて書きたいと思います。) Blocksで処理を行う これは簡単なサンプルです。BlocksRunnerクラスは、Blocksで渡された処理を保持し、runメソッドが呼ばれた時にその処理を実行します。 int main(int argc, const char * argv[]) { @autoreleasepool { Bl

    Objective-CのBlocksの循環参照とその解決策
  • WEB APIのURL設計のトレンドはこれだ!WEB APIのURL設計まとめ

    APIのURL設計をしようと思い、その前に有名サービスのAPIのURL設計がどうなっているのかについて調べました。 一覧を載せた後に、「多数派なURL設計」を書きたいと思います。

    WEB APIのURL設計のトレンドはこれだ!WEB APIのURL設計まとめ
  • 1