タグ

2020年11月8日のブックマーク (11件)

  • RedisとElastiCacheを分かりやすくまとめてみた - Qiita

    はじめに 今までなぁなぁにしてきたRedisをいまさらながらに勉強してまとめました。 Redisって聞いたことあるけど中身はよく知らないとか、プロジェクトでなんとなく使っているけど実はよく分かっていないなどの人向けのページです。 NoSQL Redisの前にまずはNoSQLから。 背景 ビッグデータの登場により、従来のRDBだけでは充分な処理ができなくなってきたことがNoSQL登場の背景にある。 ビッグデータの定義は色々ありますが、ここでは3V(Volume/Velocity/Variety)を満たすものをビッグデータと呼びます。 VolumeとVelocityの問題を解決するためにNoSQLが必要 Volume(大量データ)とVelocity(秒単位で大量データ)に関する問題を対処する場合、スケールアップ(メモリ増加、コア数増加、SSD化)とスケールアウトの2通りの方法がある。 しかしな

    RedisとElastiCacheを分かりやすくまとめてみた - Qiita
  • RustのHashMapを通じて,最近のハッシュテーブルをもう一歩理解してみる - Qiita

    この記事はハッシュテーブルについて1から説明する内容ではなくて,一度は学習したことがある人向けです. Rustにおける2つのバージョンの,異なるHashMapで使われる理論と実装を解説しています.Rustに限らずハッシュテーブルへの理解を深める役に立てば幸いです. ハッシュテーブルは平均$O(1)$でのインサート,サーチ,デリートをサポートするデータ構造です. いろんな言語にいろんなハッシュテーブルの実装があります.それぞれ中身の実装に微妙に差があったりして厳密な議論をする際にはその中身が大事になってきたりします.実装は大まかには類似していると思いますが,衝突処理や探索方法,冪乗or素数スロットなどに明確なバリエーションが存在します.このあたりの選択は使用するハッシュ関数の性質とアプリケーションの要件によってある程度決定されることです.よく使われるものもありますが,最もよいという組み合わせ

    RustのHashMapを通じて,最近のハッシュテーブルをもう一歩理解してみる - Qiita
  • C#で高速なTCPサーバを実装するためのasync/await入門 - Qiita

    速度を求めるなら非同期ソケット、開発のし易さならasync修飾子という使い分けが良さそうな結果です。 という訳でasyncについて使い方などを見ていきます async修飾子を使うと非同期処理が簡単 以下のコードは1秒間処理を遅延させるTask.Delay(1000)を合計100回実行していますが、処理は1秒足らずで終了し、計算結果も正しく表示されます。 2 従来でも ThreadPool.QueueUserWorkItem などを使えば時間のかかる処理をバックグラウンドに回すことは出来ましたが、この例の様に100個の非同期処理を「待ち合わせる」というのはここまで簡単には書けませんでした。 using System; using System.Linq; using System.Threading.Tasks; class Program { public static void Main

    C#で高速なTCPサーバを実装するためのasync/await入門 - Qiita
  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

    自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人にとっては今更改めて言うことじゃないだろ、みたいな話ばかりだと思いますが、急激にデータスケールが増大してしまったりすると環境に開発者の意識が追い付かないこともあるかと思います。 そういったケースで参考にできるかもしれません。 弊社は基的にAWSによって運用されているので、AWSを前提にした様なキーワードやサービス名が出てきます。後、句読点があったり無かったりしますが、ご容赦ください。 追記: 社内用の資料の編集なのでかなりハイコンテキストな内容だから誤解するかもしれませんが、これらはそもそもRDBの話ではありません。(関係無くは無いけど) 1000万オ

    1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
  • PythonのunittestのカバレッジをVSCode上に表示する - Qiita

    Python3 で 公式のunittestを利用してテストを行い、 コードカバレッジをエディタ上に表示するまでの方法を記録した手記です。 1. 目指すゴール 以下のような形で、Pythonのコード上にテストカバレッジが表示できるところまでをゴールとします。その他の周辺知識については、なるべく割愛します。 読者のレベル想定 Pythonで動作するプログラムが作れる(.pyファイルを作成できる、著者もこのレベルなので早くレベル上げていきたいです。) Pythonの実行ができる人 環境構築や説明をこのページ内にある環境構築方法やコマンドを、自身で補完しながら作業ができる方 テストカバレッジという言葉に説明が要らない方 筆者の環境 OS: Mac OS 10.13.6(17G7024) エディタ: VSCode ・汎用的なプラグインを入れる作業を実施済み。特に日語プラグインを著者の環境で入れちゃ

    PythonのunittestのカバレッジをVSCode上に表示する - Qiita
  • Qiitaを1年間ほぼ毎日投稿した話と転職の話 - Qiita

    下記、個人開発エンジニア専門マッチングサービスを開発しましたので、是非未経験からエンジニア目指している人!現役エンジニアで教えたい人!使ってみてください! 目的 1年間毎日記事投稿の振り返りを行う 1年間毎日、1記事以上Qiitaに投稿をした事と未経験からのエンジニア転職時に得たメリットを簡単にまとめる すみません 今回自分が実施した毎日投稿はエンジニア転職に関して最短パスではありません。 たまたま自分が実施内容をまとめることが好きだっただけで万人にお勧めできるものではありません。 ただ、エンジニアへの転職は型にハマる必要はないと言うところだけ分かっていただけたら幸いです。 記事に記載されている内容は完全に個人の意見です。「こんな考え持っている人もいるんだ」くらいの感覚でお読みいただけたら幸いです。 1年間毎日投稿の振り返り 何をしたの?? 2019年7月7日からほぼ毎日1記事以上Qi

    Qiitaを1年間ほぼ毎日投稿した話と転職の話 - Qiita
  • システムアーキテクチャ設計で考えることを整理してみた - Qiita

    この記事は BrainPad AdventCalendar 2018 6日目の記事です。 実際のシステム開発では、開発規模だったり緊急度だったり重要度だったりを考慮しなければならないため、経験を頼りに臨機応変に対応することが多いのではないでしょうか。 記事ではシステムアーキテクチャ設計の検討事項について簡単ではありますが整理してみました。 システムアーキテクチャ設計について思うところ 企業は利益や利益率の増加、コスト削減といったビジネス課題を解決するための手段として情報システムを導入するわけですが、私はそれを実現するための重要な要素の一つにシステムアーキテクチャ設計があると考えています。 早速ですが、題に入りましょう!! システムアーキテクチャ設計の検討事項 システムアーキテクチャ設計では、システム稼働上の要件を検討し適切なシステム構成にするために必要な要素を明確化するわけですが、検討

    システムアーキテクチャ設計で考えることを整理してみた - Qiita
  • 人事の組み立て~脱日本型雇用のトリセツ~

    「ジョブ型雇用」などがバズワード化し、「日型雇用からの脱却」が叫ばれているが、その質を果たして理解しているだろうか。20年以上現場を見てきた著者が、ファクトに基づいてロジカルに解説。気で日型を変えるために今やるべきことを考える。 霞が関は「普通の組織」になれるのか まずは人を増やして 官僚の人事制度について考えるシリーズの最終回。「これからの官僚像」は見えてきたものの、今制度改革にもまれている現役官僚はどう生きていくべきか。ホワイト化に向けた「22時閉庁」も提案されるが、根的な解決となるのか。 2021.07.15 ホワイト職場になる霞が関 官僚は「スマートなテクノクラート」に? 官僚の人事制度について考えるシリーズ第2回。政治主導実現のために人事改革が行われ、官僚の裁量もやりがいも小さくなった。「カネはないけど、名誉とプライドがあった」という官僚の姿はこれからどう変わっていくの

    人事の組み立て~脱日本型雇用のトリセツ~
  • Wireflow - Webサイトのユーザフロー/ワイヤーフローを自由に作成 MOONGIFT

    Webサイトを作る際にユーザフロー(ワイヤーフロー)を作ります。Webサイトの画面を並べて、リンク先をつないでいくことで、フローを明確にします。そして目的のページまでたどり着くのに深くなりすぎていないか、分かりづらい流れになっていないかなどをチェックできます。 今回紹介するWireflowはWeb上か簡単にワイヤーフローが作成できるソフトウェアです。 Wireflowの使い方 例です。左側にあるパーツをドロップして、線でつないでいくだけという簡単さです。 拡大できます。 パーツを縦につなげることで、長いページも表現できます。 グルーピングも可能です。 Wireflowを使えばワイヤーフローが手軽に作成できます。あらかじめ多数の画面モックアップが用意されていますので、ページの雰囲気に合わせて自由に作成できるでしょう。Wireflowを使えばWebサイトの構造を検討したり、パーツをカスタマイズ

    Wireflow - Webサイトのユーザフロー/ワイヤーフローを自由に作成 MOONGIFT
  • iOS App Store のプライバシーに関する質問に回答してみた|kiwi

    WWDC20 で予告されていた通り、今後 App Store のプロダクトページに、そのアプリが利用しているデータについての項目が表示されます。その表示に使われる内容を App Store Connect から答えられるようになりました。 以下の記事によると、2020/12/8 から、新規・既存問わず審査提出時に入力必須となるようです。 実際に答えてみたでは、実際に質問に回答してみます。 なお、以下の情報およびスクリーンショットは、2020/11/6現在のものです。 質問への回答は、Account Holder または Admin 権限のユーザーでログインする必要があります。 App の新しいバージョンを作成すると、[App のプライバシー] セクションから質問に回答できるようになりました( [はじめに] ボタン)。 私のアプリでは、Firebase Analytics での分析や広告のた

    iOS App Store のプライバシーに関する質問に回答してみた|kiwi
  • NAT Slipstreaming攻撃とブラウザ側の対策 - ASnoKaze blog

    2021/01/29 NAT Slipstreaming v2が公開されたので、追加記事を書きました https://asnokaze.hatenablog.com/entry/2021/01/29/014759 2020年10月31日に「NAT Slipstreaming」という攻撃手法が発見されてます samy.pl これは簡単に言うと 罠サイトを踏ませることで、SIPのApplication Level Gateway機能を持つNATの内側に居るクライアントに対して、外側からそのクライアントの任意のTCP/UDPポートに接続できる。という攻撃のようです。 この攻撃はさまざなテクニックを使用しており大変面白いです。調査過程も含め詳細は上記のサイトに書かれているので、そちらを読むことを強く推奨します。 ざっくり 登場人物 victim(攻撃対象): ブラウザで攻撃者のサイトにアクセスすr

    NAT Slipstreaming攻撃とブラウザ側の対策 - ASnoKaze blog