タグ

ブックマーク / qiita.com (51)

  • [swift]4ステップで実装できるdelegate - Qiita

    こんにちは! 前回 [Swift]状態を共有して変化を伝播させるサンプル~didSetなど~ (http://qiita.com/iKichiemon/items/c38fdc4b1a3f73f1f38e) で、delegate関連の記事を書きましたが、 今回はもっと導入部分を書きます。 具体的には 「ユーザーがメールを送信する」 状況を想定して、4ステップで実装します。 説明 実装 1. 説明 delegateとは、なにかの機能を指し示しているのではなく delegateという書き方を使いましょう、というデザインパターンです。 ネットで検索するとしばしば目にするのが 「delegateは処理を 移譲 するもの」という説明。 もっと簡単に ですが、これでは全然分からないので、 もっと簡単にdelegateを説明してみると、 クラス自身には機能をもたせず、 「誰かこれやって!」 とお願いする

    [swift]4ステップで実装できるdelegate - Qiita
  • インフラレイヤがドメインレイヤのリポジトリに依存する実装方法 - Qiita

    ドメイン駆動と言っても、データを永続化している以上、ドメインレイヤがインフラレイヤを活用する必要があり、ドメインがインフラに依存するアーキテクチャはごく自然のようですが、DIP(dependency inversion principle)を実現したアーキテクチャでは、インフラがドメインに依存するようになり、従来のアーキテクチャとは依存関係が逆になります。 伝統的なアーキテクチャ → ドメインレイヤがインフラレイヤに依存 DIPを実現したアーキテクチャ → インフラレイヤがドメインレイヤに依存 この逆転のアーキテクチャをどう実装したらいいか疑問に思っている人も多いのではないでしょうか?Amazon.co.jp: 実践ドメイン駆動設計 (Object Oriented Selection): ヴァーン・ヴァーノン, 高木 正弘: で紹介されている実装方法をScalaで説明します。 実装のポ

    インフラレイヤがドメインレイヤのリポジトリに依存する実装方法 - Qiita
  • ドメイン駆動設計: Aggregate実装チェックシート - Qiita

    ドメイン駆動設計でAggregate(集約)を実装するためのチェックシートです。 □ トランザクション分析をしてトランザクションの単位でAggregateを実装しているか? 単にツリー構造や分類学的にAggregateを作っているとしたら正しくない。 Entityを複数含むAggregateを作っている場合は、トランザクション分析していない可能性があるため、 ユースケースを確認しビジネス上のトランザクション分析を行う。 □ Aggregateの大きさは大き過ぎないか? もし、Aggregateが複数のEntityを含んでいる場合は、 EntityをValue Objectにすることができないか、 直接参照ではなくEntityをAggregate Rootに昇格しIDによって参照する設計にできないかを検討する余地がある。 □ 他のAggregateは直接参照ではなく、IDによって参照されてい

    ドメイン駆動設計: Aggregate実装チェックシート - Qiita
    volonte
    volonte 2017/11/02
  • Laravel 5.3でREST APIのテストコードを書く - Qiita

    2016-02-19 追記 Laravel5.4がリリースされテスト周りの書き方が大きく変更されています。 この記事の内容だとLaravel5.4では動作させる事が出来ません。 時間が出来次第、この記事にLaravel5.4でも動作するように編集します。 (参考) https://laravel.com/docs/5.4/testing http://qiita.com/komatzz/items/1679373c86c252c5f49f この記事で伝えたい事 テストコードを書く事により得られるメリット テストコードを書く時上で必要な考え方 REST APIでの具体的なテストコードの書き方 仕事Laravel 5.3を触る機会があったので今回のサンプルではLaravel 5.3を利用します。 とはいえテストコードの基的な考え方は他の言語やフレームワークでもほぼ同じですので、他の言語でも

    Laravel 5.3でREST APIのテストコードを書く - Qiita
  • プッシュ通知を究める!その①〜普通のプッシュ通知の実装の仕方〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    プッシュ通知を究める!その①〜普通のプッシュ通知の実装の仕方〜 - Qiita
    volonte
    volonte 2017/09/13
    [プッシュ通知]
  • iOSのメニュー周りライブラリ集 - Qiita

    開発中のアプリでメニュー周りをどうしようかと調べていったら、やたら多く世に出ていたので備忘録。いろいろな動きがあって、Example画像を見てるだけでおもしろかった。 Swiftを中心に、cocoapod経由で導入が可能な物をリストアップしました。 なお、並び順は考えるのが面倒だったので、リポジトリのスター数降順で。 ドロワータイプ 左右からメニューが開く、わりとポピュラーなタイプ。 RESideMenu ★5,081 MMDrawerController ★4,226 ECSlidingViewController 2 ★3,938 MSDynamicsDrawerViewController ★3,006 REFrostedViewController ★2,400 ENSwiftSideMenu ★1,186 MFSideMenu ★1,138 AMSlideMenu ★1,012

    iOSのメニュー周りライブラリ集 - Qiita
    volonte
    volonte 2017/08/31
    メニュー
  • 【iOS10】設定画面に遷移するURLスキームの設定について - Qiita

    iOS10でアプリから設定画面に遷移するURLスキームの設定が少し変わったようなのでまとめました。 設定画面への遷移方法(iOS9まで) 特定のアプリから、設定->Twitterへ画面遷移する際には、 呼び出したい設定画面(今回はTwitter)のURLスキームを下記のように設定します。 if let url = URL(string: "prefs:root=TWITTER") { UIApplication.shared.openURL(url) } iOS9までであれば上記の実装で「設定->Twitter」へ画面遷移することができるのですが、iOS10になり遷移ができなくなっていました。 対応 URLを設定している”prefs:root=TWITTER”の先頭に「app-」または「App-」を付けることで指定した設定画面へ遷移が可能になります。

    【iOS10】設定画面に遷移するURLスキームの設定について - Qiita
    volonte
    volonte 2017/08/30
  • �Swagger Editorで作成したファイルを�Swagger UIで見てみる - Qiita

    ###Swaggerとは RESTful APIの記述標準化を目指して「Open API Initiative」 が作成した記述仕様のこと。 ドキュメント周辺が更新されないまま実装とずれていったりするのをしばしば見るので最近ちょくちょく触っている。 ###Swaggerで主に使用するツール 1.Swagger Editor ・Swaggerの仕様にしたがってYAML(JSON)ファイルを編集するツール 2.Swagger UIYAML(JSON)ファイルのビュワー 3.Swagger Core ・YAML(JSON)からソースコードを作成するツール 4.Swagger Codegen ・ソースコードからYAML(JSON)ファイルを作成するツール 今回はSwagger Editorで作成したYAML(JSON)ファイルをSwagger UIで見るところまでやる。 ###Swaggerの

    �Swagger Editorで作成したファイルを�Swagger UIで見てみる - Qiita
    volonte
    volonte 2017/06/14
    swagger editorのインストールからUI
  • APIドキュメントを支える技術 - Qiita

    最近のウェブ開発では各機能ごとをAPIでつなぎ込む時代になっています。 そのため、各チームが開発をしていく上で、 他のチームにAPIの仕様を伝える方法をきちんとまとめておく必要が出てきています。 そんな中でAPIドキュメントにどのような役割が求められていて どのような選択肢があるか、一旦自分の把握している知識をまとめています。 (ここで書いているAPIは、httpでアクセスしたら、JSON形式でレスポンスを返すウェブサービスのAPIを指しています) APIドキュメントを用意する上で、すぐにぶつかる壁 APIドキュメントを用意する場合に、何も考えずにExcelやwikiにまとめると、早い段階で メンテナンスのコスト の問題にぶつかります。 『APIドキュメントを書く時間がない』 『当にドキュメント通りの結果が返ってくるか、試してみないとわからない』 『実際に返ってくるAPIとレスポンスが違

    APIドキュメントを支える技術 - Qiita
  • Dockerを使ってswagger.yamlをサクッとみる (swagger-ui 3.x) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Dockerを使ってswagger.yamlをサクッとみる (swagger-ui 3.x) - Qiita
  • LaravelプロジェクトのAPIをswaggerを使ってドキュメント化 - Qiita

    APIのドキュメント、書くのたいへんですよね。 作っても放置されて更新されず誰も読まなくなったなんてこともあると思います。 今回はswaggerを使って、ドキュメントの生成を楽にしてみました。 swaggerとは swaggerとはAPIドキュメント生成ツールです。 http://swagger.io/ コード内に特定の記述でコメントを含めておくと、コマンド実行でAPIドキュメントを生成してくれます。 今回の環境 多くので言語でライブラリが用意されていますが、 今回はphpLaravelフレームワークでの使い方を紹介します。 php composer Laravel4 or 5 使い方 インストール まずcomposerで必要ライブラリをインストールします。 Laravelプロジェクトのルート・ディレクトリで実行。

    LaravelプロジェクトのAPIをswaggerを使ってドキュメント化 - Qiita
  • SwaggerでRESTful APIの管理を楽にする - Qiita

    背景 最近は変化し続ける要件に対応するために、システムも柔軟であることが求められています。 そのため、部分的に変更やスケールの可能なシステムを構築し、API経由で連携するマイクロサービス的アーキテクチャが増えてきています。 そういった設計の中で問題になっていくのが、従来のモノリシックなアプリケーションではIDEやコンパイラなどで行っていた、機能間のインターフェイスをどう管理するかという部分です。 Swaggerとは? SwaggerとはRESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、またそれらを扱うための仕様などを提供するフレームワークです。 公式サイトでは、The World's Most Popular Framework for APIsと謳っています。 その理由は、マイクロソフト、Google、IBM、SmartBearなどを大手の企業を含む「Open

    SwaggerでRESTful APIの管理を楽にする - Qiita
  • Laravel Aspect Weaving with DDD - Qiita

    今年はLaravel界隈でもDDDの話題が目立つ様になりました。 データベースなどのストレージへのアクセスを抽象化させる目的で、 リポジトリパターンを利用するケースが増えてきたのではないかと思います。 ビジネス領域に焦点を合わせて設計を行うため、 当然ながら、みなさんがそれぞれ開発するアプリケーションでは どれがEntityとなるのか、ValueObjectはどれになるかは大きく異なり、 アプリケーションごとにDomain Serviceは大きく変わるのをよく目にすると思います。 そんなモデリングの世界において、 データベースのトランザクションや、ロギング、キャッシュといったビジネス領域に当てはまらないケースが多いものはどの様に分離するべきでしょうか? feature 開発に入る前に仕様や、ストーリーなどを記述することが多いと思います Story: Account Holder withd

    Laravel Aspect Weaving with DDD - Qiita
  • OAuth2 JWT Bearer Token フローを使ってSalesforceへアクセスする - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? OAuth2 JWT Bearer Token フロー SalesforceAPIを使ってSalesforce内のデータにアクセスする場合、最近はOAuth2を使って認証するのが一般的かと思います。 しかしながら、OAuth2で最もポピュラーなフローであるAuthorization CodeフローはWebブラウザを使ったリダイレクトの仕組みを用いており、一旦ユーザエージェントを介すことが前提となることから、システム間連携などで接続するには少し不向きともいえます。また、複数のSalesforceユーザアカウントで接続する必要がある場合な

    OAuth2 JWT Bearer Token フローを使ってSalesforceへアクセスする - Qiita
  • Auth0 + Angularで認証機能をお手軽に実装しよう - Qiita

    さてここから先はAuth0の 公式ドキュメント にある程度従って進めていきましょう。 今回RxJSは一切用いません。とてもチャレンジングなプログラミングです。 auth0-lock, angular2-jwt Auth0を利用するのに必要なライブラリをインストールします。 import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; import { tokenNotExpired } from 'angular2-jwt'; import Auth0Lock from 'auth0-lock'; const AUTH0_CLIENT_ID = 'your-auth0-client-id'; const AUTH0_DOMAIN = 'your-auth0-domain'; con

    Auth0 + Angularで認証機能をお手軽に実装しよう - Qiita
  • Angular 2アンチパターン集 - Qiita

    @armorik83です。Angularアドベントカレンダーの4日目となる日は、かつて好評だった拙記事"AngularJSアンチパターン集"にあやかって、Angular 2(以下、単にAngularと表記したときは2.0以上4未満を指す)について気をつけた方がよい点――アンチパターンをまとめたいと思います。 Angular 2.xでアンチパターンは起こりうるか Angular 1系とは大きくAPIが変わったAngular 2系。APIが大きく変わった理由として、Web標準により近い構成を取れるようにする目的がありました。例えば、angular.module()ではなくTypeScriptのimport fromをベースとするソース分割の仕組みであったり、ES2015 classを標準としたComponentやServiceの定義であったり、$qではなく標準のPromiseを使ったりなどで

    Angular 2アンチパターン集 - Qiita
  • npm iしてAngualr 2のHello World!を書くところまで【改】 - Qiita

    追記160914: rc.7に対応しました、題はこちらから。冒頭は終了したイベントの宣伝です。 @armorik83です。先日は私もng-japanに登壇してきましたが、会場内のAngular 2熱の高さに興奮を覚えたものです。 さて、私が代表を務めているng-kyotoとng-japan、GDG神戸、会場のteratailさん、サイボウズ株式会社さんのご協力によって、来る4/10と4/16にAngular 2ハンズオン勉強会を開催いたします。 4/10 Angular 2ハンズオン勉強会@渋谷ヒカリエ レバレジーズ社 4/16 GDG神戸 Angular 2ハンズオン勉強会@サイボウズ 大阪梅田オフィス これは両イベント共にng-kyotoの代表である私の他、@_likr, @shinsukeimai, @pastelInc オーガナイザらが関わっており、初のAngular 2ハンズ

    npm iしてAngualr 2のHello World!を書くところまで【改】 - Qiita
  • CORSまとめ - Qiita

    今更ですが、CORS (Cross-Origin Resource Sharing)を色々試していたら、思っていた以上に色々パターンがあることに気づいたので、改めてその扱い方についてまとめてみました。 そもそも 現在のWebブラウザでは、あるWebサイトが持つ情報が別の悪意あるWebサイトに悪用されるのを防ぐために、Same-Origin Policy(日語では同一生成元ポリシー)が適用されます。 例えば、あるWebサイト https://guiltysite.com をブラウザで表示している時に、このWebページからXMLHttpRequest(以下、XHR)やFetch APIで別のWebサイト https://innocentsite.net からHTTP(S)でデータを読み込もうとすると、エラーになる、というわけです。 しかし、アクセス元が悪意あるWebサイトならともかく、データ

    CORSまとめ - Qiita
  • OAuth 2.0 全フローの図解と動画 - Qiita

    RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている 4 つの認可フロー、および、リフレッシュトークンを用いてアクセストークンの再発行を受けるフローの図解及び動画です。動画は YouTube へのリンクとなっています。 English version: Diagrams And Movies Of All The OAuth 2.0 Flows 追記 (2019-07-02) 認可決定エンドポイントからクライアントに認可コードやアクセストークンを渡す方法については、別記事『OAuth 2.0 の認可レスポンスとリダイレクトに関する説明』で解説していますので、ご参照ください。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 認可コードフロー RF

    OAuth 2.0 全フローの図解と動画 - Qiita
  • Laravel Passport keyファイルの扱い - Qiita

    Laravel Passportをインストールしていくと php artisan passport:installコマンドでstorage/内にoauth-public.keyとoauth-private.keyが作られる。 .gitignoreではデフォルトでは除く設定。 動作にはこのkeyファイルが必須。 これはどうしたらいいのか?を考える。 バージョン:Laravel 5.4とPassport 2.0。 gitリポジトリに入れる 非公開なら.gitignoreを修正してリポジトリに入れればいいだけ。 これが一番簡単。 keyファイルを別の場所に置きたい場合 Passportのソースを追っていく… https://github.com/laravel/passport/blob/2.0/src/PassportServiceProvider.php keyファイルが使われれてるのはma

    Laravel Passport keyファイルの扱い - Qiita
    volonte
    volonte 2017/04/27
    Passportのカスタマイズ