タグ

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

  • fish shell を使いたい人生だった | DevelopersIO

    2019年4月15日: fisher version 3.2.8にアップデートしました。これに伴い、もともと記事内で記載していた fisher install コマンドを 、fisher add に変更しました ずっとbashを使っていました。zsh、興味はありましたが、プラグインのための設定を書くのがなんとなく大変そうだという理由で、敬遠していました。そこに fish shell (以下 fish) が手を差し伸べてくれたのです。結論から書くと、bash と同程度の設定ファイルの記述量で、ディレクトリ間の移動やコマンド履歴の呼び出しといった利便性は飛躍的に向上しました。そして見た目が良い。入れて損はありません。 想定読者 Mac で bash を使っている方。 バージョン情報 ソフトウェア バージョン どこまでやるか このたぐいの作業、はじめるとキリがありません。調べるうちにさらに便利な

    fish shell を使いたい人生だった | DevelopersIO
  • GitHubの docker/docker は moby/moby になりました。 | DevelopersIO

    ども、大瀧です。 昨日から開催されているDockercon 17では、Docker関連の多くの発表がありました。 その中のひとつにMobyプロジェクトがあり、プロジェクト発足に合わせてGitHubdocker/dockerリポジトリがmoby/mobyリポジトリに移動しました。今後Docker CE(Community Edition)のソースやIssueなどを見るときは、こちらのリポジトリにアクセスしましょう。 このブログでお伝えしたいことは以上なのですが、「Mobyってなんだよ?!Dockerが名称変更したの?」と言われそうなので、ちょっとだけ解説します。経緯についての一次情報は、以下をご覧ください。 Transitioning to Moby by shykes · Pull Request #32691 · moby/moby ほどなくちゃんとした説明がDocker社のブログなど

    GitHubの docker/docker は moby/moby になりました。 | DevelopersIO
  • [Swift API Design Guidelines] 用途が明確になるよう心がけた命名 | DevelopersIO

    はじめに こんぬづは、先日知人宅でべたチーズが美味しすぎて時間が経っても忘れられず、業務中もチーズのことばかり考えてしまっている田中です。リコッタとブッラータ...。 最近自分の考えるSwiftのclassやstruct、関数などの命名に疑問を感じています。その疑問を解消すべく、Swift.orgのAPI Design Guidelinesを読むことにしました。そしてせっかくなので読んだ内容をブログ化してみました。 今回はその中のPromote Clear Usageより。 この記事の内容はAPI Design Guidelinesから一部抜粋して筆者の解釈で和訳・意訳したものになります。理解の補助として、適切だと思われる箇所には実際に筆者が書いているコードを載せています。参考になれば幸いです。 用途が明確になるよう心がけた命名 曖昧さを避けるために必要な単語は全て含める 例えば、あるコ

    [Swift API Design Guidelines] 用途が明確になるよう心がけた命名 | DevelopersIO
    Watson
    Watson 2017/04/03
  • 教えるという技術 | DevelopersIO

    渡辺です。 自分は「教える」ことにやり甲斐を感じます。 大学時代を思い返すと、家庭教師やサポートセンターのバイトをやってました。 ボードゲームをする時は、ルール説明などを行っていました。 ゲームのインストの一環としてインストカードやサマリを作ることもあり、プレゼン資料作りも得意になりました。 IT業界に入ってからは、勉強会の講師や資料作成・ハンズオンのチューターなどを行うようになりました。 技術書の執筆やIT系専門学校講師も経験しています。 最近では趣味のスノーボードで、インストラクターの資格をとり、スノーボードスクールで教えています。 「教える」ことが好きなんでしょう。 これまで、様々な分野で技術を教えてきました。 畑はまったく違ったとしても、解りやすく「教える」ための技術は大きく変わりません。 今回はそんな「教える」技術をまとめてみました。 なお、エントリーの対象は、その分野に初めて

    教えるという技術 | DevelopersIO
  • [Swift 3.1] extensionでジェネリックパラメーターと具象型が等しい制約が書けるようになりました | DevelopersIO

    特定の型を要素に持つArrayにプロパティやメソッドを追加したい 「特定の型を要素に持つArrayにプロパティやメソッドを追加したい」というケースがあると思います。 例えば、要素がInt型のArrayに対して合計値を取得するtotalというプロパティを追加するケースを考えます。 Swift 3.1では以下のようにジェネリックパラメーターと具象型が等しいという制約が書けるようになりました! extension Array where Element == Int { var total: Element { return reduce(0, +) } } let intArray = [1, 2, 3, 4, 5] print(intArray.total) // 15 Swift 3.1以前 これまではextension Array where Element == Int {}のように書

    [Swift 3.1] extensionでジェネリックパラメーターと具象型が等しい制約が書けるようになりました | DevelopersIO
    Watson
    Watson 2017/03/30
  • [Xcode 8.3] 新しくなった証明書管理画面について | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 Xcode 8.3で新しくなった証明書管理画面を触ってみましたので紹介します。 検証環境 macOS Sierra Version 10.12.3 Xcode Version 8.3 証明書管理画面を開く 「Xcode」->「Preferences...」->「Accountsタブ」->「対象のApple ID」を選択します。ここまでは以前のバージョンのXcodeと同じです。 「Manage Certificates...」という新しいボタンをクリックします。 証明書管理画面の内容 証明書管理画面が表示されました。以前のバージョンのXcodeよりも詳しい情報を確認できます。 各証明書について、名称、作成者、作成日、ステータスを確認できます。 証明書を右クリックすると、メニューが表示され、「証明書をエクスポート」「証明書を削除」「作

    [Xcode 8.3] 新しくなった証明書管理画面について | DevelopersIO
    Watson
    Watson 2017/03/30
  • [iOS] 新規インストール時のアプリサイズを計測し、最適化を行なう方法について | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 記事では、新規インストール時のアプリサイズを計測し、最適化を行なう方法を紹介していきます。 検証環境 macOS Sierra Version 10.12.3 Xcode Version 8.2.1 目次 アプリサイズを計測する 各種生成物について アプリサイズのレポートについて iOS App Store固有の考慮事項について ipaファイルのサイズの内訳をチェックする アプリサイズを最適化する コードの改善を検討する アセットの改善を検討する アプリのアーキテクチャの改善を検討する さいごに アプリサイズを計測する アプリサイズの最適化作業を行う前に、現状のアプリサイズを計測します。はじめに計測しておくことで、サイズの変化量や最適化の影響を把握できるようになります。 また、アプリの配布プロセスの中で作られる各種生成物の内容や

    [iOS] 新規インストール時のアプリサイズを計測し、最適化を行なう方法について | DevelopersIO
    Watson
    Watson 2017/03/29
  • OSSのジョブ管理システム Kuroko2を使ってみた | DevelopersIO

    私の所属するプロジェクトで、OSSのジョブ管理ツールKuroko2を導入しました。 簡単にKuroko2の特徴、設定手順をご紹介します。 導入の経緯 プロジェクトが始まった時、一定間隔で起動する小さなジョブが一つか二つあるだけなのでcronで動かしていました。 ですが、リリースから時間が経ちサービスが成長するにつれ次第にジョブも増えていきました。 「こっちのDBから1日1回データを同期して画面に反映して欲しいです!」 「FTP接続してこっちのファイル取得してほしいんだけど...」 「対象のデータがあったらS3にJSON書き出してくれない?」 その場しのぎで次々にcron起動のジョブを増やしていったところ、ある日 崩壊した... (青:使用可能メモリ、緑:使用済みメモリ) ジョブ管理システム Kuroko2の導入 自前でジョブ管理システムを構築することも検討しましたが、時間がないことやすでに

    OSSのジョブ管理システム Kuroko2を使ってみた | DevelopersIO
  • [iOS] Kudan+Swift3.0でARを体験してみる | DevelopersIO

    Kudanは高性能なAR/VRエンジンで以下のような特徴があるようです。いくつか挙げてみると、 高性能(画像認識精度、速度、表示品質、AR機能の数など、他社製品と比較して圧倒的なパフォーマンスを実現する) (カメラが付いている限り)ハードウェアに依存しない マーカー数の制限は無し 認識ごとの課金も無し(価格については後述) オフラインで認識可能 Native(iOS/Android)、UnityのSDKを公開 開発言語はC++, Java, ObjectiveCに対応 とあります。詳細は公式サイトをご覧ください。 https://japan.kudan.eu/ 価格について 価格についてはローカルで試してみる分には無料です。 アプリを公開する場合にのみ£1,000(アプリ毎/年)が必要で、法人・商用利用場合は別途サブライセンス契約が必要と記載がありました。 今回は画像をマーカーとして認識

    [iOS] Kudan+Swift3.0でARを体験してみる | DevelopersIO
    Watson
    Watson 2017/02/09
  • [iOS] Chromium for iOS がオープンソース化されたのでビルドしてみた | DevelopersIO

    はじめに こんばんは。モバイルアプリサービス部の平屋です。 オープンソースのウェブブラウザプロジェクトChromium」のブログに、Chromium for iOS がオープンソース化されたという記事が投稿されていました。今回オープンソース化された「Chromium for iOS」と Google の製品「Chrome for iOS」の違いは Google による機能追加の有無だと思われます。 Chromium Blog: Open-sourcing Chrome on iOS! 以下のガイドページを参考にして、環境構築からアプリの実行までを試してみましたので、記事ではその手順を紹介していきます。 Checking out and building Chromium for iOS 検証環境 Xcode Version 8.2.1 macOS Sierra 10.12.3 java

    [iOS] Chromium for iOS がオープンソース化されたのでビルドしてみた | DevelopersIO
    Watson
    Watson 2017/02/05
    コード取得に 20 分、ビルドに 3 時間・・・
  • [iOS][Swift3.0] 階層が深くなっても大丈夫なナビゲーションを実現するNavigationStack | DevelopersIO

    ナビゲーションバーの戻るボタン"<Back"は通常通り直前の画面に戻ります(スワイプの動きのみ変更になります)。昨日ブログに書いたFoldingCellと同じRamotion Inc.という企業が作成しており、ライセンスはMITです。 Ramotion/navigation-stack 検証環境 今回は下記環境で試しています。 Xcode 準備 導入 CocoaPodsで追加します。 use_frameworks! target "ターゲット名" pod 'Navigation-stack' end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |configuration| configuration.build

    [iOS][Swift3.0] 階層が深くなっても大丈夫なナビゲーションを実現するNavigationStack | DevelopersIO
  • 【社内資料公開】40歳中堅サポートエンジニアが文章作成時に気をつけている5つのキーワードを紹介します | DevelopersIO

    はじめに こんにちは植木和樹@上越妙高オフィスです。クラスメソッドではAWSを始め、弊社で取り扱っている製品・サービスに関するサポート業務を行っています。 サポートでは日々様々なお問い合わせを受け付けるわけですが、ご質問に対する回答内容は正しくても、言葉が足りないためにお客様が不満に感じてしまうことがあったりします。「正しいことを伝えたのに、どうして不満と感じたんだろう?なにが足りなかったんだろう?」と対応を振り返る際に、私はキーワード/パターン/フレームワークに当てはめてみて考えるようにしています。 今回はサポートメンバーがよりよいサービスが提供できるよう、自分のアンチョコから5つのキーワードをご紹介したいと思います。 1.安心してもらう 自分で書いた回答内容を見返してみましょう。文章の内容がお客様に安心を与えているでしょうか? 最後に「安心です」がつくように意識しましょう。また「文章の

    【社内資料公開】40歳中堅サポートエンジニアが文章作成時に気をつけている5つのキーワードを紹介します | DevelopersIO
  • [Xcode 8.2] 年末なので Xcode まわりの不要ファイルを一掃してみた | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 記事では、Xcode を使い続けるうちに増えてしまうファイルの内容や保存場所を紹介します。 各保存場所に「古い OS のサポートファイル」や「使用していないプロジェクト用のファイル」などの不要ファイルあれば、当に削除しても問題ないかを確認した上で削除してしまいましょう! 今回、不要ファイル削除を試してみたところ、合計約 76 GB のファイルを削除することができました。 検証環境 macOS Sierra 10.12.1(16B2555) Xcode Version 8.2 (8C38) 目次 Device Support Derived Data Archives Simulator Apps Document Device Logs Device Support 内容 実機デバッグを行うために必要なファイル Xcode を

    [Xcode 8.2] 年末なので Xcode まわりの不要ファイルを一掃してみた | DevelopersIO
    Watson
    Watson 2017/01/11
  • Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO

    サーバーサイド開発担当のエンジニアが「設計と実装を進めようとしている」という背景で話を進めます。 PlantUMLは強い 「認識合わせ」という名目でホワイトボードに図を書いて会話することがよくあります。共通言語で会話してあいまいなところを少なくしたら、マネージャーも安心感がありますし、プログラマも自分がやるべきことに集中できますね。 …3日経ちました。あのとき描かれていたホワイトボードの図のとおりに、実装することになりました。認識の齟齬をなくしてくれた貴重な図です。写真に撮りました。どこに保存してたっけ。やっぱり変更したくなったらどうしましょう。またホワイトボードに書き起こす?DRYじゃないですねえ。 そこで、UML図 が登場します。表現したい図を電子データで作成、保存できて、あとで見るときも役に立ちますね。が、しかし、UML図はそれはそれでやや手間がかかるところもあります。作図を助けてく

    Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO
  • 2016年12月1日からAmazon S3が値下げされます | DevelopersIO

    ども、大瀧です。 日、AWSのストレージサービスであるAmazon S3の値下げが発表されました。 値下げする時期 今回の値下げは2016年12月1日から適用されます。AWSの価格設定は自動で適用されますので、既存のユーザーは特に作業は必要なく値下げ後の価格でS3を利用することができます。 値下げの対象 S3にはスタンダード、低頻度アクセス、低冗長化の3種類がありますが、今回の値下げはスタンダードのみのようです。他の種類の値下げ情報も後から出てくるかもしれないので、そのときはブログを更新しますね。 値下げ額 取り急ぎ、東京リージョンのみ抜粋しました。 東京リージョン 現在の価格 新価格(12/1以降) 値下げ率

    2016年12月1日からAmazon S3が値下げされます | DevelopersIO
  • [Xcode 8][iOS 10] Xcode 8 の新機能!メモリ内の様子をビジュアル表示してくれる Debug Memory Graph | DevelopersIO

    はじめに Xcode 8 で注目されている機能の一つが、Debug Memory Graphです。デバッグ中に、メモリ内におけるオブジェクト同士の関係をビジュアルに表示する事ができる機能です。今回は、循環参照をビジュアル化してみたいと思います。 サンプルコード class TestObject { var objTest: TestObject? } TestObjectクラスを定義します。 プロパティとして、TestObject型の変数objTestを定義します。 func createCycle() { let t1: TestObject = TestObject() let t2: TestObject = TestObject() let t3: TestObject = TestObject() t1.objTest = t2 t2.objTest = t3 t3.objTes

    [Xcode 8][iOS 10] Xcode 8 の新機能!メモリ内の様子をビジュアル表示してくれる Debug Memory Graph | DevelopersIO
  • [iOS 10] SFSafariViewControllerのバーの色を変更できるようになりました | DevelopersIO

    iOS 9まで iOS 9までは以下のようにSFSafariViewControllerのViewプロパティのtintColorを設定することでバー(ツールバーなど)内のコントロールの色を変更することはできましたが、バーの色を変更するようなAPIは提供されていませんでした。 import UIKit import SafariServices class ViewController: UIViewController { @IBAction func didTapButton(sender: AnyObject) { let url = NSURL(string: "https://dev.classmethod.jp/author/kato-jun/") let vc = SFSafariViewController(URL: url!) // バー内のコントロールの色が変わる vc.

    [iOS 10] SFSafariViewControllerのバーの色を変更できるようになりました | DevelopersIO
  • [iOS 10] アプリを Apple Pay に対応させるために必要な実装について | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。前回の記事に引き続き、Apple Pay についての情報を紹介していきます。 記事ではアプリを Apple Pay に対応させる場合に必要な実装を解説していきます。 Apple Pay の概要や環境構築などについては以下の記事などをご覧ください。 [iOS 10] 開発者のための Apple Pay 概要 | Developers.IO [iOS 10] Apple Pay 対応アプリ開発のための環境構築について | Developers.IO 検証環境 Xcode Version 8.0 (8A218a) iPhone 6s, iOS 10.0.2 目次 [1] PassKit をインポート [2] Apple Pay の利用可否をチェックする [3] Apple Pay ボタンを表示する [4] ペイメントリクエストを作成する

    [iOS 10] アプリを Apple Pay に対応させるために必要な実装について | DevelopersIO
  • [Swift 3] Swift 3時代のGCDの基本的な使い方 | DevelopersIO

    はじめに こんにちは!モバイルアプリサービス部の加藤潤です。 今回はSwift3で大きく変わったGCD(Grand Central Dispatch)のAPIについて、その基的な使い方を見ていきたいと思います。 基礎知識のおさらい GCDの具体的な使い方に入る前に基礎知識のおさらいをしておきます。 同期と非同期 まずは同期と非同期についてです。 GCDではキュー(queue)という「処理の入れ物」に対して処理を登録することで、適切なスレッド上で処理が行われるのですが、キューに登録する際に以下の実行方式のいずれかを指定することができます。 同期 キューに処理を登録したスレッドが登録した処理が完了するのを「待つ」 GCDのメソッドはsync〜 非同期 キューに処理を登録したスレッドが登録した処理が完了するのを「待たない」 GCDのメソッドはasync〜 上記のように、違いは処理が完了するのを

    [Swift 3] Swift 3時代のGCDの基本的な使い方 | DevelopersIO
  • [Swift 3.0] アクセス修飾子にopenとfileprivateが追加された話 | DevelopersIO

    また、現時点でのSwift3の仕様では、openを利用するには、スーパークラスもopenでないといけません。 モジュール(module)とは? ライブラリなどimportを使って取り込むまとまりです。 UIKitMapKit、CoreData、CoreImageなどが該当します。 Swift2.x(今までの例) public class UIViewController : UIResponder, NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment { // 一部抜粋 public init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) public init?(coder

    [Swift 3.0] アクセス修飾子にopenとfileprivateが追加された話 | DevelopersIO
    Watson
    Watson 2016/09/16