はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Google I/O

『qiita.com』

  • 人気
  • 新着
  • すべて
  • ボーイスカウト・ルールってご存じですか? - Qiita

    8 users

    qiita.com/eKushida

    はじめに プログラマ向けの格言っていっぱいありますよね。 その中でも好きな格言の一つである「ボーイスカウト・ルール」をご紹介したいと思います。 とてもよい考え方なので、普及すると嬉しいです。 ボーイスカウト・ルールとは? ボーイスカウトのルールには、大切なことがあります。 それは、「来た時よりも美しく」です。 たとえ自分が来た時にキャンプ場が汚くなっていたとしても、 そしてたとえ汚したのが自分でなかったとしても、綺麗にしてからその場を去る、というルールです。 そうやって、次にキャンプに来る人達が気持ちよく過ごせるようにするのです。 (プログラマが知るべき97のことより抜粋) 同じことがプログラマの世界でも言えるのではないでしょうか。 プログラムの世界では? 新規開発もありますが、エンハンス等で他のエンジニアが作成したソースコードに 機能拡張したり、修正したりすることも多いのではないでしょう

    • テクノロジー
    • 2020/08/02 22:40
    • プログラミング
    • Programming
    • iOS LINEでログイン(Line SDK) - Qiita

      3 users

      qiita.com/eKushida

      はじめに LINEアカウントを利用したログイン機能の実装方法について、まとめました。 ①ログイン画面 ログインボタンを押下すると、認証画面に遷移する ②認証画面 認証画面で同意するボタンを押下すると、ログインできる 手順 ①LINE Business Centerでアカウントを登録する ②チャネルを作成し、Channel IDを取得する ③Bundle IDとiOS Schemeを設定する LINE developersのTechnical configurationからBundle IDとiOS Schemeを設定する なお、iOS Schemeは、「line3rdp.{Bundle-ID}」という命名にすること 下記の例は、Bundle IDが「jp.st-ventures.ios-line-login-demo」 ④Cocoa PodsでLineSDKをインストールする

      • テクノロジー
      • 2018/08/07 07:50
      • line
      • iOS
      • iOS、Androidの解像度について(iOSはpt / Androidはdp) - Qiita

        3 users

        qiita.com/eKushida

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

        • テクノロジー
        • 2017/07/25 12:34
        • モジュール結合度について - Qiita

          8 users

          qiita.com/eKushida

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

          • テクノロジー
          • 2017/07/24 16:08
          • iOS SwiftでBLEのサンプルを動かしてみる - Qiita

            6 users

            qiita.com/eKushida

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

            • テクノロジー
            • 2017/05/29 09:37
            • [Swift3] Stringのプロパティ/メソッドのまとめ (文字列操作) - Qiita

              3 users

              qiita.com/eKushida

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

              • テクノロジー
              • 2017/04/20 13:15
              • swift
              • あとで読む
              • なぜDelegateをプロパティに持つとweakを指定しなければいけないの? - Qiita

                3 users

                qiita.com/eKushida

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

                • テクノロジー
                • 2017/04/17 22:38
                • ユニットテストにも可読性を持たせる (Four Phase Test) - Qiita

                  6 users

                  qiita.com/eKushida

                  可読性が悪くなる原因 テスト毎の前提条件や、後処理など、 検証以外のテストコードが増えてきたときに、 どこが実行部分で、どこが検証部分か分かりづらくなりがちです。 解決策の方針 そこで、「Four Phase Test」の手順に則って、 テストコードを実装してみる。 (他にもあれば、ご教授願います。) ユニットテスト全体で共通のSetupとTearDownは、意識していましたが、 ExerciseとVerifyは、意識できていませんでした。 リファクタリング対象のテストコード コード量も長くなり、可読性が落ちています。 import XCTest @testable import Warikan class WarikanModelTests: XCTestCase { let usecase = WarikanUsecase() let delegete = SpyWarikanDele

                  • テクノロジー
                  • 2017/03/08 11:45
                  • テスト
                  • test
                  • モックオブジェクトをより便利にする (Try! Swift2017) - Qiita

                    29 users

                    qiita.com/eKushida

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

                    • テクノロジー
                    • 2017/03/04 13:28
                    • Swift
                    • tryswiftconf
                    • iOS
                    • あとで読む
                    • テスト
                    • test
                    • [Swift] サンプルを見ながら、リファクタリングを勉強する - Qiita

                      3 users

                      qiita.com/eKushida

                      はじめに リファクタリングとは、外部の振る舞いを保ったままで、 内部構造を改善していく作業のことです。 リファクタリングすると、以前書いたコードの向上が期待されます。 セオリーでいくと、設計したあとに実装するのが一般的ですが、 長期間にわたってコードが修正され、 設計に基づいたシステムの統一性や構造は次第に崩れいていきます。 リファクタリングによる間違った設計やカオス状態のコードを、 優れた設計のコードに再構築できます。 こちらの本を参考にSwift版で纏めてみました。 リファクタリングについて学ぶ リファクタリング対象のコードの例 ビデオレンタルの料金を計算して 計算書を印刷するプログラムを例に説明します。 システムには、どの映画を何日間借りる借りるかが入力されます。 すると貸出日数によって料金が計算され、映画の分類が判定されます。 映画の分類は、3種類あり、一般向け、子供向け、新作と分

                      • テクノロジー
                      • 2017/01/02 10:43
                      • [Swift] バリデーションチェックは、正規表現で! - Qiita

                        5 users

                        qiita.com/eKushida

                        はじめに アプリの入力データをif文とAnd条件で数珠つなぎで判定していくとカオスになりますよね。 やはりここは、正規表現の出番ですね。 ただし、Swiftは、正規表現が扱いづらいため、 少しだけ簡単に利用できるようにします。 Custom Operatorsを利用する import UIKit infix operator =~ infix operator !~ func =~(lhs: String, rhs: String) -> Bool { guard let regex = try? NSRegularExpression(pattern: rhs, options: NSRegularExpression.Options()) else { return false } return regex.numberOfMatches(in: lhs, options: NSReg

                        • テクノロジー
                        • 2016/12/30 20:24
                        • Swift
                        • [Swift]UITableViewCellをEnumで管理する - Qiita

                          4 users

                          qiita.com/eKushida

                          はじめに UITableViewCellのパターンが増えると、カオスになりがちな処理を enumを利用して実装してみます。 ※よくあるパターンなので、自分の中で一度整理してみます。 enumを利用する理由は、下記の2点です。 セルタイプのパターンを網羅的に管理するため セルタイプのパターン毎に処理を纏めて管理するため 今回ご説明する例 下記の3パターンのセルを出し分ける例でご説明します。 データが0件の場合は、「該当するデータはありません」と表示する 一覧にタイトルを左寄せで表示する 一覧にタイトルを中央寄せで表示する ※本当は、全く違うタイプのセルでご説明したほうが良いと思いますが、 お話のメインがUITableViewCellをEnumで管理することなので、 シンプルなセルのタイプでご説明します。 今回ご説明しないこと Storyboardを利用したTableViewやTableVie

                          • テクノロジー
                          • 2016/11/26 17:34
                          • あとで読む
                          • [iOS] 条件分岐を減らして、処理をシンプルにする - Qiita

                            3 users

                            qiita.com/eKushida

                            はじめに ①ViewControllerから処理の一部を切り出したい  → ViewControllerの肥大化 ②ViewControllerで状態(フラグ)を意識したくない → フラグ管理がカオス ③ユニットテストしやすくしたい → テスト容易性 上記の課題を解消する一つの方法をご紹介します。 その答えは、「条件分岐を減らす」です。 環境 XCode : 8.0 Swift : 3.0 今回ご説明する例 今回は、下記のようなシンプルな例で説明します。 ①ログオフ状態の場合、ログインボタンを表示する(フォントカラーは青色) ②ログイン状態の場合、ログアウトボタンを表示する(フォントカラーは赤色) 1. Badケース まず最初にBadケースをご紹介します。 ViewController内でログイン状態を意識し、 ログインとログオフで処理や表示に違いがある度に、 条件分岐が増えてしまいます。

                            • テクノロジー
                            • 2016/11/10 16:55
                            • あとで読む
                            • 通知設定を取得する - Qiita

                              6 users

                              qiita.com/eKushida

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

                              • テクノロジー
                              • 2016/09/28 08:02
                              • 設定
                              • iOS
                              • Pinterest風のUIを作ってみる (Swift3にコンバート済み) - Qiita

                                4 users

                                qiita.com/eKushida

                                import UIKit protocol PinterestLayoutDelegate { func collectionView(_ collectionView:UICollectionView, heightForPhotoAtIndexPath indexPath:IndexPath , withWidth:CGFloat) -> CGFloat func collectionView(_ collectionView: UICollectionView, heightForCaptionAndCommentAtIndexPath indexPath: IndexPath, withWidth width: CGFloat) -> CGFloat } class PinterestLayoutAttributes: UICollectionViewLayoutAttribute

                                • テクノロジー
                                • 2016/09/24 15:30
                                • ios
                                • グリッド形式とリスト形式の表示切り替え - Qiita

                                  5 users

                                  qiita.com/eKushida

                                  はじめに グリッド形式とリスト形式を切り替える画面は、たまに見ますよね。 今回は、CollectionViewを利用したサンプルをご紹介します。 完成イメージ 実装手順 グリッド形式のレイアウトを作成する リスト形式のレイアウトを作成する カスタムCollectionViewCellを作成する レイアウトを作成する セグメントコントロールで表示形式を切り替える 実装してみます 1. グリッド形式のレイアウトを作成する 2列毎にレイアウトします。 import UIKit class GridFlowLayout: UICollectionViewFlowLayout { let itemHeight: CGFloat = 160 override var itemSize: CGSize { set { self.itemSize = CGSizeMake(itemWidth(), ite

                                  • テクノロジー
                                  • 2016/09/14 10:55
                                  • あとで読む
                                  • [iOS10] 画像付きプッシュ通知を試してみる (PHPのサンプル付き) - Qiita

                                    5 users

                                    qiita.com/eKushida

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

                                    • テクノロジー
                                    • 2016/09/11 23:32
                                    • iOS
                                    • 画像
                                    • あとで読む
                                    • [Swift] Pinterest風のカスタムトランジションを実装してみる - Qiita

                                      5 users

                                      qiita.com/eKushida

                                      はじめに 今更ですが、 UIViewControllerTransitioningDelegateを利用した カスタムトランジションのサンプルを備忘録として残しておきます。 動作イメージは、Pinterest風のトランジションです。 素敵なライブラリもありますが、勉強がてらに実装してみます。 実装手順 画面遷移元、画面遷移先、CollectionViewCell用のプロトコルを定義する 画面表示時のアニメーションクラスを定義する 画面非表示時のアニメーションクラスを定義する UIViewControllerTransitioningDelegateを継承したサブクラスを作る Pinterest風アニメーションを利用してみる 1. 画面遷移元、画面遷移先、CollectionViewCell用のプロトコルを定義する トランジションに必要なプロパティをプロトコルで定義します。 今回は、下記の3

                                      • テクノロジー
                                      • 2016/09/07 16:25
                                      • あとで読む
                                      • SwiftでAPIクライアントをつくる (Alamofire+ObjectMapper) - Qiita

                                        4 users

                                        qiita.com/eKushida

                                        フレームワークの取り込み方は、割愛します。 詳しくは、下記の記事が参考になります。 http://qiita.com/yuta-t/items/97fe9bc2bf2e97da7ec1 2. DTOクラス(レスポンス)を作成する。 Search APIのレスポンス(JSON)は、下記のとおりです。 results部分がJSON Array(配列)になっています。 { "resultCount": 1, "results": [ { "artistId": 671759255, "artistName": "サザンオールスターズ", "artistViewUrl": "https://itunes.apple.com/jp/artist/sazanorusutazu/id671759255?uo=4", "artworkUrl100": "http://is5.mzstatic.com/im

                                        • テクノロジー
                                        • 2016/08/26 18:46
                                        • [Swift] iOS10/Swift3でTwitter風のスプラッシュ画面のアニメーションを書き直してみる - Qiita

                                          3 users

                                          qiita.com/eKushida

                                          はじめに iOS10/Swift3で従来のアニメーションの書き方が変わるようなので、 練習がてらに、Twitter風のスプラッシュ画面のアニメーションを書き直してみます。 ちなみに、開発環境は「XCode8.0 Beta5」です。 実践 1. プロトコルを作る 単純に変換すると、下記のようなイメージになります。 旧来のアニメーションへの変換は、XCode8がリファクタしてくれます。 protocol TwitterLikeAnimation {} extension TwitterLikeAnimation where Self: UIImageView { func startSplashAnimation() { UIView.animate(withDuration: 0.3, delay: 1.0, options: .curveEaseOut, animations: { [we

                                          • テクノロジー
                                          • 2016/08/23 09:45
                                          • UI
                                          • アニメ
                                          • アラートのOK、Cancelボタンは右と左、どちらにおくべきか? - Qiita

                                            13 users

                                            qiita.com/eKushida

                                            はじめに 皆様は、アラートのOKボタンとCancelボタンの配置は どういった基準で決めていますか? (右か、左か?) 勿論、スマートフォンを右手で操作する人、 左手で操作する人で、変わってくると思いますが、、、 基準はどうすべきか? ちなみに、押しやすいのは、右か、左か? 右手で操作する人を想定した場合 押しやすいのは、右側だと思います。 単純に親指からの距離が近いためです。 逆に左側は、親指からの距離が遠いため、 押しにくいです。 (当たり前ですね。) こういうときは、各プラットフォームのガイドラインに準拠するのがベターだと思います。 「郷に入っては郷に従え」ではないですが、 iOSの場合はヒューマンインタフェースガイドライン、 Androidの場合は、Google Material designに準拠すべきだと思います。 iOSヒューマンインタフェースガイドラインの存在 存在を知って

                                            • テクノロジー
                                            • 2016/08/18 13:12
                                            • ui
                                            • ux
                                            • iOS
                                            • あとで読む
                                            • [Swift] プロトコル指向って何? サンプルを見ながら勉強してみる - Qiita

                                              5 users

                                              qiita.com/eKushida

                                              プロトコル指向プログラミングとは? ・プロトコルファーストということ? ・何を実装しなければならないかが明確になるからよい?? (共通化??) ・値型なので、別のオブジェクトから変更されないからセーフティ?? よく分からないので、プロトコル指向プログラミングが紹介されている サンプルコードを見ながら写経してみます。 サンプル 今回は、下記の例を利用してご説明します。 ログイン画面にて、メールアドレスとパスワードを入力し、ログインボタンを押下する。 該当フォームが空の場合は、該当フォームをブルブル震わす。 ダメなパターンも含め、思いつく実装案を色々挙げてみました。 ###(A案) ブルブル震わすロジックを直接ViewControlerに組み込む おそらく一番バッドパターン。 新人プログラマがやるパターン。「仮実装なので」といいながら、そのまま最後まで残るパターン。 一事が万事!(★最近良く聞

                                              • テクノロジー
                                              • 2016/08/15 22:13
                                              • [Swift版] 今さら聞けないFirebase④ Realtime Database - Qiita

                                                5 users

                                                qiita.com/eKushida

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

                                                • テクノロジー
                                                • 2016/08/15 10:58
                                                • Firebase
                                                • swift
                                                • [Swift] DIって何? 実践編 - Qiita

                                                  11 users

                                                  qiita.com/eKushida

                                                  はじめに DIとは、Dependency Injectionの略で、 日本語で『依存性の注入』ということらしいです。 依存性とは? 依存性とは、「クラスAのオブジェクトを動かすためにはクラスBが必要」ということ クラス間で密結合である状態 依存性の注入とは? クラスBがなくても、クラスAが動かせること クラス間で疎結合になるため、下記のようなメリットがあります。 ・カスタマイズしやすい ・テストしやすい ・オーナシップが明確 具体的にどうするか? インスタンス変数にオブジェクトを与えるだけです。 コンストラクターにオブジェクトをセットするか、セッターでオブジェクトをセットするだけです。 実装例 Social.frameworkを利用して、 Twitterまたは、Facebookに投稿する例を利用してご説明します。 1. DIを利用しない場合 (1) Twitterと、Facebook投稿用

                                                  • テクノロジー
                                                  • 2016/08/12 11:28
                                                  • swift
                                                  • di
                                                  • あとで読む
                                                  • [Swift] FirebaseでToDoリストを作ってみた for clean architecture - Qiita

                                                    10 users

                                                    qiita.com/eKushida

                                                    はじめに Firebaseを勉強したので、簡単なToDoリストを作ってみます。 方針 ・設計手法は、クリーンアーキテクチャを採用 ・データの管理は、FirebaseのRealtime Databaseを採用 前提知識 ・Firebaseの導入方法 ・Firebaseによる認証方法 ・FirebaseによるRealtime Databaseの使い方 ゴール ユーザごとにToDoリストを管理するアプリを作ります。 画面構成は、ログイン画面、ToDo一覧画面と、ToDo登録画面です。 (会員登録機能、ログアウト機能については、割愛します。) (1)ログイン画面 ・メールアドレス、パスワードを入力し、ログインボタンを押下すると、ToDo一覧画面へ遷移する (2)ToDo一覧画面 ・ToDo一覧を表示する ・該当行をタップするとToDoを完了済みとする(取り消し線で消す) ・プラスボタンを押下すると

                                                    • テクノロジー
                                                    • 2016/08/07 17:21
                                                    • Firebase
                                                    • swift
                                                    • architecture
                                                    • あとで読む
                                                    • [Swift版] 今さら聞けないFirebase③ Authentication (認証) Twitter 編 - Qiita

                                                      4 users

                                                      qiita.com/eKushida

                                                      はじめに 今さら聞けないFirebaseシリーズ第三弾は、 Authentication(認証)のTwitterによるユーザ認証の実装方法についてご紹介します。 前回ご紹介したメール、パスワードによる認証より前準備に時間がかかりますが、 ユーザのことを考えるとOpenIDによる認証は必須ですね。 やること ・Authentication(Twitter)の導入方法について ・ログインのサンプルコードのご紹介 やらないこと ・Firebaseの導入について ・Authenticationの導入について ・エラーハンドリングについて ・TwitterKitについて ・ログアウトのサンプルコードのご紹介 導入方法 Firebaseにプロジェクトを追加する Twitterによるログインを許可する TwitterKitを追加する ログイン機能を実装する 1. Firebaseにプロジェクトを追加する

                                                      • テクノロジー
                                                      • 2016/07/31 22:37
                                                      • Twitter
                                                      • [Swift版]クリーンアーキテクチャ実践編②(Data層) - Qiita

                                                        5 users

                                                        qiita.com/eKushida

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

                                                        • テクノロジー
                                                        • 2016/07/28 09:32
                                                        • [Swift版]クリーンアーキテクチャ実践編①(Domain層) - Qiita

                                                          13 users

                                                          qiita.com/eKushida

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

                                                          • テクノロジー
                                                          • 2016/07/25 11:41
                                                          • Swift
                                                          • ios
                                                          • UITableViewを軽量化する!(Swift版) - Qiita

                                                            3 users

                                                            qiita.com/eKushida

                                                            import UIKit typealias TableViewCellConfigureBlock = (cell: UITableViewCell, item: NSObject) -> Void class ItemDataSource: NSObject { var items = [NSObject]() var cellIdentifier = "" var configureCellBlock: TableViewCellConfigureBlock? init(items: [Item], cellIdentifier: String, configureCellBlock: TableViewCellConfigureBlock) { self.items = items self.cellIdentifier = cellIdentifier self.configur

                                                            • テクノロジー
                                                            • 2016/07/22 07:50

                                                            このページはまだ
                                                            ブックマークされていません

                                                            このページを最初にブックマークしてみませんか?

                                                            『qiita.com』の新着エントリーを見る

                                                            キーボードショートカット一覧

                                                            j次のブックマーク

                                                            k前のブックマーク

                                                            lあとで読む

                                                            eコメント一覧を開く

                                                            oページを開く

                                                            はてなブックマーク

                                                            • 総合
                                                            • 一般
                                                            • 世の中
                                                            • 政治と経済
                                                            • 暮らし
                                                            • 学び
                                                            • テクノロジー
                                                            • エンタメ
                                                            • アニメとゲーム
                                                            • おもしろ
                                                            • アプリ・拡張機能
                                                            • 開発ブログ
                                                            • ヘルプ
                                                            • お問い合わせ
                                                            • ガイドライン
                                                            • 利用規約
                                                            • プライバシーポリシー
                                                            • 利用者情報の外部送信について
                                                            • ガイドライン
                                                            • 利用規約
                                                            • プライバシーポリシー
                                                            • 利用者情報の外部送信について

                                                            公式Twitter

                                                            • 公式アカウント
                                                            • ホットエントリー

                                                            はてなのサービス

                                                            • はてなブログ
                                                            • はてなブログPro
                                                            • 人力検索はてな
                                                            • はてなブログ タグ
                                                            • はてなニュース
                                                            • ソレドコ
                                                            • App Storeからダウンロード
                                                            • Google Playで手に入れよう
                                                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                            設定を変更しましたx