タグ

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

  • Appleの新しいUI構築フレームワーク「SwiftUI」を学ぶための教材まとめ #WWDC19 | DevelopersIO

    SwiftUI はWWDC 2019のキーノートで発表された iOS/MacアプリなどのUIを構築するためのフレームワーク です。デベロッパーフレンドリーなコーディング&直感的なデザインツールの組み合わせで、超簡単にUIを構築できる特長があります。例えばこんな感じです。 import SwiftUI struct ContentView: View { var body: some View { Text("Turtle Rock") .font(.title) .color(.green) } } struct ContentView_Preview: PreviewProvider { static var previews: some View { ContentView() } } これまで以上に簡単にUIが構築できることから、発表後iOSエンジニア界隈ではバズワードになっています

    Appleの新しいUI構築フレームワーク「SwiftUI」を学ぶための教材まとめ #WWDC19 | DevelopersIO
    ntaoo
    ntaoo 2019/06/05
  • Clean Architectureとその派生系による最適なiOSアーキテクチャ選定の考察 | DevelopersIO

    はじめに おばんです、給料日を過ぎたらいつでも給料日前、田中です。 この記事はSwift Advent Calendar 2016, 18日目の記事になります。当日より遅れての投稿になってしまいすみません!! もくじ 対象読者 この記事はなに? パターン紹介(クリーンアーキテクチャでの実装) パターン紹介(クリーンアーキテクチャ + Wireframe(VIPER Routing)での実装) パターン紹介(クリーンアーキテクチャ - DIでの実装) まとめ 参考・関連 対象読者 これからiOSでクリーンアーキテクチャを実装しようと思っている方 iOSのクリーンアーキテクチャを少しでも書いてる人 「もうやだクリーンアーキテクチャの実装重すぎだよおおおぉぉぉぉ」と思っている方 この記事はなに? クリーンアーキテクチャは昨今の複雑なアプリケーション開発において非常に有効な設計ではありますが、同時

    Clean Architectureとその派生系による最適なiOSアーキテクチャ選定の考察 | DevelopersIO
  • TwilioとGoogle Cloud Speech APIで電話の内容を文章に変換する | DevelopersIO

    Google Cloud Speech API (以下Speech API) を利用すると、人間が発声した音声をAPIを通してテキストに変換することができます。 Speech APIは日語にも対応しているため、国内でも電話で話した内容を自動的にテキストに変換するといったようなことが出来るようになります。 ということで、Twilio, Zappa, Speech APIを組み合わせて、サーバレスに電話の内容を文章化する仕組みをつくってみました。 構成 以下が今回作成した仕組みの構成図になります。 Twilioを用いて電話から音声を録音する方法については、こちらの記事を参考にしてください。 上記の記事に加えて、Twilioから録音された音声ファイルのURLをSNSを通して別のLambda Functionに投げ、そこから音声ファイルの取得とSpeech APIへの問い合わせを行っています。最

    TwilioとGoogle Cloud Speech APIで電話の内容を文章に変換する | DevelopersIO
  • Flaskの表示ページのプロファイラをとってみた | DevelopersIO

    サーモン大好き横山です。 日はFlaskを使ったページのプロファイラの取り方の一例を紹介したいと思います。 はじめに Flaskのインストール、デプロイ方法等は以下が参考になります。 virtualenvを使っていろいろなライブラリを手軽にためそう EC2上でFlaskを動かしてみる Amazon LinuxでFlask/Apache/mod_wsgi/virtualenvなアプリを動かす 準備 今回はApacheを通さずにローカルアプリとして動かして行きます。 環境 virtualenvの環境に、Python2.7系、Flaskをインストールしていきます。 $ virtualenv -p /usr/bin/python2.7 venv $ . venv/bin/activate (venv)$ pip install -U pip (venv)$ pip install flask コ

    Flaskの表示ページのプロファイラをとってみた | DevelopersIO
    ntaoo
    ntaoo 2016/04/15
  • RedPen でわかりやすい技術文書を書こう | DevelopersIO

    最近はブログを始めマニュアルや仕様書など技術文書を書く機会が多くなってきました。 技術文書はわかりやすさが重要だと思うのですが実際は書けていません。 どうしたらわかりやすい文書が書けるのだろうか?と調べていたら RedPen というツールを見つけたので早速試してみました。 RedPen とは? RedPen とはプログラマや記者が規約に従って文書を記述するのをサポートしてくれるオープンソースのソフトウェアツールです。 プログラミングが規約に従ってコーディングされているかチェックするように、RedPen は自然言語で記述された入力文書の検査を自動化してくれます。 RedPen の特徴 設定が柔軟に行えます。(カスタマイズも柔軟) どのような言語で書かれた文書でも処理できます。(もちろん日語も OK です) MarkdownTextile フォーマットで記述された文書をそのまま検査でき

    RedPen でわかりやすい技術文書を書こう | DevelopersIO
  • RailsでAPIサーバを開発する(AngularJS, Ruby on Rails, SPA) | DevelopersIO

    RailsでJSONを返すAPIアプリケーションを3週間ぐらい試行錯誤しながら作成しています。少しですがノウハウも溜まってきたのでここにまとめておこうと思います。 今回のアプリケーションの構成は大体次のようになっています。 RailsAPIサーバ(一般公開するAPIではなくSPA(シングルページアプリケーション)のサーバとしてJSONを返却する。HTMLは返却しない) クライアントサイドはAngularJSで画面遷移、Viewの描画まで管理する DBMySqlSession管理はRedis(まだローカル開発なのであまり関係無い) チームはサーバサイド、クライアントサイドで完全に分担して二人で作成しています(自分はサーバサイド担当)。 このブログエントリーでは次のことを書きます。 APIのルーティングの設定(JSONのみ返すようにする方法) Session管理(CSRFトークンの受け渡

    RailsでAPIサーバを開発する(AngularJS, Ruby on Rails, SPA) | DevelopersIO
    ntaoo
    ntaoo 2016/03/23
    懐かしい
  • 【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO

    渡辺です。 DevelopersIOでの100目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterGitHubでフィードバックを! JUnit Lambd

    【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO
    ntaoo
    ntaoo 2015/11/22
  • 最近話題のWeb言語 Elixirのご紹介 | DevelopersIO

    ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ

    最近話題のWeb言語 Elixirのご紹介 | DevelopersIO
    ntaoo
    ntaoo 2015/11/04
  • ネットワークの状況を確認するコマンド色々 | DevelopersIO

    なんで相手に繋がらないの!? サーバ管理していてよく起こる問題は、「なんで繋がらないの!?」ですよね。そこで、今回は基的なネットワークをご紹介したいと思います。OSやツールのバージョンにより動作が異なりますので、それぞれ調べてみて頂ければと思います。今回は、Amazon Linux 2015.03を用いています。 ping 基はpingですね。ICMPのにあるエコー要求/応答のpingを使って接続確認を行います。 $ ping yahoo.co.jp PING yahoo.co.jp (182.22.59.229) 56(84) bytes of data. 64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=1 ttl=54 time=4.84 ms 64 bytes from f1.top.vip.s

    ネットワークの状況を確認するコマンド色々 | DevelopersIO
  • 突撃!隣の開発環境 パート1 【Wantedly編】 | DevelopersIO

    こんにちは!おおはしりきたけです。今回は突撃!隣の開発環境というタイトルでイケてる開発会社さんの開発環境についてインタビューさせてもらいました。第1弾として、iOS オールスター勉強会でベストプレゼンターに輝いたWantedlyの杉上さんとRubyエンジニアの森脇さんにお願いしました。Wantedlyさんは既に@yimajoさんがQiitaで連載しているiOSアプリ開発の現場で訊いてみた!シリーズでiOSの開発現場についてのインタビューはされており一部重複してしまっている部分もありますが、ご了承下さい。 突撃!隣の開発環境とは 技術事例やノウハウなどは、ブログや勉強会などで共有されることが多いと思います。しかし、各社の開発環境や開発体制などは意外と共有されていないこと多いと思います。ノウハウの流出になるかもしれませんが、それ以上に、より良い開発を目指している会社さん同士で情報交換を行い、良

    突撃!隣の開発環境 パート1 【Wantedly編】 | DevelopersIO
    ntaoo
    ntaoo 2015/05/12
  • [iOS 8] App Extensionでテンション倍増! – Share Extension編 | DevelopersIO

    アプリ内からコンテンツの受け渡しができる iOS 7までは、あるアプリからデータを他のアプリに受け渡すには、iCloud などの外部サーバや、URL Scheme 等を使う必要がありました。一度自分のアプリから離れてしまうと、データの受け渡しについて不自由さがあったのが実情でした。 この度 iOS 8 においては、データ受け渡しの仕組みにおいて、大幅に自由度が高まりました。 様々なデータを受け渡すことができる Xcode 6上で File > New > Target > Share Extension と選択していくと、プロジェクトに Share Extension を実現するためのコードが追加されます。 新しく追加された info.plist を見てみましょう。 NSExtensionActivationRule の中に、extension に関する設定を書き込むことができます 例えば

    [iOS 8] App Extensionでテンション倍増! – Share Extension編 | DevelopersIO
  • [iOS 8] App Extension #1 – App Extension を実装するための基礎知識 | DevelopersIO

    App Extension App Extension は、アプリの機能の一部を他のアプリからシームレスに利用できるようにするための仕組みを主とした新機能です。 iOS では、下記の6種類の Extension を作成することができます。 Today Share Action Photo Editing Document Provider Custom Keyboard この記事では、上記の各種 Extension の開発に共通する概念を説明します。 Extension と containing app Extension はアプリの機能を拡張するためものですので、必ず特定の iOS アプリに紐づくことになります。Extension は単体で ipa を作成することはできません。リリースビルドする際には、紐づくアプリにバンドルされる形で ipa が生成されます。このため、Extension

    [iOS 8] App Extension #1 – App Extension を実装するための基礎知識 | DevelopersIO
  • Polymer.dart でも Material Design | DevelopersIO

    Material design with "Polymer.dart" 先日、弊社の諏訪から投稿のあった「 Material Design 」ですが、Dart でも core_elements, paper_elements として Pub がリリースされていたので試してみました。 Dartium for Android, support for @polymer's core and paper elements, and more in the new #dartlang 1.5 release: http://t.co/Y8r9Ge8EEF — Google's Dart Team (@dart_lang) 2014, 6月 27 Dart Editor の入手 Dart Editor はコチラからダウンロードします。 エディタだけでなく SDK や専用ブラウザ「 Dartium (

    Polymer.dart でも Material Design | DevelopersIO
    ntaoo
    ntaoo 2014/07/02
  • Google の新しいデザインガイドライン「Material Design」 | DevelopersIO

    Material Design Google I/O 2014 で新しいデザインガイドラインが発表されました。 Google Design その中で注目されるキーワードが「Material Design」です。これは直訳すると「素材のデザイン」という感じになりますが、これは現実世界の素材をメタファーとすることでユーザーにとってわかりやすくなるように考えられたデザインのようです。 ということで、Material Design について簡単にまとめつつ、どうやってデザインを始めていけばいいか考えていきたいと思います。 Google Design のガイドラインを個人的に解釈した内容を掲載しています。誤解などありましたらコメント欄にて連絡ください。喜んで修正します。 イントロダクション まずはじめに Material Design の概要です。文をそのまま引用します。 We challenge

    Google の新しいデザインガイドライン「Material Design」 | DevelopersIO
  • 新しいプログラミング言語 Swift | DevelopersIO

    Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >

    新しいプログラミング言語 Swift | DevelopersIO
    ntaoo
    ntaoo 2014/06/03
    protocol良さげ。文法が親しみ易い。
  • AngularJS 案件ふりかえり | DevelopersIO

    4 ヶ月強続いた案件がひと段落したので、過去に投下した下記エントリを元に振り返ってみました。 https://dev.classmethod.jp/client-side/javascript/angularjs12xstartup/ angular.module() の戻り値をグローバル変数に格納した代償 以前、Angular モジュールをグローバル変数に格納するよう var ns = ns || {}; ns.App = angular.module('testApp', …); と記述していましたが、この記法を採用して ngmin が動かなくなる…という現象に遭いました。なので、Angular コンポーネント ( controller, service など ) を定義するときには、以下のように記述することにしました。 (function () { 'use strict'; ang

    AngularJS 案件ふりかえり | DevelopersIO
  • AngularJS コードの構造化 | DevelopersIO

    複数人で AngularJS を利用した Web アプリケーションを構築するときに必要なルールをまとめてみました。 ( あくまで策定中のルールであり、今後も改変する可能性があります。また、ベストプラクティスを謳うものではありません ) 使用 AngularJS のバージョン angular.js 1.2.5 angular-route.js 1.2.5 参考サイト Dan Wahlin's Blog | Structuring AngularJS Code http://weblogs.asp.net/dwahlin/archive/2013/12/01/structuring-angularjs-code.aspx GitHub | mgechev / angularjs-style-guide / README-ja-jp.md https://github.com/mgechev/a

    AngularJS コードの構造化 | DevelopersIO
    ntaoo
    ntaoo 2013/12/17
    $injectスタイルとfactory禁止が議論を呼びそう。あとServiceから$scopeに直接bindする書き方は$qに慣れないと落とし穴になりそう。特にhttp requestをネスト場合。
  • AWS特集 の記事一覧 | DevelopersIO

    Amazon が所有する AWS Systems Manager ドキュメントの一覧を AWS CLI で取得して眺めてみた

    AWS特集 の記事一覧 | DevelopersIO
    ntaoo
    ntaoo 2013/09/26
  • iOS 7 特集 | DevelopersIO

    [iOS][iBeacon] iOS 7.1 からアプリを起動していなくても領域観測できるようになったので、さまざまなバックグラウンド処理を試してみた

    iOS 7 特集 | DevelopersIO
    ntaoo
    ntaoo 2013/09/19
    なにこれすごい。クラスメソッドさんの存在感半端ない。
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    ntaoo
    ntaoo 2013/09/17
    あるある