タグ

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

  • 負荷テストの基本的な考え方と進め方(前編) - Qiita

    番前の負荷テストのお手伝いというお仕事が年に数回まわってきます。始めて負荷テストに取り組まれている方や単体での負荷テストしか経験のない方とお供すると勘違いや楽観的過ぎる計画になっていて修正をお願いさせていただくことがよくあります。 そこで、初心者向けに小生の経験から負荷テストのポイントをいくらかアドバイスしたいと思います。なお、小生は負荷テストの専門家ではないので、Qiitaに投稿されている専門家の方々の立派な記事もあわせて参考にしていただければと思います。 この記事で扱う負荷テストの定義 この記事では次の要件を対象とします。 システムテスト(総合テスト)の段階で行う負荷テスト。 分散ノードが十数台規模、データ量も数百GB程度までの中規模までのシステム。 基はロードバランサで負荷分散するWebシステムでバックエンドにデータベースが控える構造であるが、一部C/Sもあり。 この記事で書くこ

    負荷テストの基本的な考え方と進め方(前編) - Qiita
  • GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita

    はじめに Google Apps Script (GAS) は Web ブラウザ上の JavaScript とも Node.js とも環境が異なります。その違いや、 GAS 特有の機能を理解するとさらに開発が捗るので、それらをこの記事で紹介しようと思います。 Tokyo GAS で 5 分 LT した内容です。 スライドはこちら > GAS ビギナーが GAS を使いこな すために知るべきこと 10 選 ※より網羅的で最新の情報を得たい方は DevFest 2020 の登壇動画 Google Apps Script 入門 2020 をご覧ください。 1. ローカル環境で開発する GAS を好きなエディタで開発したり、ローカルで開発したものを github に上げたりしたくなる。 Google ブログの記事 Apps Script による高度な開発プロセス で紹介されているが、 node-g

    GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita
  • Cloud Spannerの概要と設計上の要点など - Qiita

    Advent Calendarへの参加は、というかQiitaへの投稿自体が初めてなので緊張します。 記事ではCloud Spannerについての概説と設計上の要点などをまとめてみました。技術的な解説というよりは実設計レベルの話を中心にします。 今後ますます注目されるサービスだと思いますが、これから使う人にとって理解の一助になれば幸いです。 ちなみに記事はスケールアウトするSQLシステム(2017/8/22)での発表をベースにしています。ほとんどはこの時に話した内容そのままです。 このイベントでの発表スライドも参考にしてみてください。 Cloud Spannerとは GCPで提供されているデータベースサービスのひとつで、2012年ごろからGoogle社内では使用されてきた。 2017年2月にGCPサービスとしてβリリース、2017年7月には東京リージョンで正式版が提供されている。 Goo

    Cloud Spannerの概要と設計上の要点など - Qiita
  • Go でファイルを1行ずつ読み込む(csv ファイルも) - Qiita

    bufio.Readerで読み込む ReadString 引数にファイルが指定されていれば,ファイルをオープンして1行ずつ読み込みます. 引数が指定されていなければ,標準入力から1行ずつ読み込みます. 追記:ReadString('\n')で読み込むとWindowsの場合\rが残ってしまうのでReadLineの方がいいとのコメントいただきましたので,ReadLine使った版も載せておきました. os.EOFでなくてio.EOFなのがはまりどころでした. Readerはファイルをクローズすれば閉じられるみたいです. package main import ( "bufio" "fmt" "io" "os" ) func main() { var fp *os.File var err error if len(os.Args) < 2 { fp = os.Stdin } else { fmt

    Go でファイルを1行ずつ読み込む(csv ファイルも) - Qiita
  • Go言語: いろいろなマップの作り方まとめ - Qiita

    空っぽのマップを作る パターン1: var variable map[ key_type ] value_type = map[ key_type ] valute_type 長い書き方。

    Go言語: いろいろなマップの作り方まとめ - Qiita
  • Goでオブジェクト指向っぽく書く - Qiita

    はじめに Goはオブジェクト指向の言語ですか?という問いが公式ドキュメントのFAQに載っています。 Is Go an object-oriented language? Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. ... つまり、従来のオブジェクト指向言語とはちょっと違う(型の階層はない)けど、オブジェクト指向っぽく書くことはできるということです(私はそう理解しました)。 そこで、Goでオブジェクト指向っぽく書いてみました。 カプセル化 Goでは、構造体やそのフィールド、関数、メソッドのスコープは、名前の先頭が大文字か小文字かで決まります。 大文字ならpublic、小文字なら同じパッケ

    Goでオブジェクト指向っぽく書く - Qiita
  • Visual Studio CodeでGit mergeする方法 - Qiita

    はじめに Visual Studio CodeでGitのブランチをマージする方法がわかりませんでした。 だって、Visual Studio CodeのGitのメニューにマージがないんですもの。 あるって思うじゃないですか。 自分がどれだけ普段Visual Studioにおんぶにだっこなのかがわかる出来事でした。 とはいえ、マージだけコマンドラインでやるのもスマートではないので調べたところ、以下のようにVisual Studio Code上でマージができることがわかりました。 マージはコマンドパレットから Ctrl+Shif+Pでコマンドパレットを開きます。 そして、入力欄にGit:mergeと入力すると以下のようにマージの項目が表示されます。 そうしたら、マージしたいブランチを選択します。 これで、現在のブランチに選択したブランチがマージされます。 簡単で良かったです。 これからも開発環境

    Visual Studio CodeでGit mergeする方法 - Qiita
  • 今年、遭遇したBigQueryのエラーログを愛でる - Qiita

    私は去年の暮れから(2015年12月)BigQueryの導入を行い、結果導入し活用を行なってきました。 その中で遭遇した数々のエラーログ達を愛でながら、どういった形で対応を行なったか振り返りたいと思います。 BigQueryへの接続は https://github.com/google/google-api-php-client を使用して実装を行なっています。その為、皆様の使っている環境とは微妙に返却されるエラーが違っている可能性もあります。 また、BigQueryは常に進化しています。私が遭遇した事柄も、もうBigQueryは対応し再現しないかもしれません。 エラーが発生した日時はそのままにしておりますがプロジェクト名、プログラム名などは置き換えてありますのでその旨、ご了承ください。 使用したプログラムは1時間に一度、集計処理を行うようなイメージを持って頂ければと。 以下が2016年、

    今年、遭遇したBigQueryのエラーログを愛でる - Qiita
  • 【Swift4】Realm+Codableを使ったお手軽なDB Part.1(モデル編) - Qiita

    はじめに みなさん、こんにちは。株式会社NexceedでiOSエンジニアをしている@cottpanです😎 アプリの開発を行う中で、データベースの操作は避けて通れない操作だと思います。 APIを叩いてJSONをパース パースしたデータを、アプリのDBに保存 JSONエンコーディングして、データ送信 この記事では、これらの操作をお手軽に実現でき、パフォーマンスもそこそこ良い、Realm、Codableを使った方法を説明したいと思います。

    【Swift4】Realm+Codableを使ったお手軽なDB Part.1(モデル編) - Qiita
  • iOS/Android セキュリティガイドライン - Qiita

    必須: 基的に対応が必要。何らかの要因で対応できない場合は関係者への同意をとる。 できれば:状況的に困難でなければなるべく対応する。 基対応なし:特別な要件がなければ対応しない。 直近修正履歴(2018/11/21) [OS共通] ログ出力の対策にproguardによる方法を追記 [iOS] 通信データのキャッシュの対策に一部問題があったため修正 [OS共通] 通信の暗号化 対応要否:必須 リスクの詳細 HTTPで通信を行うと通信データが平文でネットワークに流れるため、情報漏洩の危険性がある。 対策 通信を行う場合はHTTPS(SSL/TLS)通信を利用する [OS共通] SSL証明書のチェック 対応要否:必須 リスクの詳細 通信やWebViewで行われるSSL証明書の正当性検証を無効化すると、ネットワーク管理者などにより通信経路上のデータ改竄、傍受が可能になる。 対策 試験環境で証明

    iOS/Android セキュリティガイドライン - Qiita
  • App Engine Scaling Config - Qiita

    App Engineは、Deploy時にModule Version毎にスケーリング設定を行うことができます。 結構、細かい値が設定できるのだけど、いまいちどんな作用があるのか分かりづらいものもあります。 この記事では、スケーリング設定の値にどんな作用があるのかを解説します。 Moduleって?という方は GAE ModulesをSimpleに使う を見てください。 3つのスケーリング設定概要 App Engineのスケーリング設定は3つ存在します。 それぞれ特性が違うので、Moduleでどのような処理をしたいのかによって、選択するスケーリング設定を変えます。 Automatic Scaling Request数に合わせて自動でインスタンスの追加、削除を行う設定。 App Engineでよくオートスケールが特徴と言われるのは、主にこの設定を指している。 たくさんの小さなRequestをさば

    App Engine Scaling Config - Qiita
  • LaunchScreenの表示時間を変更する方法

    LaunchScreenとは iOSアプリの起動時に表示される画面のこと。(数秒間ロゴが表示されるやつ) xcodeでiOSアプリを作成する際には、自動でLaunchScreen用のstoryboard(LaunchScreen.storyboard)が作成されており、そこでデザインを決めることができる。 やりたいこと 初期設定だと、この画面は一瞬表示された後すぐ消えてしまう。(ホントに一瞬!!) なので、この表示時間を2秒間に変更したい。(世の中のアプリは大体このくらいの時間のイメージ) 動作環境 swift 4.2 xcode 10.0 行ったこと AppDelegate.swiftの func applicationにsleep(2)を追加。 変更前 func application(_ application: UIApplication, didFinishLaunchingWi

    LaunchScreenの表示時間を変更する方法
  • VSCodeのオススメ拡張機能 24選 (とTipsを少し)

    1. vscode-icons アイコンがついて見やすくなる。 2. GitLens とにかく強い。 「コミット単位でのファイル比較」や「最新のコミット内容とそのコミッター表示」など色々してくれる。 git blameする手間なくなる。 3. Prettier コードのフォーマットは自動でやりましょう! 複数人のこだわりをうんたらするよりも、Prettierに委ねるのが楽。 関連のTipsはここ 4. Git History Git logが見やすい 5. Bracket Pair Colorizer カッコの対応を色付きで表示してくれる。 ものすごく読みやすくなって最高&最高!! なおBeta版ですが、後継となるBracket Pair Colorizer 2も出ています。 6. Settings Sync どこでも同じ設定で使いたい人には便利。 ⇧ + ⌥ + U/D で設定をアップロ

    VSCodeのオススメ拡張機能 24選 (とTipsを少し)
  • Swift3での日時に関する処理 - Qiita

    print(Calendar.current.identifier) // gregorian // 現在日時 let date = Date() // 年月日時分秒をそれぞれ個別に取得 let calendar = Calendar.current let year = calendar.component(.year, from: date) let month = calendar.component(.month, from: date) let day = calendar.component(.day, from: date) let hour = calendar.component(.hour, from: date) let minute = calendar.component(.minute, from: date) let second = calendar.com

    Swift3での日時に関する処理 - Qiita
  • UIKitCatalogのサンプルコードからtvOSのフォーカスを学ぶ - Qiita

    はじめに Appleの公開しているtvOSのUIKitの扱い方が分かるサンプルコードをリーディングして、正しいtvOSアプリのフォーカスとユーザインタフェースの在り方を学ぼうと思います。iOSと変わらない部分が多いので必要な部分だと思った箇所(フォーカス関連)中心に見ていきます。 iOSアプリ開発者にとってtvOSアプリで開発で最も困るのがフォーカスの扱いですね。フォーカスって何?と思った方は公式ドキュメントかairbnbのこの記事を一度流し読みすると良いかと思います。 実行環境とサンプルのバージョン tvOS: Version 9.1 Swift: Version 2.1.1 Xcode: Version 7.2 UIKit Catalog (tvOS): Version 1.3, 2016-02-04 フォーカスの変更と更新 ビルドしてみると以下のような画面が出ると思います。「Cont

    UIKitCatalogのサンプルコードからtvOSのフォーカスを学ぶ - Qiita
  • tvOSアプリをβ配布する - Qiita

    こんにちは。みなさんtvOSアプリ作ってますか? tvOSには現状iOSのOTAのような便利な配布方法がないため、β配布する場合は、どんな人でもXcodeからインストールしなければなりません。 手順にまとめる機会があったため、せっかくなので記事にしました。 配布方法としては、以下の2つがあります。 AdHoc署名のipaを配布 Enterprise署名の配布(Xcode8.3.2くらいから利用可能になりました。) AdHoc配布の場合、デバイス登録が必要になります。まずはこの部分を解説します。 Enterprise配布を利用する方は、そのまま ArchiveしてExportする に進んでください。Xcode8のAutomatic Signingを利用すれば、困ることはないと思います。 インストールしたいAppleTVのUDIDをProvisioning Profileに登録する 何はともあ

    tvOSアプリをβ配布する - Qiita
  • 「Docker」を全く知らない人のために「Docker」の魅力を伝えるための「Docker」入門 - Qiita

    「職場の人たちにDockerをもっと訴求したい!」そんな想いから、「Dockerって何?」といった方々にDockerの魅力を伝えるための記事を書いてみました。 Dockerのインストール方法については、『Amazon EC2にDocker CEの環境を構築する』にまとめています。併せてお読みください。 「Docker」とは 「Docker(ドッカー)」は近年大変注目されている 仮想化ソフトウェア です。 2017年の企業におけるDockerの導入状況は「番環境で使用している」という企業が6.0%、「開発/テスト/検証段階」の企業が13.1%であったようです。(「2017年 国内OpenStack/Dockerの導入状況に関するユーザー調査結果を発表」) Dockerが注目されている一番の理由はその 手軽さ です。Dockerを使えば、以下のようなサーバー環境を簡単に構築することができます

    「Docker」を全く知らない人のために「Docker」の魅力を伝えるための「Docker」入門 - Qiita
  • XcodeのArchiveを一括削除する方法 - Qiita

    Xcodeでアプリ申請するときなどにArchiveしたデータはアプリの容量と同じだけHDDを圧迫します。 気がついたら数GBも溜まってたりするのでたまに消しちゃいましょう。 /Users/ユーザー名/Library/Developer/Xcode/Archives にArtiveしたデータが格納されてるので、ふつうにゴミ箱に入れちゃえばOKです。 とりあえず僕の環境ではこれでなんの問題もありませんが、やるときは自己責任でお願いしますm(_ _)m Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you ca

    XcodeのArchiveを一括削除する方法 - Qiita
  • TravisCIとfastlaneでiOSアプリのCI【完成版】 - Qiita

    前回の記事からはや3ヶ月・・・ TravisCIとfastlaneでiOSアプリのCI【途中】 その間何をやっていたかというと、、、特に何もしていませんでした つい最近またCI熱が高まり、ついに使えるところまで持っていけたので、まとめて記事にします 前回の記事と方針が変わっているところもありますが、それはご愛嬌 この記事で実現できること、前提条件 ちょっと量が多いですが、大事なことなので書いておきます。 特にビルドコンフィギュレーションとプロビジョニングファイルについては把握しておかないと、CI上でアーカイブする時にCode Signing Errorで苦しむことになります(僕はなりました)。 AppleアカウントとかバンドルIDとかチームID 一つしか使いません。開発環境と番環境で変えるとか、Developer CenterとiTunesConnectで違うアカウント使うとか、そういっ

    TravisCIとfastlaneでiOSアプリのCI【完成版】 - Qiita
  • Swift & iOS 雑多 Tips - Qiita

    final class DeviceConst { let osName = "iOS" // NOTE: コストの高い変数(定数)は、lazy をつけてクラスの初期化コストを抑えた方が良さそう(遅延評価) // 但し、このは場合は大した処理でもないのでほとんど変わらないと思いますが。。。 lazy var osVersion = UIDevice.currentDevice().systemVersion lazy var appVersion = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as? String ?? "" lazy var appName = NSBundle.mainBundle().infoDictionary?["CFBundleName"] as? String ??

    Swift & iOS 雑多 Tips - Qiita