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 can do with signing up
Kotlin、MockitoによるRepositoryパターンのLocal Unit TestについてAndroidKotlinMockito こんにちは、 Androidアプリエンジニアの大屋です 最近ようやくテストコードを書き始めたのでテストについてまとめていきたいと思います。 今回はRepositoryパターンのLocal Unit Testについてです。 現在、開発中のアプリですが、MVVM + Repositoryパターンのレイヤードアーキテクチャを採用していてRepositoryパターンの機構を単体テストするにはどうしたらいいのか気になったのでトライして見ました。 よろしくおねがいします💪💪💪 テスト実施用のサンプルアプリ あと、今回テストするのに簡単なサンプルアプリを用意しました。 アプリといってもSharedPreferencesに書き込み、読み込みをするだけのアプリ
この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 本稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。
$ curl -s -v --sslv3 https://example.com 1> /dev/null * Rebuilt URL to: https://example.com/ * Trying 93.184.216.34... * Connected to example.com (93.184.216.34) port 443 (#0) * SSL peer handshake failed, the server most likely requires a client certificate to connect * Closing connection 0 おっと、SSLハンドシェイクで通信に失敗したようですね。SSL3.0はPOODLE脆弱性問題があります。ちゃんとexample.comでは無効にしているようですね。以下のようにTLS1.2ではきちんとできました。Di
はじめに AtomとはGithub社が開発元のテキストエディタです。デザインテーマやプログラミングをする際に便利なパッケージが豊富にあり、それらを簡単に管理画面から追加・変更出来るため人気のエディタです。 今現在使用していて、Sublimetextに比べると多少のもっさり感があるものの気に入って使っています。Sublimetextに関する記事も以前に書いたものがあるので、気になった方は見てみてください。 こちらにリンクを貼っておきます パッケージのインストール方法 上部メニューよりPreferencesを選択し、表示された管理画面のInstallよりパッケージを検索して、installを行います。 稀にAtomの再起動が必要なパッケージもあるようなので、インストールが終わったらとりあえず再起動としておきましょう。 用途別パッケージ とりあえず入れておくパッケージ Linter 構文チェック
1. はじめに 1-1. 技術の概要 エンジニアの技術は、かなりざっくり言うと、 フロントエンド → 見える部分。 (例)HTML、CSS、JavaScriptなど サーバサイド → アプリケーションを動かす中身の部分。 (例)Java、PHP、Ruby、C、C++、Perlなど インフラ → Webアプリケーションを動かすための環境構築など。 (例)Webサーバ構築、DBサーバ構築、DNSサーバ構築など の3つに類別できる。 その中で、プログラミング未経験者が最も手をつけやすいのが、フロント(HTML、CSS、JavaScript)の技術である。 ※ 上記は、「Webアプリケーション開発」のお話です。 ※ 「ネイティブ開発」ではObjective-C/Swift/AndroidJava/Cocos2d-x/Unityなどがよく使われる。 1-2. フロントの概要 フロントの技術を学ぶため
はじめに 私は主にiOSアプリのプログラマーなのですが、デザインまで一緒に頼まれる事があります。 デザイナーじゃないので1からデザインをしていくなんて到底無理です。 そんな時にノンデザイナーの方でも良い物を作るために UIデザインのギャラリーサイトと配色パターンを決める便利なサイトをご紹介致します。 基本他のアプリを真似参考にするといい感じにできちゃうかもしれません。 Web系開発の方も配色パターン等は参考になると思います。 デザインをする前に デザインをする前に呼んでおいたほうがいい物 - ITエンジニアに易しいUI/UXデザイン - デザイナーに言われた「非デザイナーが気をつけるべきデザインの4原則」 - ノンデザイナーのための配色理論 アプリデザイン CAPPTIVATE.co 動きのあるカッコいいUIばっかり載っています。 種類別で見ることもできるので便利ですね。 Mobile D
プログラミング学習サービスやら、ペットサロン予約サービス、風俗予約サービスなど色々とやっている「かずきち」です。 ◾️その他Qiita記事 エンジニアで稼ぐために大切な20のコト ウェブカツ生を雇わない?転職できない?著作権無断使用の炎上から1年を経て思うところをぶっちゃける。 テックキャンプをウェブカツ!! 顧問が徹底レビューしてぶった切ってみた ■運営サービス一部 http://crazy-wp.com/ フリーランスエンジニアを育成するオンライン最大級のプログラミングスクール「ウェブカツ」 http://webukatu.com/ ■プログラミングスクール「ウェブカツ」の出版本 「小学生からでもプログラミングを楽しく学べる漫画作りたいなー」と思い立ち、外注してウェブカツで漫画本を作りました。KADOKAWAさんより出版しています。 はたらくプログラミング 完全版 (コミックエッセイ)
これはDMM.com #2 Advent Calendar 2017 - Qiita 23日目の記事です。 昨日は @norinity1103 さんの 「パターン・ランゲージ」のワークショップを社内で実施した件 でした。 カレンダーのURLはこちら DMM.com #1 Advent Calendar 2017 - Qiita DMM.com #2 Advent Calendar 2017 - Qiita 自己紹介 はじめまして。DMM.com LaboのÉcouffesと申します。最近のマイブームは吉岡里帆のどんぎつねクリアファイルを30分毎に眺める事です。そのマイブームも、あれです、自動化したいです。はい。 はじめに 今回 Advent Calendar 参加にあたり、当初は勢い余って『超マイナーなCSSヲタク知識を晒してみる』と宣言しました。 ヲタク知識たるもの、実務に即役立つ有益な
こんにちは、 UXデザイナーの @yuh_iw です。 この記事は NTTコミュニケーションズ Advent Calendar 2017 の23日目です。 すべては最高の体験のために 弊社では、ようやく社内にUXデザインという言葉が浸透し始めていますが、 実態はUIと共に語られることが多いです。(実際は違うよ) とはいえ今回はUIを作るために私達がいつも行っていることについて記載します。 どうやってUIを作っていくのがよいか とにもかくにも、ユーザーに対する検証と学習をくり返すことです。 最高のUI=カッコイイUIではありません。アーティスティックなUIでもありません。 UIにはユーザーがいるので、ユーザーが使いやすいと思わなければならないのです。 そのために、使ってくれそうな人に、検証していく必要があります。 検証するためにはいくつか方法がありますが、 本稿ではUIプロトタイピングを行う
LITALICO CTOの岸田崇志(@takish)です。 2017年のアドベントカレンダーもついに最終日となりました。 入社して2年経ち、エンジニアも順調に人数が増え、新卒採用からの育成、そして新規事業ラインへのエンジニアラインがスケールアウトできるようになってきました。 特に前職ではインターネット事業の急激な成長を経験したので、エンジニア育成サイクルの礎を築いて置くことの重要性は身にしみて感じていたので、最初からそれを念頭に組織を組み立てています。 はじめに 筆者はエンジニア組織の立ち上げは3回目なので「デジャヴ?!」と感じる事も多々あり(笑)、既視感ありまくりの2年でした。 一方で既視感があるということは、どこも成長のフェーズにおいて同じ課題に直面するということでもあるという事でもあります。 そのため、そのような経験を基に過去失敗した轍をもう一度踏まないことを心がけました。 成長フェ
懸垂線とはあまり伸びないロープやチェーンなどの端を、2点固定してぶら下げてできる曲線です。 これの何が面白いかというと、この曲線が大変シンプルな数式で表せる所にあります。 結論から述べてしまうと以下の式がこの曲線を表現しているというのです。 実際に写真に重ねてみると(desmosは便利ですね!)、 おお、たしかに現実の物理現象と大変よくマッチしています。 実際のところわりとこのトピックは語り尽くされた内容ではありますが、 この記事では、 一体どこからこの関数がやってきたのか? コンピュータグラフィックスで懸垂線を扱うには? というのを個人的に興味がある数学と一緒に学んでみたいと思います。 プログラミングにはC++を使うことにします。 この関数はどこから来るの? 実のところ、この懸垂線の関数の導出には調べてみるとたくさんアプローチがあります。今回はそのうち自分の好きなやり方を一つ紹介します。
弊社は、他社さんとタッグを組んで小規模なソシャゲの開発&運用を行ってきました。 その中で、開発者ながらも提案・開発・運用まで全てのフェーズに関わらせていただき、色々知見が溜まってきましたので、その一部を共有します。 1. ソシャゲはユーザ層を幅広く意識する必要がある ソシャゲの大きな特徴のひとつとして、「ユーザが継続的に遊ぶ」という点があります。 ソーシャル性(人との関わり)がある コンテンツを継続投入する ことで発生するワケですが、このとき注意しないといけないのがユーザ層についてです。 通常のゲームであれば「ライトなユーザ」か「ヘビー(マニアック)なユーザ」のいずれかターゲットを絞ることも多いかと思います。 ゲームクリアまで遊んでもらうことを目的とするのであればターゲットを絞っちゃった方がコンセプトがハッキリして良いですが、ソシャゲは継続的に遊んでもらいたいがゆえに、「ライトな層を取り込
はじめに 本記事では私なりの CloudFormation を少しでも楽にメンテするノウハウを説明します。 この記事で触れること AWS CloudFormation の (私なりの) 作成・メンテ手順 Templateファイルをどうやって書くか スタックの作成、更新手順 テスト・CI・動作確認の流れ AWS CloudFormation の組み込み関数 AWS CloudFormation Change Sets AWS CloudFormation Cross Stack Reference この記事で触れないこと AWS の説明 「これから AWS を触るんです!」という方には色々と説明不足な点があると思いますがご了承下さい CloudFormation ヘルパースクリプト cfn-init とか cfn-signal など 私にはベストプラクティスを説明できる自信がないので省いてい
はじめに この記事はGo4 Advent Calendar 2017の23日目の記事です。 なお, 本記事の内容はCYBIRDエンジニア Advent Calender 2017の23日目とほぼ同じ内容となっております。 本日の記事のあらすじ・動機 タイトルからもお察しかと思いますが, 失敗談になります。 弊社(CYBIRD)ではサーバの監視にZabbixを使用しております。(一部はmackerelを使用)。 Zabbixを容易に拡張する手段として"UserParameter"と"外部スクリプト"が存在します。 しかし, これらはメトリクスの取得の度にプロセスをforkするので負荷がかかります。 外部スクリプトの過度の使用によってパフォーマンスが劣化することはZabbixのドキュメントに明記されております。 弊社(のAWSを使用した案件)では外部スクリプトに頼った監視になっており, 監視サ
後はcontent以下のディレクトリにMarkdown形式でファイルを置いていったりするだけです。 Themeも用意されており、簡単に導入できます。 hugoの導入は以下が詳しいです。 Hugo | Quick Start サイトを生成する hugo コマンドを実行することで、public以下に生成されます。 S3に設置する public以下に生成されたサイトを設置します。 パブリックアクセスを許可したS3 bucketを設置し、public以下をコピーします。 その後、プロパティからStatic website hostingを有効にします。 東京リージョンに設置した場合、以下のbucket名を置き換えることでアクセス出来るはずです。 https://[bucket_name].s3-website-ap-northeast-1.amazonaws.com CloudFrontを通す C
これはFOLIO Advent Calendar23日目の記事です。 昨日は3tty0nさんによる、「Tracing the Meta-levelとは?PyPyのJITコンパイラについて」でした。 テーマ投資サービスを運営する株式会社FOLIOでiOSエンジニアを担当している近藤です。 とても優秀な人たちばかりで、毎日充実した開発生活を送らせていただいています。 FOLIOのiPhoneアプリのアーキテクチャに関しては、杉上さんのRedux+Rxを活用したiOSアプリアーキテクチャが参考になります。アプリはRxやReduxを使ったネイティブで現在開発中です。 【SwiftエンジニアがReact Nativeでアプリを作って感じたこと】 上に書いた通り普段の業務ではSwiftを書いているのですが、一方でReact Nativeにも強い興味を持っています。 興味を持ったきっかけとしては、 ・
転職ナビのフロントエンドを担当しています、@sueshinです。 Livesense - 関 Advent Calendar 2017、22件目をお送りします。 どうぞ宜しくお願いします。 はじめに フロントエンドでよく注目されるJavaScriptではなく、 地味で渋いまるで関節技のような、Google Chrome Devtoolsを使った技術をtipsの形式でまとめました。 免責事項 ショートカットなどは全てMacのキーボード操作にしています。Windowsユーザーは適宜読みかえてください。 Chromeのバージョンは63系に基づいて紹介しています。 52の関節技!! Elements 1.hover時のコンポーネントのCSSルールを表示 使い方 ①DOM要素を選択 ②Stylesペインを開く ③:hovをクリック ④hoverフィルタを適用 2.対応するCSSファイルを開く 使い方
このコマンドはコンテナ内のroot権限だけでなく、ホスト側のroot権限も与えてしまうので簡単にバックドアを設置できてしまうのです。(設置するコマンドは調べればすぐに出てきますが流石にコピペできるように書くのはやばいので) また他にもコンテナを--privileged付きで起動しホストの/をマウントしてchrootするというもっと凶悪な手もあります。 元々sudoが使えるのに、何が問題なの? 問題はユーザーが意図的にdockerコマンドを実行した時には発生しません。問題は悪意のあるプログラムがサーバなどに混入した時や、怪しいDockerfileを使用した場合です。 大抵の悪意のあるプログラムは何らかの手段でroot権限を取得しようとしますが、それはゼロデイ脆弱性であったりそもそもの権限のミスであったりしますが、dockerがインストールされている条件下ならばこの方法で権限昇格を狙ってくる場
エイチームライフスタイルアドベントカレンダー2017、残すところあと5日となりました。 20日目は株式会社エイチームライフスタイルの新卒1年目エンジニア@hytkgamiが担当します。 今回は、2017年12月1日(金)〜2017年12月3日(日)に行ったエンジニア向けインターンシップで、参加学生の満足度100%を獲得した話をします。 はじめに エイチームのエンジニアインターンシップは、今回で7回目を迎えました。 このインターンシップは、新卒1年目のエンジニアである私と@ueki05の2名がメインで設計・運営を行っています。 我々二人は第1回インターンの参加者であり、今回の運営としての参加はとても感慨深かったです。 設計のサポートとして、これまでずっと運営をしてきたエンジニアの先輩@zwirkyにも手伝っていただきました。 何が満足度100%につながったのか 参加していただいた学生には、イ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く