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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • iOSアプリ開発における環境切り替え(Debug⇔Release)方法まとめ - Qiita

    3 users

    qiita.com/takehilo

    iOSに限らず、アプリ開発においてAPIのURLやアクセスキーといった環境変数を開発用ビルドとリリース用ビルドで切り替えられるようにしておくことは重要です。 XCodeでこれを実現する方法にはいくつかの選択肢があると思います。 本記事では、今のところ私がシンプルで良いと思っているやり方をご紹介したいと思います。 環境変数を切り替える ここでは開発用ビルドとリリース用ビルドでAPIのURLを切り替えることを例とします。 Configuration XCodeではアプリのビルド設定はConfigurationと呼ばれており、デフォルトではDebugとReleaseの2つが作成されています。 基本的にアプリの開発中はDebugを使用します。 XCodeメニューからProduct > Scheme > Edit Scheme...を開くと、ビルド設定としてDebugが指定されていることがわかります

    • テクノロジー
    • 2019/08/24 22:52
    • iOS
    • あとで読む
    • UICollectionView再入門 - Qiita

      4 users

      qiita.com/takehilo

      はじめに iOSアプリ開発においてUICollectionViewは頻繁に使用するコンポーネントです。 これまで何度かUICollectionViewを使った画面の開発をしましたが、なんとなく制約をつけたりするだけでイメージに合った画面が作れてしまうので、UICollectionViwe自体を深く理解せずに使用していました。 AppleはCollectionViewプログラミングガイドというドキュメントを用意してくれていますが、これがなかなかボリュームが多く、実際開発にもそれほど困っていなかったので読むのを避けていたのですが、Material ComponentsなどのUI系ライブラリを使うにあたってUICollectionViewへの深い理解が必要になったので、プログラミングガイドを参考に色々と実装を試しながら理解を進めていきました。 ここでは私と同じようにUICollectionVie

      • テクノロジー
      • 2019/03/23 21:27
      • iOS
      • RxSwiftとReSwiftで実装するMVVM+Reduxアーキテクチャ - Qiita

        7 users

        qiita.com/takehilo

        現在開発中の個人アプリにRxSwiftとReSwiftを使ったMVVM+Reduxアーキテクチャを採用しています。 「MVVM+Reduxアーキテクチャ」といっても、特に新しいアーキテクチャを考えたわけではなく、MVVMとReduxを組み合わせてアプリを実装しているということです。 MVVMとReduxは解決しようとしている課題が異なるため、併用することが可能です。 本記事では、なぜMVVM+Reduxアーキテクチャを採用したのか、どのようにMVVM+Reduxアーキテクチャを実装しているのかについてご紹介します。 なぜMVVM+Reduxアーキテクチャを採用したのか MVVMで開発して感じていた課題 会社では数人の開発者でiOSアプリの開発を行っており、アーキテクチャにはMVVMを採用しています。 規模としては小さいアプリなのですが、MVVMで1年ほど開発を行ってきて、ずっと感じていた課

        • テクノロジー
        • 2018/12/12 23:07
        • iOS
        • 開発版とリリース版でFirebaseのGoogleService-Info.plistを切り替える - Qiita

          5 users

          qiita.com/takehilo

          iOSアプリの開発版とリリース版で別々のFirebaseプロジェクトを使うとき、GoogleService-Info.plistを環境ごとに切り替えてあげる必要があります。 この切り替え方法についてまとめます。 環境ごとに別々のターゲットを使用する場合 ターゲット設定 Firebaseに開発用とリリース用の2つのプロジェクトを作成しておきます。 ここではBundleIDは共通にすることとします。 開発版のターゲット名はFireApp-Debug、リリース版のターゲット名はFireApp-Releaseとします。 GoogleService-Info.plistの配置 Configs/DebugとConfigs/Releaseといったように、環境ごとにディレクトリを作成し、そこにそれぞれのGoogleService-Info.plistファイルを配置します。 詳しくは後述しますが、「Goog

          • テクノロジー
          • 2018/12/02 23:34
          • ios
          • RxTest、RxBlockingによるテストパターン

            4 users

            qiita.com/takehilo

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? RxTestとRxBlocking、プロジェクトにRxSwift導入している人はみんな使っていますよね 私の関わっているプロジェクトでもRxSwiftを使用しており、もちろんテストコードを書く際にはこの2つのライブラリを使っています。 RxTestとRxBlockingを使ったテストコードの書き方にはいくつか基本的なパターンがあり、それらを覚えておけば、Rxなコードのテストは簡単にかけるはずです。 本記事では、RxTestとRxBlockingを使ったテストコードの基本パターンと、実際のプロジェクトで出てくるようなプロダクションコードに

            • テクノロジー
            • 2018/10/03 21:15
            • ios
            • WebpackやBrowserifyはどうやってバンドルを作っているのか - Qiita

              9 users

              qiita.com/takehilo

              はじめに WebpackやBrowserifyなどのモジュールバンドラーは最近のWeb開発ではなくてはならない存在ですが、基本的には設定ファイルを書いてコマンドをたたくだけでバンドルができてしまうので、それらがどのようにモジュールの依存関係を解決しバンドルを作成しているのかという裏側の仕組みまで知る機会はあまりないかと思います。 私自身もVue.jsアプリを作っていたりしますが、Webpack周りはvue-cliにお任せしてしまっているので、Webpackについてはあまり詳しくありません。 しかし先日Webpackによるビルドがうまくいかないことがあり、何が原因なのか調べるのにバンドルのソースを確認しようとしたのですが、どこに何が書いてあるのかよくわからず非常に苦労しました。 そんな時にTwitterでminipackというリポジトリを見つけました。 https://github.com/

              • テクノロジー
              • 2018/08/26 11:07
              • javascript
              • node.js
              • インターネット
              • ツール
              • すぐに使える!Swiftリファクタリングアイディア集 - Qiita

                3 users

                qiita.com/takehilo

                随時更新します 既存のプロジェクトにすぐに導入できるちょっとしたリファクタリングのアイディアを集めてみました。 こうしたアイディアを積極的に取り入れて、シンプルで美しいコードを目指しましょう。 How to slim down your viewDidLoad() method ネットワーク通信やビューの設定等、多くの初期化処理で膨らんだviewDidLoad()メソッドをスリムにしようという話。 override func viewDidLoad() { super.viewDidLoad() // 各ビューの設定など... // APIからデータを取得 let request = ListOrders.FetchOrders.Request() interactor?.fetchOrders(request: request) // 他の何か... }

                • テクノロジー
                • 2018/07/19 20:28
                • swift
                • refactoring
                • qiita
                • ヘッドレスChromeライブラリpuppeteerの全てのサンプルプログラムを試してみた - Qiita

                  9 users

                  qiita.com/takehilo

                  'use strict'; const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.setRequestInterception(true); page.on('request', request => { if (request.resourceType() === 'image') request.abort(); else request.continue(); }); await page.goto('https://news.google.com/news/'); await page.screenshot({path: 'news.png', fu

                  • テクノロジー
                  • 2018/07/12 22:14
                  • Puppeteer
                  • chrome
                  • UITextField.rx.textがイベントを発行するタイミング - Qiita

                    5 users

                    qiita.com/takehilo

                    キーボードでリターンキーをタップした時、入力されている文字列が2回ストリームに流れてくるので、UITextField.rx.textをサブスクライブしてAPIリクエストを行うなどの処理をしている場合は余計な通信が発生しないよう注意が必要です。 下記で紹介しているコードを見ていただければと思いますが、こうした余計なイベントへの対応としてUITextField.isEditingプロパティが使えるかもしれません。 また、UITextField.textにコードから文字列を代入した場合、UITextField.sendActions(for: .valueChanged)を実行しないとUITextField.rx.textイベントが流れてこない点も気をつけましょう。 画面とコード テストに使用した画面とコードを以下に載せておきます。 画面は一つのUITextFieldと二つのUIButtonで構

                    • テクノロジー
                    • 2018/07/11 11:29
                    • Unity
                    • UI
                    • テレビ番組への観覧応募をpuppeteerで自動化する - Qiita

                      3 users

                      qiita.com/takehilo

                      大好きなテレビ番組の観覧募集にいつも応募してるのですが、なかなか当選しません 毎回名前やら住所やらを入力するのが面倒になってきたので、puppeteerで観覧応募を自動化してみました。 ※あんまり良くないかなと思って具体的な番組名やサイトのURLを載せるのはやめました。なので単にフォーム入力の自動化の方法を紹介する内容になってます puppeteerとは ヘッドレスChromeを操作するためのNode.js APIを提供するライブラリです。 puppeteerを使うと、Webサイトを開いたり、WebサイトのページのスクリーンショットやPDFを取得したり、入力欄に文字を入力したりと、私たちがブラウザ上で手動で行う操作のほとんどをプログラムから実行することが可能になります。 puppeteerはWebアプリケーションのE2Eテストで使用されるケースが多いと思います。 以前にpuppeteerの

                      • エンタメ
                      • 2018/05/01 12:36
                      • 文字コード/改行コード変換コマンド nkf メモ - Qiita

                        6 users

                        qiita.com/takehilo

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

                        • テクノロジー
                        • 2018/04/12 14:52
                        • linux
                        • 既存のPHPサイトにNode.js+Socket.ioチャットボットを追加しセッションを共有する - Qiita

                          3 users

                          qiita.com/takehilo

                          既存のPHPサイトにチャットボットを追加しようという話があるのだが、そのサイトにはユーザ認証機能があり、チャットボットに関しても認証済みのユーザしかアクセスさせたくないという要件がある。 PHPサイトはCMSを利用しているため、こちらにはほとんど手を入れずに実装したいと考えているので、チャットボットとの会話インターフェースはPHPサイトにiframeを埋め込むこととし、iframeでロードするページはNode.jsから配信、Node.jsで配信されたページ内でSocket.ioを使ったチャットを行うという構成を考えている。 ここで問題になるのが、PHPとNode.js+Socket.io間でのセッションの共有をどうするかということ。それぞれ個別に認証機能を持つというのはあまりに利便性が悪いため、PHPで認証したユーザをNode.js側も認識できるようにしたい。 セッション共有の戦略 上記要

                          • テクノロジー
                          • 2018/02/21 21:29
                          • Ansible2.0 OpenStackモジュール入門 - Qiita

                            3 users

                            qiita.com/takehilo

                            先日、Ansible2.0がリリースされました。アップデートの詳細はこちらのリリース記事訳を参照していただくとして、ここではその中でも大幅に強化されたOpenStack API操作モジュールについて、その概要や簡単な使い方を紹介します。 OpenStack上でシステムを構成する一通りのモジュールが揃った これまでのバージョン1.X系でも、OpenStack上でのインスタンス作成・削除やネットワーク作成・削除といった簡単な機能を提供するモジュールはあったようですが、操作できるAPIは限られていました。しかし、今回のアップデートでは、OpenStackのIaaSとしての機能ほとんどをカバーしているようです。 これにより、 Ansibleだけでインフラのプロビジョニングからアプリケーションのデプロイまで 可能になったことになります。これまでは、インフラのプロビジョニングはHeatやVagrant

                            • テクノロジー
                            • 2017/07/05 22:52
                            • OpenStack
                            • ansible
                            • Express.jsとMongoDBでページネーションする - Qiita

                              7 users

                              qiita.com/takehilo

                              環境 Node.js: v4.3.2 MongoDB: 3.2 Express.js: 4.13.1 Bootstrap: 3.3.6(ビューで使用) 準備 express-generatorでひな形を作成し、追加のパッケージをインストールしておきます。MongoDBへのアクセスにはmongooseを使用します。 Expressでページネーションを行うために、express-paginateというパッケージを使用します。また、mongoose-paginateをあわせて使用することで楽にページネーション出来るようになります。

                              • テクノロジー
                              • 2017/03/15 20:22
                              • express
                              • MongoDB
                              • node.js
                              • Node.js用MongoDBライブラリ mongooseの基本操作まとめ(すぐ試せるサンプル付き) - Qiita

                                13 users

                                qiita.com/takehilo

                                Node.jsアプリからMongoDBを操作するためのライブラリであるmongooseについて、その使い方をまとめる。 試したバージョン Node.js: v0.10.40 mongoose: 4.4.9 MongoDB: 3.0.7 前提 MongoDBがlocalhost:27017で動いている Node.jsがインストールされている Mongooseがインストールされている スキーマ 登録するドキュメントは日本酒データ。 日本酒の銘柄brand、特定名称typeおよび飲んだ感想impressionsを複数登録できるようにする。 特定名称および飲んだ時の温度帯temperatureについては別コレクションを参照するようにする。 日本酒 var Sake = new Schema({ brand: String, type: { type: Number, ref: 'SakeType'

                                • テクノロジー
                                • 2017/03/13 21:52
                                • MongoDB
                                • Node.js
                                • LoopBack.jsで高速REST API開発 〜ゼロから開発、APIの使い方まで〜 - Qiita

                                  13 users

                                  qiita.com/takehilo

                                  LoopBack.jsはサクッとREST APIを作るためのNode.jsフレームワークです。コマンドラインのジェネレーターを駆使してモデルを作っていくので、コーディングが少なく済みます。また、REST APIのオンラインドキュメントを生成してくれるSwaggerが組み込まれていて非常に便利です。 作成するモデル 今回はシンプルなToDoアプリを作ることを想定して、以下の様なモデルを作成します。 Accountモデル: ToDoアプリのユーザ ToDoモデル: ToDoタスク LoopBack.jsではビルトインのUserモデルが用意されていて、認証機能などがあらかじめ組み込まれています。今回AccountモデルはこのUserモデルを継承させるため、特に追加のプロパティは持たせません。 ToDoモデルについては以下のプロパティを持たせます。 プロパティ名 型 説明

                                  • テクノロジー
                                  • 2016/11/25 23:32
                                  • API
                                  • js
                                  • qiita

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

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

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

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

                                  j次のブックマーク

                                  k前のブックマーク

                                  lあとで読む

                                  eコメント一覧を開く

                                  oページを開く

                                  はてなブックマーク

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

                                  公式Twitter

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

                                  はてなのサービス

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