タグ

ブックマーク / dev.classmethod.jp (83)

  • AWSの構成図を公式のアーキテクチャ図っぽくかける「Cloudcraft」を触ってみた | DevelopersIO

    急に寒くなってきてmk5(マジで風邪引く5秒前)な森永です。 なんだかテンションの上がるツールが有りましたのでご紹介します。 公式リファレンスアーキテクチャ AWSでよくある構成を公式のリファレンスアーキテクチャとして公開されています。 AWS アーキテクチャーセンター | アマゾン ウェブ サービス(AWS語) 今回注目したいのはアーキテクチャの内容ではなく、このカッコイイ図のほうです! めっちゃかっこいいですよね!これをずっと書きたかった!! Cloudcraft あの構成図を簡単に作成できるツールが弊社チャットで話題になったのですぐに使ってみました! Cloudcraft – Draw AWS diagrams 無料で使えるようなので、なにはともあれSign upしましょう。 Googleアカウントを使うことが出来ますので、そちらを使うと一瞬で完了します。 おお!なんかもうすご

    AWSの構成図を公式のアーキテクチャ図っぽくかける「Cloudcraft」を触ってみた | DevelopersIO
  • iBeaconが発表されてもうすぐ1年。世の中どうなったのか!? | DevelopersIO

    こんにちは!おおはしりきたけです。iOS 7が発表されもうすぐ1年経ちます。iOS 7の発表の中でも注目の機能としてiBeaconがありました。発表直後にかなり騒がれたiBeaconですが、1年経って、どのような状況なのかを調べてみました。 iBeaconとは? iBeaconを知らない方のために、一応こちらの資料を見ていただければと思います。 国内事例 国内でも様々な事例が出てきています。発表直後は、デモ的なものが多かったですが、1年経過すると実証実験を含め、国内の事例もたくさん出ています。種類別に紹介してみたいと思います。 情報提供系 iBeaconでイメージするサービスとして一番多いのが、情報提供とクーポン系のサービスではないでしょうか、特に情報提供はセキュリティ的にも考慮することが少ないため、iBeaconのサービスとして分かりやすく、一番導入しやすいものではないかと思います。 八

    iBeaconが発表されてもうすぐ1年。世の中どうなったのか!? | DevelopersIO
  • [iOS8] iOS8でiBeacon実装の落とし穴 | DevelopersIO

    お久しぶりです。大村です。 弊社のブログに対して、意外と最近検索件数で多いキーワードが「iBeacon」だったりします。 iPhone6にはNFCチップが搭載され、もしやiBeaconを捨てたのか?とさえ思えた昨今、iPhone6に搭載されているNFCはApple Pay専用であることが判明し、まだまだBeaconの出番はアリそうだと安堵しました。 弊社でもこれまでこの記事にあるようにiBeaconの勉強会を開いたり、業務でiBeaconを使うプロダクトを提案したりなど行ってきましたが、iOS8になったことで、今までの実装通りではうまくいかない事がありました。 そんなtips的な記事になります。 基的には、前回iOS7の時に初出した「[iOS 7] 新たな領域観測サービス iBeacon を使ってみる」での実装でいいのですが、困ったことにiOS8ではこの実装でうまく動かせられません。 そ

    [iOS8] iOS8でiBeacon実装の落とし穴 | DevelopersIO
  • Let’s EncryptでValidなSSL/TLS証明書を取得する | DevelopersIO

    ども、大瀧です。 無償で利用できるSSL証明書発行サービスであるLet's Encryptがクローズドベータになりました。早速ベータ申請が通ったので、証明書を発行してみた様子をレポートします。 動作確認環境 端末 : OS X El Capitan Webサーバー : Debian Wheezy 手順 現在はクローズドベータなので、事前にベータにエントリーしていたメールアドレスに招待メールが届くことで利用可能になります。手順自体は以下のページでアナウンスされているものです。 Beta Program Announcements - Let's Encrypt Community Support まずはローカルにユーティリティをインストール&実行します。OSXの場合は自動でHomebrewを検出し依存ソフトウェアがインストールされます。環境を汚したくないという方はDockerを利用するのも良

    Let’s EncryptでValidなSSL/TLS証明書を取得する | DevelopersIO
  • [iOS 9] App Transport Security の挙動を調べる | DevelopersIO

    はじめに iOS 9でApp Transport Security(以降、ATS)というセキュリティ機能が実装されました。 概要については[iOS 9] iOS 9 で追加された App Transport Security の概要をご覧ください。 ざっくり言うと、 httpでは通信できない httpsでもATSのセキュリティ要件を満たしていないとエラーになる ということなので今回はiOS SDKでhttp(s)通信を行う各コンポーネントについて実際の挙動はどうなのか調べてみました。 NSURLConnection NSURLSession UIWebView WKWebView SFSafariViewController 接続先 接続先については下記パターンとし、それぞれについて上記コンポーネントを試します。 https://dev.classmethod.jp/→httpのページ h

    [iOS 9] App Transport Security の挙動を調べる | DevelopersIO
  • [iOS 9] iOS 9 で追加された App Transport Security の概要 | DevelopersIO

    はじめに iOS 9 で追加された「App Transport Security」について調べてみましたのでご紹介します。 目次 App Transport Security とは App Transport Security の基動作 Info.plist に例外を設定 Info.plist の設定例 SSL/TLS 暗号スイート ログ出力について まとめ App Transport Security とは App Transport Security (以降、ATS と呼びます) は iOS 9.0 または OS X 10.11 以上で有効な機能であり、アプリとウェブサービスとの間のセキュアな接続のために利用できます。 ATS が有効の場合、HTTP での通信はできません。また、Apple が推奨する必要条件を満たさない接続は強制的に接続失敗扱いになります。例えば、Apple 推奨の

    [iOS 9] iOS 9 で追加された App Transport Security の概要 | DevelopersIO
  • Amazon LinuxでDRBDとHeartbeatとMySQLを連動させてフェイルオーバー | DevelopersIO

    MySQLをフェイルオーバーさせたい フェイルオーバーとは、マスターサーバーに障害が発生した際に、スレーブサーバーが処理やデータを引き継いでサービス全体を止めない機能のことを言います。データベースをフェイルオーバーするためにはデータを引き継ぐことが重要です。この点、前回試したDRBDによる同期レプリケーションの仕組みが生きてきます。今回は、Amazon Linuxをベースに、セットアップ済みのDRBDとHeartbeatを用いて、MySQLをフェイルオーバーさせてみたいと思います。 下準備 マスターとスレーブにMySQLを入れておいて下さい。 $ sudo yum install mysql mysql-devel mysql-server 環境の確認 マスターとスレーブでDRBDとHeartbeatがセットアップ済みかつ起動済みか確認をします。 マスター $ sudo service d

  • 快適 Markdown ライフを送ろう!Mac で使える Markdown 支援ツール6選 | DevelopersIO

    Markdown 形式のドキュメントを快適に書こう ちょっとしたメモから Wiki のような文書まで、幅広く利用されている Markdown。私も簡単なメモなどや外部メディア記事の原稿の執筆などに利用しています。 適当なテキストエディタで適当に書くだけでも良いのですが、MacMarkdown 形式のドキュメントを書く上で便利そうなツール (プラグイン) がいくつかあったので、個人的なまとめを公開したいと思います。 Sublime Text 3 + 各種プラグイン Markdown 形式のドキュメントの作成には、主に Sublime Text 3 を使っています。Sublime Text は言わずと知れた有名テキストエディタで、今やテキストエディタの代表格にまで上り詰めました。バージョン2で一躍有名となり、現在はバージョン3が主流になっています。 Package Control のイン

    快適 Markdown ライフを送ろう!Mac で使える Markdown 支援ツール6選 | DevelopersIO
  • Gitを使った分散開発管理8 – ブランチのマージ | DevelopersIO

    ランチのマージと競合 前回ブランチやタグの基をご紹介しました。今回はブランチ間のマージと競合時の対処を試してみます。 そもそもブランチを使用するということは、それぞれ別の変更を行いますし、その変更を共有するケースもあります。 ブランチ間のマージ方法はいくつかあり、今回は通常のマージとブランチの複数コミットを1つのコミットに圧縮する方法をご紹介します。 また、ブランチをマージするということは、同じファイルの同じ箇所を同時に変更してしまう可能性があるということです。 そこで、各ブランチで同じ箇所を変更した場合の対処方法についてもご紹介します。 マージを行ってみる 1.直接マージ まずは、いちばん単純なマージ方法です。ブランチの履歴全体をマージ先のブランチへ取り込みます。 マージの確認のため、ブランチを1つ作成してそこへ2つコミットを行いましょう。 $ git checkout -b mer

  • 安全なMergeを行う開発フロー | DevelopersIO

    渡辺です。 スノーボードでのスピン(回転)では、フロントサイド(前回り)は視界に向けて回るので比較的に簡単です。 ところが、バックサイド(背中周り)は非常に難しいと感じます。 これは見えない方向への回転なので見えないためであり、恐怖心が原因です。 解らないのは怖いことです。 解ってしまえば意外と簡単だったりします。 「幽霊の正体見たり枯れ尾花」とは良く言ったものですね。 Git(バージョン管理)のMergeも同様です。 Mergeの正体を理解し、恐怖心をなくしましょう。 最後の最後は気合いで手動Merge はじめにお断りしますが、Mergeを理解したとしても、手動でMergeする作業がなくなるわけではありません。 そして、手動でMergeするときは、最終的に気合いでMergeする以外の方法はありません(笑) しかし、Mergeを理解しConflict(競合)が発生しにくい運用を行うことで、

    安全なMergeを行う開発フロー | DevelopersIO
  • [Swift] JSONを簡単に扱う為のライブラリ SwiftyJSONのサンプル | DevelopersIO

    SwiftでJSONを扱う 今回は楽天ブックス書籍検索APIの取得結果を例として利用します。 JSONの内容は下記の通りです。 { "count": 22, "page": 1, "first": 1, "last": 22, "hits": 22, "carrier": 0, "pageCount": 1, "Items": [ { "Item": { "title": "ニセコイ 15", "titleKana": "ニセコイ", "subTitle": "", "subTitleKana": "", "seriesName": "ジャンプコミックス", "seriesNameKana": "ジヤンプ コミツクス", "contents": "", "author": "古味直志", "authorKana": "コミナオシ", "publisherName": "集英社", "siz

    [Swift] JSONを簡単に扱う為のライブラリ SwiftyJSONのサンプル | DevelopersIO
  • iOSアプリを実機で動作確認しよう-プロビジョニングファイルの作成手順- | DevelopersIO

    こんにちは、ひめのです。 今回から、iOSアプリ開発についての記事を書いていきます。 まずは実機で動作確認を行う手順です。 書籍やWEBサイトなどいろいろと情報はあるのですが、 手順だけでなぜ必要なのかや、証明書や認証についての話など 自分が理解するまでに時間がかかってしまったのでまとめました。 なぜ実機での動作確認を行うのにこんなにも手間がかかるかということを簡単に説明すると 誰が作ったものかわからないアプリケーションを実機に入れるということはいろいろな意味でリスクが高いので、 デジタル署名のされたアプリケーションを入れることで最低限の保証をしよう。 という感じでしょうか。 0.流れ 1. iOS Developer Programへの登録 2. 証明書署名要求ファイルの作成 3. 証明書の取得と登録 4. デバイスの登録 5. プロビジョニングファイルの作成と登録 6. 実機での動作確

  • 文字列を省略して「…」を付与する方法 – CSS/jQuery | DevelopersIO

    通常、設計・デザインの段階であらかじめ表示する文字数の上限を決めておき、PHPRubyJavaなどサーバサイドで表示する文字列を加工することが多いかと思います。 しかし、この方法だと動的に変化する領域を基準に表示する文字数を制限する場合や、文字サイズや表示領域のサイズに合わせて上限を算出する場合に限界があります。 そこで、クライアントサイドで表示領域から文字列がはみ出す場合、文字列を省略して省略記号「…」をつける方法を紹介してみたいと思います。 実現方法として以下の2つの方法があります。 text-overflowプロパティを使う jQueryで表示領域の幅・高さに合わせて文字列を加工する text-overflowプロパティを使う text-overflowプロパティを用いると、文字列が表示領域からはみ出してしまった場合、はみ出した文字列を省略記号「…」で省略することができます。 尚

    文字列を省略して「…」を付与する方法 – CSS/jQuery | DevelopersIO
    typista
    typista 2015/09/14
    文字列を省略して「…」を付与する方法 – CSS/jQuery | Developers.IO
  • [iOS 8] UITableViewRowActionでセル編集機能をカスタマイズする | DevelopersIO

    UITableViewCellの編集機能カスタマイズ UITableViewCellをスワイプした際に編集する機能は、標準で提供されていましたが、その機能の詳細なカスタマイズに関しては、標準には提供されておらず、OSSを用いれば実現することが可能でした。 今回iOS 8で新しく標準のAPIとして編集機能カスタマイズのためのUITableViewRowActionクラスと、UITableViewDelegateに設定の為のtableView:editActionsForRowAtIndexPath:メソッドが追加されました。 サンプルコード サンプルプロジェクト全体はこちらの方に上がっています。今回はその一部の実装を見ていくことにします。 import UIKit class MYViewController: UIViewController { @IBOutlet weak var ta

    [iOS 8] UITableViewRowActionでセル編集機能をカスタマイズする | DevelopersIO
  • [iOS]Wi-FiのHotspotの自動にゅるにゅるを打ち消す | DevelopersIO

    公衆無線LAN使ってますか? 最近、といわず随分前からスマートフォンユーザーにお世話になっているのが、公衆無線LANスポット。 携帯の電波の弱い地下や駅構内、ファーストフード店やはたまた路上で利用でき、近年流行りの3GByte/7GByteパケット通信制限の規制外で高速に通信できるなど、4G/3Gのバックアップ目的での使い方も流行っており、各キャリアがそれぞれHotspotを提供しています。 また、ワイヤレスゲートやモバイルBBポイントといった公衆無線LANを提供している会社もあり、一定以上のシェアが有ります。 iPhoneなどのiOSからこれらへ接続する際、まずはHotspotに接続して、そこでIDとパスワードを入力、その後認証が済んだら晴れてインターネットが接続可能になるといった動作をします。 ただし、各携帯キャリアがそれぞれオプションで持っているWiFiであれば、その契約SIMが入っ

    [iOS]Wi-FiのHotspotの自動にゅるにゅるを打ち消す | DevelopersIO
  • HTML5で使えるスマートフォンの機能 | DevelopersIO

    HTML5を使ったスマホアプリ開発に興味があったので、カメラやGPSなどスマートフォンの機能がどこまで使えるのか試してみました。 Webアプリケーションなのでブラウザに依存しますが、以下のサイトにモバイルブラウザ別対応状況が書かれています。 http://mobilehtml5.org 試したのは以下の機能です。端末はGalaxy NexusとiPod Touch 4世代を使いました。 Androidのバージョンは4.0.4でブラウザはChromeと一部Firefoxです。iOSは5.0.1、Safariで試しました。 スマートフォンで確認できるようにサンプルを作ったので試してみて下さい。 タッチイベント(Touch Events) マルチメディア(Multimedia) 位置情報の取得(Geolocation API) 加速度センサー(Motion Sensors) ファイルアクセス(F

    HTML5で使えるスマートフォンの機能 | DevelopersIO
  • [iOS 7] [MultiTasking] バックグラウンドで定期的にフェッチ処理を実行する | DevelopersIO

    iOS7からバックグラウンドで定期的にフェッチ処理を実行することができるそうです。 この機能を利用すれば、ネットワークから定期的にコンテンツを取得する必要のあるアプリでは、バックグラウンドで新しいコンテンツがあるかどうかチェックしてダウンロードしたりできるようです。 バックグラウンドで定期的にフェッチ処理を実行するために必要な手順は以下の通りです。 プロジェクト設定でBackground fetchを有効にする 最小のフェッチ間隔を設定する application:performFetchWithCompletionHandler:メソッドを実装する 1.プロジェクト設定でBackground fetchを有効にする バックグラウンドでのフェッチ処理を使用するには、まずプロジェクトにその旨を設定する必要があります。この設定はXcode上から簡単に変更できます。 Xcodeを開いたら、プロジ

    [iOS 7] [MultiTasking] バックグラウンドで定期的にフェッチ処理を実行する | DevelopersIO
  • [iOS][Swift] MBCircularProgressBar で円形のプログレスバーを実現! | DevelopersIO

    上記の「バーが表示されていない部分」とは、たとえば percent が 40.0(%) の場合、残りの 60.0(%) 部分の事を表しています。 ひとまず、どんなグラフが実現できるのかを試すため、各プロパティに数値を入れてみましょう。 例えば、こんな数値を入力すると、こんなグラフが表示されました!いい感じです! もちろん、これらのプロパティの値はコードから直接変更することができます。 コードとStoryboardを接続 ViewController.swift に移りましょう。 import MBCircularProgressBar MBCirucularProgressBar をインポートします。 次に、Storyboard 上の Circular Progress Bar View を コード上に IBOutlet での接続しましょう。 プロパティをいろいろ変更 画面上からパーセント

    [iOS][Swift] MBCircularProgressBar で円形のプログレスバーを実現! | DevelopersIO
  • [Swift] AVSpeechSynthesizerで読み上げ機能を使ってみる | DevelopersIO

    はじめに AVSpeechSynthesizerはiOS7で追加された音声読み上げライブラリです。 今更な感じもしますが、個人的に気になっていたので試してみます。 テキストに入力した文字をボタンを押したタイミングで読み上げる、シンプルすぎるサンプルを作ってみたいと思います。 実装 画面構成 プロジェクトはSingleViewApplicationで作成します。 そして、storyboardは下図のように配置しました。 ViewController.swiftUITextViewのアウトレットとボタンのアクションを設定します。 ソースコード import UIKit import AVFoundation class ViewController: UIViewController { /** 話す内容を入力するテキストフィールド */ @IBOutlet weak var speec

    [Swift] AVSpeechSynthesizerで読み上げ機能を使ってみる | DevelopersIO
  • [小ネタ]NavigationBarとStatusBarを同時に表示/非表示する時の落とし穴 | DevelopersIO

    UINavigationController上でのフルスクリーンモード UINavigationControllerで上部にナビゲーションバーを出している状態で、かつStatusBarが表示されている状態があったとします。 ここでSwitchボタンを押して上部バーとStatusBarを出したり引っ込めたりすることを考えます。 ひとまず Info.plistのView controller-based status bar appearanceをNOにして switchボタンのハンドラに次のように適当に書きます。 - (IBAction)switchButtonDidTouchUpInside:(id)sender { if (self.fullscreen) { [self.navigationController setNavigationBarHidden:NO animated:YE

    [小ネタ]NavigationBarとStatusBarを同時に表示/非表示する時の落とし穴 | DevelopersIO