タグ

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

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

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

    iOS/Android セキュリティガイドライン - Qiita
    enmtknt
    enmtknt 2018/11/21
  • ドメインもしくはドメインモデルという概念が登場する書籍一覧

    Help us understand the problem. What are the problem?

    ドメインもしくはドメインモデルという概念が登場する書籍一覧
  • 【合格しました!】AWS 認定ソリューションアーキテクト アソシエイト 受験記 - Qiita

    AWS認定ソリューションアーキテクト アソシエイトを受験しました。 受験に向けてどんな事をしたのか、そんな勉強をしたのかをまとめます。 結果 合格しました! 得点は74%でした。 試験中に手ごたえがあまりなくドキドキでしたが、無事合格できてうれしいです! 所感 今回、認定取得を目指して学習したことで、AWSの知識が相当増えたと感じます。 具体的には AWSのサービスを使用してシステムをどう構成すればよいのか AWSのおのおののサービスの得意なこと不得意なこと AWSにおけるベストプラクティス というようなことが学べ、業務にいかすことができると感じています。 認定をとりたい、という方はもちろん、業務で使えるAWSの知識をもっと増やしたい、という方にもおすすめの認定です。 受験記です。 受験前のAWSAWS格的に使っているのはここ1年ほどです。使用しているサービスは、EC2、RDS、S

    【合格しました!】AWS 認定ソリューションアーキテクト アソシエイト 受験記 - Qiita
    enmtknt
    enmtknt 2018/10/16
  • AWS認定9冠制覇したのでオススメの勉強法などをまとめてみる

    まず11位の「クラウドプラクティショナー」ですが、2018年に新設されたAWSのエントリーレベルの認定です。AWSの基的な概念や、AWSのベーシックなサービスの特長、請求・アカウントマネジメント・料金モデルなどに関する理解が問われます。エンジニアだけでなくマネージャーや営業など様々なポジションを対象とした認定であるため、問われる知識の範囲は意外に広いです。ただ、知っていれば解ける問題が多いため、この順位にしています。 10位の「Alexaスキルビルダー - 専門知識」は、文字通りAlexaのスキル開発に関する知識が問われます。専門知識と銘打たれていますが、内容自体はそこまで難しくなく、Alexaスキル開発に関して知っていれば解ける問題が多かった印象です。これまでにAlexaスキルを開発したことがあり、クラウドプラクティショナーレベル以上のAWS知識があれば、問題なく合格できると思います。

    AWS認定9冠制覇したのでオススメの勉強法などをまとめてみる
    enmtknt
    enmtknt 2018/10/16
  • XIBからViewを生成する4つの実装パターン - Qiita

    はじめに XIBファイルからカスタムViewを生成する方法はいくつかあります。 XIBファイルのFile's OwnerやViewのclassをどのように指定し、そこから生成したViewをどのようにclassに紐づけていくのかを以下の4つのパターンで記載していこうと思います。 リンク Files's Owner View Class ViewのIBOutlet紐付け 利用法

    XIBからViewを生成する4つの実装パターン - Qiita
    enmtknt
    enmtknt 2018/09/22
  • 英語のコーディング面接 (React) を受けた感想、やっておけば良かったと思ったことなど

    海外のスタートアップのコーディング面接を受ける機会があったので、やっておけばよかったなーと思うことを忘れないようにメモっておく。 なお、まだ受かったかどうかの連絡は来ていないので、参考程度にして頂ければと思う。合否は追記したい。 (一応、 Qiita の方針に従うために、 React の説明入れた) 前提 ベルリンのスタートアップ React のちょっとした問題を出された この会社では1次面接は自己紹介で、2次面接がコーディング面接だった appear.in + Codepen で面接した 所要時間 1時間20分 (多分もっと早く終るはずだったのだろう) 教訓 事前準備 まず最初に、自分のレベルを知る 受験で、模試や過去問を解くのに近い アルゴリズム系は、 https://leetcode.com で練習できる 番っぽい面接は、 http://pramp.com/ で実練習できるので、時

    英語のコーディング面接 (React) を受けた感想、やっておけば良かったと思ったことなど
    enmtknt
    enmtknt 2018/09/21
  • ソフトウェア開発に役立つ 心理学的現象、行動経済学の概念など 15題 - Qiita

    ソフトウェア開発の様々な局面で役に立つ、心理学的現象や行動経済学についての知識です。 経験則で把握済の事柄もあるかもしれませんが、 言語化して名前を与えることで何かのときにスッと出せたり、周囲の方々と議論しやすくなったりすると思います。 以下の3つの分類で記載いたします。 打ち合わせやチームワークに役立つ知識 設計やプログラミングに役立つ知識 メンタルヘルスケアに役立つ知識 打ち合わせやチームワークに役立つ知識 自己効力感 自己効力感とは、自分には何かを達成する能力がある、と信じる感覚です。 自己効力感が形成されていると、仕事の意欲が増したり、効率が上がったりします。 「この仕事は絶対ムリ~(>_<)!」と感じている仕事についてやる気がわかなかったり進捗が出なかったりするのは、自己効力感の欠如が原因であることがあります。一旦やる気を出すと案外簡単に進められたとか、真剣に取り組むと思ったより

    ソフトウェア開発に役立つ 心理学的現象、行動経済学の概念など 15題 - Qiita
    enmtknt
    enmtknt 2018/09/03
  • [Kaggle]0から本当に機械学習を理解するために学ぶべきこと~一流のデータサイエンティストを例に~ - Qiita

    機械学習が出来るようになりたい」そう思いつつも、中々身についた感じがしない。 そんな方々に向けて、Kaggleで公開されているデータ分析の手順を追いかけながら、そこで必要とされている知識を解説したいと思います。全体像を把握することで、より理解が進むはずです。 1. データを分析するために必要な統計的知識 機械学習の目的は未知の事柄を推定することです。そのために既にあるデータから何らかの法則性を見つけ出す為に様々な手法が考えられてきました。 統計学はご存知でしょうか? 機械学習はデータを扱うという点で統計学と深い関係があります。平均値や標準偏差などは聞いたことがあると思います。統計学はそれらの情報をこねくり回すことによって、限られたデータから当の全体像を推定します。例えば、選挙の結果を開示前に知りたいときに、投票者全員に聞ければ良いですが、そうもいきません。そこで、統計学は様々な方法を使

    [Kaggle]0から本当に機械学習を理解するために学ぶべきこと~一流のデータサイエンティストを例に~ - Qiita
    enmtknt
    enmtknt 2018/07/18
  • 「え!? ifもforも使わずにライフゲームの実装を!? 」「できらぁ!!」 - Qiita

    この前Coderetreatというイベントに参加してライフゲームを実装した際、チャレンジ目標に「条件分岐禁止」や「ループ禁止」があった。 イベント中はやれなかったので、今回挑戦してみる。 ライフゲームってのはこんな感じのやつ。 課題 ライフゲームを実装する (ルールの詳細はリンク先参照、一部抜粋) ライフゲームのルール ライフゲームでは初期状態のみでその後の状態が決定される。碁盤のような格子があり、一つの格子はセル(細胞)と呼ばれる。各セルには8つの近傍のセルがある (ムーア近傍) 。各セルには「生」と「死」の2つの状態があり、あるセルの次のステップ(世代)の状態は周囲の8つのセルの今の世代における状態により決定される。 セルの生死は次のルールに従う。 誕生 死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する。 生存 生きているセルに隣接する生きたセルが2つか3つな

    「え!? ifもforも使わずにライフゲームの実装を!? 」「できらぁ!!」 - Qiita
    enmtknt
    enmtknt 2018/07/12
  • macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita

    macOSをHigh Sierraにアップデートしたら、cURLのバージョンが7.54.0になっており、さらにHTTP/2の利用ができるようになっていました。 iOS10からはAPNs Provider APIを利用したPUSH通知が受け取れていたため、pemファイルさえあればローカルのmacOSからiPhone実機へ向けたPUSH通知を送れます。 念のため、curlコマンドからnghttp2込みでビルドされているのを確認するのは-Vです。 $ curl -V curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps p

    macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita
    enmtknt
    enmtknt 2018/07/06
    curlでプッシュ通知送れるの知らなかった
  • iOS開発における最強のパッケージ管理方法 - Qiita

    この記事では私が最強だと思っているiOS開発におけるパッケージ管理方法を紹介します。 ここで言うパッケージ管理とは、我々がアプリやライブラリを開発する際において、 依存する外部ライブラリを宣言、取得、ビルド、共有等をすることです。 最強の方法 この記事で紹介する最強の方法は、「Carthage --no-build --use-submodules + xcworkspace」方式です。 その名の通り、Carthageを--no-build --use-submodulesオプションと共に使用しつつ、xcworkspaceを使います。 以下ではその詳細について述べます。 そもそもパッケージ管理とは何か 我々がパッケージ管理に求めている事は何でしょうか。 私は大きなところでは下記だと整理しています。 依存するライブラリのバージョンを宣言・共有できる事 依存ツリーをフラット化して解決できる事

    iOS開発における最強のパッケージ管理方法 - Qiita
    enmtknt
    enmtknt 2018/07/05
  • Swiftらしいコーディングを学ぶ 「Generics」 - Qiita

    はじめに SwiftのドキュメントやOSS見るとGenericsがよく使われてますね。Genericsが使われた関数や型を理解したり柔軟で汎用的なコーディングをしていくためにもGenericsは学んでいくべきだと思います。今回はGenericsについて学んでいきたいと思います。 Generics in Swift, Part 2のWhy generics?では、Genericsを使う理由として以下の3つが挙げられています。 Type safety Less code duplication Library flexibility Genericsを用いることで指定した要件、もしくは任意の様々な型を扱うことができるので、柔軟で再利用可能な型や関数を定義することができます。 ArrayやDictionaryもGenericsなCollectionです。(詳しくはSwiftらしいコーディングを学

    Swiftらしいコーディングを学ぶ 「Generics」 - Qiita
  • Swift4のKVOに新しいクロージャ関数が導入されました - Qiita

    はじめに KVOとはKey-Value Observingの略で、Objective-Cの時代からあるCoCoaフレームワークの基的な機能です。フレームワークとしてはFoundationに含まれ、Notificationsに分類されています。 Swift4から新しい関数やclassが導入されているようなので紹介いたします。 クロージャ記述 まず、KVOがクロージャで記述できるようになりました。 自分的にはKVOって何か複雑な感じがしていたのですが、クロージャに対応しただけで一気に分かりやすくなった気がします(笑) func observe<Value>(_ keyPath: KeyPath<T, Value>, options: NSKeyValueObservingOptions = default, changeHandler: @escaping (T, NSKeyValueObs

    Swift4のKVOに新しいクロージャ関数が導入されました - Qiita
  • Repositoryパターンのアンチパターン - Qiita

    よく見かけるRepositoryパターンのアンチパターンの紹介と対策です。 Repositoryパターンとは Repositoryパターンとは永続化を隠蔽するためのデザインパターンで、DAO(DataAccessObject)パターンに似ていますが、より高い抽象度でエンティティの操作から永続化ストレージを完全に隠蔽します。 例えばDBコネクションやストレージのパス等はReposiotoryのインターフェースからは隠蔽され、Repositoryのユーザは永続化ストレージが何であるか(例えばMySQLやRedis等)を意識することなく保存や検索の操作を行うことができるようになります。 これによりRepositoryを利用するロジックは業務的な操作に集中できるようになる他、データベースの移行等の永続化層の変更が発生した際にロジックへの影響を切り離すことができるようになります。 // 例) ユーザ

    Repositoryパターンのアンチパターン - Qiita
    enmtknt
    enmtknt 2018/05/19
  • ライブラリを使わずにMV*の話(iOS)〜Modelに状態を持たせて状態遷移を行う〜 - Qiita

    この記事は MV*というかModelの話がメインです 結論 Modelに 状態 を持たせ、 状態遷移 を行うようにする。(= Modelをステートマシンとして使う) 話すこと ステートマシンとは 状態とは 状態遷移とは 前提 Model ユーザーに提示する状態・値を持っている 内部状態の変更を通知(Observerパターン)で知らせる 参考? この記事のみでも成り立つように作成していますが、上記の前提を詳しく話しているのは別の記事になります。 ライブラリを使わずにMV*の話(iOS)~ViewとModelの役割〜 ステートマシンの話に入る前に なぜステートマシンが必要になるのか。 アプリ開発のよくある要件を例に話を始めます。 よくある要件 画面上にボタンがある ボタンを押したらサーバーと通信して情報を取得する 通信中 -> インジケータを表示したい 通信中は、再度ボタンをタップされても何も

    ライブラリを使わずにMV*の話(iOS)〜Modelに状態を持たせて状態遷移を行う〜 - Qiita
    enmtknt
    enmtknt 2018/05/17
  • 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。今回は計算量オーダーの求め方について書きます。 0. はじめに 世の中の様々なシステムやソフトウェアはアルゴリズムによって支えられています。Qiita Contribution ランキング作成のために用いるソートアルゴリズムのような単純なものから、カーナビに使われている Dijkstra 法、流行中のディープラーニングに用いられている確率的勾配降下法など、様々な場面でアルゴリズムが活躍しています。アルゴリズムとはどんなものかについて具体的に知りたい方には以下の記事が参考になると思います: アルゴリズムとは何か ~ 文系理系問わず楽しめる精選 6 問 ~ アルゴリズムを学ぶと $O(n^2)$ や $O(n\log{n})$ や $O(2^n)$ といった計算量オーダーの概念が登場します。こうした記法を見ると

    計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita
  • あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに この記事は数百万行の動的型付き言語のWebアプリケーションのリファクタリング、アプリケーションアーキテクチャの再設計の経験を基に、有効だと思われる考え方やアプローチを抜粋して紹介するものです。言うまでもなくあらゆるコードベース、アーキテクチャにおいて有効なものとは限りませんので、各々の環境や状況から適切に判断してください。

    あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita
    enmtknt
    enmtknt 2018/05/14
  • 2018年のPythonプロジェクトのはじめかた - Qiita

    4/30 公開 5/1 増補改訂: 大幅加筆しました。 この記事では、2018年以降に実現可能になったモダンなPythonプロジェクトのはじめかたを整理して紹介します。 PythonにもPipenvという公式推奨の高機能なパッケージマネージャーが登場し、さらに2018年に入ってからの機能向上で、npmやyarnのような開発体験が得られるようになってきました。 私はここしばらくはフロントエンドやNode.jsに携わっていて、npmやyarnに慣れきっていたせいか、pipenv導入以前はvirtualenvやpipを組み合わせた開発が面倒で仕方なかったですが、Pipenv導入によって一変しました。 これからはPythonプロジェクトがよりクリーンかつ簡単にはじめられるようになり、開発体験も向上するでしょう。 それでは、まずはPythonのインストールからです。 Pythonのインストール P

    2018年のPythonプロジェクトのはじめかた - Qiita
    enmtknt
    enmtknt 2018/05/03
  • tig から当該コミットがマージされた Pull Request 画面を開く - Qiita

    GitベースのコードリーディングTips - クックパッド開発者ブログ で紹介されていた open-pull-request がとても便利なので、tig から呼び出せるようにしてみた、という話. 手順 open-pull-request をインストール 上記の記事に貼ってあるスニペットをシェルスクリプトに切り出して open-pr としてパス通した. .tigrc を編集

    tig から当該コミットがマージされた Pull Request 画面を開く - Qiita
    enmtknt
    enmtknt 2018/04/29
  • AWS、何から勉強したらいい?に対する俺の答え - Qiita

    このツイートがわりと好評だったので解説。 「AWS、何から勉強したらいい?」に対する俺が考えた回答がこれ。 pic.twitter.com/ouuP3P27Bu — 伊藤 祐策(パソコンの大先生) (@ito_yusaku) 2018年4月17日 これは誰向け? メンテナー以上の領域を目指す人向け。 オペレータ ... システムの運用、監視、障害調査&対応をする人 メンテナー ... システムの拡張、改善をする人 アーキテクト ... システムを1から設計、構築する人 解説 各科目の選定基準 必修科目 ... AWS番運用するにあたって絶対に避けては通れないサービス。 重要科目 ... 間違った設計をすると、あとから取り返しがつかないサービス。 選択科目 ... 学習量を削るために仕方なく必修から外したが、Webサービスを構築するにあたりほぼ必須となるサービス。 必修科目で押さえておく

    AWS、何から勉強したらいい?に対する俺の答え - Qiita
    enmtknt
    enmtknt 2018/04/19