タグ

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

  • 【インフラ歴10年】AWS歴6年のベテランエンジニアにレビューされてみた - Qiita

    お疲れさまです。今月でAWSの実務に携わり6ヶ月が経ちます。一度だけ設計・構築のタスクに携わったこともあり、復習も兼ねてマルチAZ構成のインフラを作ってみました。 詳細はこちら↓ コンソール画面の一つひとつの設定項目を調べながらも意味を理解しながら構築してみたつもりですが、 経験を積んでいるエンジニアの方からするとこれは正しい設定なのか?自分は間違った設定をしているのではないか?と不安になりました。 そこでエンジニア経験も豊富かつAWSに特化しているベテランエンジニアの方にレビューをお願いしてみました。 終わった後にレビューしてもらった内容をまとめてみました。質問した回答も備忘として残しておきたいと思います。 ※今回の記事、いろんなご意見をいただきました。「〇〇の設定がない」「NATゲートウェイも必要では?」経験者が見ればご指摘する点がいくつもあると思います。 レビューをしていただいた方が

    【インフラ歴10年】AWS歴6年のベテランエンジニアにレビューされてみた - Qiita
    JULY
    JULY 2022/10/11
    「エフェメラルポート」を根本的に誤解しているような。ソースポート番号として利用されるポート番号の範囲がエフェメラルポートなんだけど。
  • DynamoDBの難しさについて - Qiita

    はじめに DynamoDBは上手く使えば非常に強力なDBMSですがRDBとの違いは大きく、「RDBの代わりにDynamoDBを使おう!」と深く考えずに提案/採用することが難しいことから、その理由についてみていきます。 DynaomoDBの難しさ DynamoDBの利点と表裏一体である、DynaomDBの主要な難しさについて順番に見ていきます。 1. 提供されているクエリモデルでできることが非常に限定されている DynamoDBは次の公式サイトに記載がある通り、どんな規模でも数msの一定のパフォーマンスを発揮でき、無尽蔵にスケールできるという特徴があります。 Fast, flexible NoSQL database service for single-digit millisecond performance at any scale この特性を上手く活用すると次の実例のように高可用性、

    DynamoDBの難しさについて - Qiita
    JULY
    JULY 2022/10/04
    この記事を読んで、世の中には本当に RDB として使おうと思っちゃう人がいるんだなぁ、と思った。昔より料金の見積がしやすくなったんで、個人的には Lambda からアクセスする key-value ストアとして使ってる。
  • 非難がなくなるチームの作り方 〜【失敗の科学】を読んで〜 - Qiita

    はじめに 『失敗の科学』というには"失敗"とそれに対する取り組みが多く書かれているのですが、ここでは非難について書きました。 この記事の全体の流れ なぜ人は非難するのか? 非難してしまわないための考え方と取り組み 非難がなくなると究極のパフォーマンスを引き出すってほんと? なぜ人は非難するのか? 『失敗の科学』では非難についてこう説明しています。 非難は、人間の脳に潜む先入観によって物事を過度に単純化してしまう行為だ。 1 非難の具体例 みなさんも似たような経験はないでしょうか? 番環境でシステム障害が起きたとします。そのとき... 「Aさん、ちゃんとテストしたの」 と怒ってしまったとします。しかし、結局、Aさんとは全く関係のないことが原因だったとか... 上記の言葉に当てはめるなら 人間の脳に潜む先入観 物事を過度に単純化してしまう となります。 はい、「非難」の出来上がりです 非難

    非難がなくなるチームの作り方 〜【失敗の科学】を読んで〜 - Qiita
    JULY
    JULY 2022/08/19
    でも、往々にして他責にして自責を避けるのが上手な人間が出世しがち。で、上に立つ人間がそういう人間だと、現場側で意識高くしても、徒労に終わりがち。
  • Amazon VPCを「これでもか!」というくらい丁寧に解説 - Qiita

    はじめに AWS上で仮想ネットワークを構築できるAmazon VPCは、多くのAWSサービスが動作する基盤となる、非常に重要かつ多機能なサービスです。 多機能ゆえに公式ドキュメントやネット上の記事も断片的な機能の解説が多く、全体像を把握することが難しいサービスとも言えます。 そこで記事はVPCの全体像を理解できるよう、各機能のつながりや動作原理を丁寧に解説し、 「VPC界の百科事典」 (あくまで例えですが…笑) となるような記事を目指したいと思います。 【追記】 実践編の記事を追加しました VPCの実画面での構築方法は、以下の別記事にまとめました。「VPCを実際に触ってみたい!」という方は、こちらもご一読いただけると嬉しいです。 VPCとは 「Virtual Private Cloud」の略で、クラウド上に仮想的なネットワークを構築するためのサービスです。 例えば、オンプレ環境でWebア

    Amazon VPCを「これでもか!」というくらい丁寧に解説 - Qiita
    JULY
    JULY 2022/08/08
    これだけブクマを集める、ってことは、いかにネットワークの知識が乏しい IT エンジニアが多いか、という証左になるなぁ。
  • 「取り返しのつかないことをしない」 - Qiita

    「取り返しのつかないことをしない」 昔、同僚と議論していて口走った言葉です。実はプログラマーとしてわりと重要な考えなのではないかと思います。 例: EC2のパブリックIPをスマホアプリに直書きする スマホアプリ向けの静的ファイルやバックエンドAPIAWSに実装した際、最初はスモールスタートだと言うことでEC2インスタンス1台の構成にしたところまではいいが、インスタンスに自動で割り当てられるIPアドレスをスマホ側で直接参照する実装にしてしまった。 こうなると、AWS側はアーキテクチャを変えるどころか、EC2インスタンスを再起動することすらできません(再起動するとIPアドレスが解放されてしまう)。スマホアプリをアップデートして、IPアドレスを直接参照するのを止められればいいのですが、一度公開したアプリを100%アップデートするのは事実上不可能です。 最初にRoute53でホスト名を解決するか

    「取り返しのつかないことをしない」 - Qiita
    JULY
    JULY 2022/08/02
    「取り返しのつかないこと」だとは思わないなぁ。単に己の無知故や、運用経験の乏しさの結果だし。むしろ、これを修整しようとした時に、障害となっているハードルが問題じゃないかなぁ。
  • 量子計算機の話題に触れる際に知っておいた方が良いこと - Qiita

    この文章の目的 量子計算機に対する期待が高まる一方、虚実入り混じった情報がインターネット等に溢れており、長期的に量子計算機に対する信頼を揺るがしかねないと感じています。 ある程度理解されている方はそういった情報に惑わされないかもしれませんが、一般の方にとっては何が正しいのか分からないのが現状です。 そこで、量子計算機の話題に触れる際に前提として知っておいた方が良いことを、いくつか挙げました。 一般の方が量子計算機に関する話を見かけたときに、おかしな話に惑わされる頻度が減れば幸いです。 内容に誤りなどがあれば、ご連絡頂けると助かります。 1.計算可能性は、古典計算機も量子計算機も同じ 計算リソース(メモリや計算時間)を無限に利用できれば、「古典計算機で計算できる問題=量子計算機で計算できる問題」です。 量子計算は、指数関数的に巨大なユニタリ行列のかけ算なので、古典計算機で行列計算すれば原理的

    量子計算機の話題に触れる際に知っておいた方が良いこと - Qiita
    JULY
    JULY 2022/07/22
    量子計算機に関する記事を書くすべての人に読んでほしい良文。AI 関連の記事もそうだけど、ある種の問題を解決する技術が、万能の魔法のように言われがち。
  • テレビを消せば電気の節約になるのか? - Qiita

    テレビの消費電力の議論 最近、Twitterを見ていると、以下のようなツイートを見つけました。 家庭の電力使用量グラフ。 左:テレビ朝日 右:経産省 テレビ朝日の報道では、「テレビ・DVDの8.2%」の項目が消され「その他」とされている。 pic.twitter.com/Pay73H22BP — 月のうさぎ (@XU3F8wI1Csm5HQ2) July 2, 2022 これはどういうことかというと、テレビ番組の制作側が、経産省が出した電力消費のグラフから「テレビ・DVD」の項目を消し、番組上のグラフでは、その他の部分へデータを合算した。ということです。 これが、「テレビが電力問題のやり玉にあげられないようにしている作為的な行為ではないか?」という旨をつぶやいている人がいました。 この事件を取り扱った記事があります。 テレビ朝日、家庭の電力使用量グラフから「テレビ」削除で物議 「丁寧さに欠

    テレビを消せば電気の節約になるのか? - Qiita
    JULY
    JULY 2022/07/11
    元のレポートで節電の実施状況に関するアンケートがあり、既にテレビをこまめに消す人が多かった、というのが重要。ここを分かっていれば、あんな陰謀論は一蹴できたはず。野村総研も雑に回答するから...。
  • AWSのMFA用デバイスを紛失してサービス停止しそうになった話 - Qiita

    概要 個人サービス用に作った AWS の root account の MFA として私用スマホの電話番号を登録していたが、スマホ乗り換えの際に番号が変わってしまった。 当時は IAM ユーザーに請求管理以外の admin 権限を与えて、そちらにログインすることでアカウントを運用しており、しばらく不都合も無かったので放置していた。 ところが、それから6年ほど経った2022年1月、メタップスペイメント社のクレジットカード情報流出事件の影響で、AWSに登録していたクレジットカードが強制的に停止されてしまった。 しかもクレジットカード会社からカード失効のお知らせが届いた後も、AWSに登録してあるカードがそれと気付かず、AWSから下記のようなメールが届いて初めて事態の深刻さに気付いた。 2022-06-09 Action required – Your AWS account is past du

    AWSのMFA用デバイスを紛失してサービス停止しそうになった話 - Qiita
    JULY
    JULY 2022/07/04
    昔より、手続きのハードルが低くなった印象。何年か前に、アメリカ大使館に出向く必要があった記事を読んだ覚えがある。MFA を無効化すれば後は自力で、という、状況の違いもあるかな。
  • 尼崎市の事例から学ぶパスワードの大切さ - Qiita

    北海道をこよなく愛するピーターです。 2022/6/24㈮のホットニュースは尼崎市が全市民約46万人の個人情報が入ったUSBを紛失するです。 そして見つかりました。 新情報はこれから出てくるとは思いますが、「パスワードに関する情報(ヒント) は漏らしてはいけない」 のいい教材になったと思います。 そこで今回はパスワードを破るにはどれだけの時間がかかるかを、条件別に求めてみました。 ざっと計算しただけなので、抜け漏れはあります。 もしそもそもの計算式が違うよ等あればご指摘いただけると幸いです。 候補となる文字列と計算時間 候補となる文字列 パスワードに使用できる文字列は以下が考えられます。 ・アルファベット ・数字 ・特殊文字 これらをコードで確認しました。 結果は以下の通りです。1文字につき94個の選択肢があります。 したがってパスワードの桁数をnとすると、94^n通りのパターンが想定

    尼崎市の事例から学ぶパスワードの大切さ - Qiita
    JULY
    JULY 2022/06/27
    せっかくの計算が台無しの結論。肝心の長さに言及していない。あと、桁数が分かっても、その桁数以下と比べて 1% 強しか違わないので、大きな問題ではない、という事も、理解されるべき。
  • AWSのインフラ管理はIaC? いやちゃうちゃう。時代はInfrastructure as SQL (IaSQL)でしょ - Qiita

    AWSのインフラ管理はIaC? いやちゃうちゃう。時代はInfrastructure as SQL (IaSQL)でしょAWSPostgreSQLIaCQiitaEngineerFesta2022IaSQL 概要 皆さんAWSのインフラ管理どうしてますか? なるべくならインフラ管理は自動化。手順書も作らず、資源作成時誰でもどの環境に対し同じものを作成したいですよね。 そんな時、Infrastructure as Code(IaC)を採用し、インフラ管理をコード化するのは当たり前になってきているんじゃないでしょうか。 AWSにおけるIaCだと例えば、Cloudformationとか、AWS CDKとかTerraform等、様々です。 ただ今回は、そんなIaCの紹介・・・ではなく、全く新しい概念のInfrastructure as SQL (IaSQL) なるものについて、ご紹介したいと思いま

    AWSのインフラ管理はIaC? いやちゃうちゃう。時代はInfrastructure as SQL (IaSQL)でしょ - Qiita
    JULY
    JULY 2022/06/23
    一瞬、DELETE 文で WHERE 句間違って阿鼻叫喚、と思ったけど、iasql_apply() を呼び出すまでは単なるデータだから、それは無いみたい。誰かが提唱していた、Infrastructure as Data の一つの実装例と言えそう。
  • 「漏れのある抽象化の法則」要約 - Qiita

    はじめに Joel Spolskyさんの記事「漏れのある抽象化の法則」を要約したのでシェアします。 結論 抽象化されたものは便利だけど、使う時は仕組みを知ってから使おう。 抽象化とは TCP. It is what computer scientists like to call an abstraction: a simplification of something much more complicated that is going on under the covers. →TCPは、コンピュータ科学者が「抽象化」と呼ぶもので、もっと複雑なことを単純化し、その下で行われています。 ざっくりいうと以下の意味かと思います。 中で行っている「複雑なこと」を、外からは単純な方法で使えるようにすること 外からは「複雑なこと」をどのように実現しているかは見えない 単純化されてるおかげで、

    「漏れのある抽象化の法則」要約 - Qiita
    JULY
    JULY 2022/06/13
    自分もこれは痛感している。プログラムを作る側が、言語や開発環境の中に安住していて、動作環境に全く興味がなく、インフラ側に何も説明できないケースをよく見かける。IT 土木の底辺では、DevOps は縁遠い。
  • AWS公式の「Infrastructure as Code 談議 2022」がすごく勉強になったのでまとめてみた - Qiita

    この前AWS公式のYouTubeチャンネルにて、面白そうなライブ配信がありました AWSの動画コンテンツといえば、BlackBeltのようなサービス紹介の動画が真っ先に思い浮かぶ方も多いと思います。 自分もその一人ですが、この動画はプロダクトではなく「Infrastructure as Code(IaC)という概念」にフォーカスしたコンテンツです。 Twitterで学びメモを書きましたが、ちゃんと記事として学びをまとめておこうと思います。 また、動画の内容に関連した補足事項を記事の後半にまとめておきました。 ↓動画編はこちら↓ ↓資料はこちら↓ IaCをなぜ使うのか 純粋にIaCは楽しい、手順書作成は楽しくない リリースのたびに手順書更新 or 新規作成するのは、果たして楽しいのか IaCのほうがリリースまでのリードタイムが短い 運用する上での教育はどうする? そもそも「教育」はIaCじ

    AWS公式の「Infrastructure as Code 談議 2022」がすごく勉強になったのでまとめてみた - Qiita
    JULY
    JULY 2022/05/02
    「手順書ベースの運用なら教育はいらないのか?」「手順書なら問題なく引き継げるのか」実際に手を動かすことがない人たちが、こういった疑問を持たず、決定権を持つポジションに君臨するんだよなぁ。
  • あなたは本当に「プログラミングができない、向いてない」のか? 〜うるう年判定プログラムで考える〜 - Qiita

    この記事の目的 「プログラミング学習につまずいている」 「基礎的な式や文は覚えたけど、応用できずに悩んでいる」 そんな人達に、「自分がうまくいかない原因が何なのか」を考えるきっかけにしてほしいです。 特に、「プログラミングで何か問題を解く」的なことが苦手な人に、少しでも参考になればと思います。 「プログラミングができない」をもっと細かく切り分けてみる 「プログラミング難しい、向いてないかも...。」と思う前に、「自分が何につまずいているのか」を分析してみましょう。 実は、難しいのはプログラミングじゃない? プログラミング自体は、あくまでコンピュータに何かを実行させるための命令でしかありません。 なので、そのやりたい「何か」自体が難しい場合、自ずとそれをプログラミングするのも難しくなります。 ただ、目の前で取り組んでいるものが「プログラミング」なので、その状態を「プログラミングが難しい」と考

    あなたは本当に「プログラミングができない、向いてない」のか? 〜うるう年判定プログラムで考える〜 - Qiita
    JULY
    JULY 2022/04/20
    そういった論理的思考が苦手な人は、プログラミングに限らず、エンジニア全般に向いていないと思うなぁ。特に IT 業界は、技術の変遷が大きいから、論理的思考ができないと詰む。
  • JavaScript: 文字数を正確にカウントするには? - Qiita

    この投稿ではJavaScriptで文字数をできるだけ正確にカウントする方法について取り上げます。 文字数とは? 要件で「文字数を表示してほしい」「○文字以上はバリデーションエラーにしたい」と文字数を考慮しないとならないことがあります。 そもそも文字数とは何でしょうか。 たとえば、アルファベットの「A」は1文字と数えられそうです。 次の絵文字は、何文字になるでしょうか? この絵文字はiOSであれば14.5の環境では、UI上では上のように1文字のように表示されます。しかし、それ以前のバージョンでは、同じ文字列データでも😵💫のように2文字で表示されます。なお、この絵文字は3つのコードポイントU+1F635 U+200D U+1F4ABからなります。この絵文字の「文字数」はいったい何文字として扱ったらよいのでしょうか。 以上のように、ひとことで文字数と言ってもデータと見た目と環境の3つのややこ

    JavaScript: 文字数を正確にカウントするには? - Qiita
    JULY
    JULY 2022/04/12
    ゼロ幅接合子で合成された絵文字の文字数を、そもそも1と数えるべきか否か、ということも、シチュエーションによってはありそう。でもなぁ...
  • 神奈川県警のWebページはなぜダサいのか、もしくはダメなサイトの作り方 - Qiita

    警察のWebページは全体的にダサい印象がある。「あ、このページ、警官さんが暇な時にオーサリングソフトを使ってせっせこ作ってるんだな」というのが伝わってくる出来のものがちらほら見受けられる。警視庁(東京都警察って名前変えればいいのに)のWebページはなんとHTML4だ。XHTMLですらないなんて。そんなページでサイバーセキュリティに気をつけろなんて言われても説得力無いんですけど。道理でパソコン遠隔操作事件で誤認逮捕をやらかしたわけだ1。 そんな警察ページの中でも最もダサいと思われるのが、筆者の自治体である神奈川県警だ(北海道警も五十歩百歩だが、<meta name="GENERATOR" content="JustSystems Homepage Builder Version 20.0.6.0 for Windows">と明記してあるのが正直でよい。バージョン最新じゃないのがさらに愛おしい

    神奈川県警のWebページはなぜダサいのか、もしくはダメなサイトの作り方 - Qiita
    JULY
    JULY 2022/04/11
    出来の悪さに対する因果関係として、「作成者が警察官」を前提にしているけど、流石に一から警察官が、とは思えない。更新時は昔に導入した時の業者が用意した手順書通りに、のような気が。結局、予算配分次第。
  • 見逃しがちな信用できるエンジニアの特徴 - Qiita

    まえがき 組織に属している人には基的に他者との協業がついてまわる。 エンジニアの振る舞いに関して、古い日の価値観で測ると「和を乱す」、「空気が読めない」、「有害」などと見られがちな振る舞いが、当は「信用できる」人間の振る舞いであることがたまにある。 逆に「印象が良い」、「優しい」と評価される振る舞いも「信用していいのか?」と疑いをもつ指標になるものもある。 今回はエンジニアとして働いていくなかで、凝り固まった古い価値観で、信用すべきエンジニアを見誤らないためにも、信用できるかもしれないと思えるエンジニアの特徴を書き記す。 実は信用できるかもしれないエンジニアの特徴 小さな問題に対しても熱議論ができる 社会人は同僚や上司と意見が割れることは少なくない。 特にエンジニアという職業に関しては、コードの実装方法や設計(モジュールの分け方や名前等)と普通の社会人ならそこまで気にしないようなこと

    見逃しがちな信用できるエンジニアの特徴 - Qiita
    JULY
    JULY 2022/02/25
    ここで挙げられている特徴が、信用できるエンジニアの十分条件になっているようには見えない。最後に書いてあるとおり、筆者が出会った信頼できるエンジニアの特徴であって、典型的な「早まった一般化」に見える。
  • コンテナ内で大量のゾンビプロセスが発生していた話 - Qiita

    ゾンビプロセスの大量発生 シェルを使ってとある処理を実行している最中に大量のゾンビプロセスが発生していることに気づきました。 以下はその時のtopコマンドの出力で、S列が「Z」と表示されているものが全てゾンビプロセスです。 これまでゾンビプロセスの発生を全く考えたことが無かったのですが、コンテナ環境の場合だといわゆる「PID 1 問題」の1つとして認識されています。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 2288244 310936 19076 S 0.0 15.3 1:24.64 java 23 root 20 0 18480 2272 1688 S 0.0 0.1 0:00.32 bash 14538 root 20 0 0 0 0 Z 0.0 0.0 0:00.00 bash 14542 r

    コンテナ内で大量のゾンビプロセスが発生していた話 - Qiita
    JULY
    JULY 2022/02/09
    docker で動かすプログラムが子プロセスを作る可能性があるなら、ほぼ必須だなぁ。
  • 半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita

    記事は「番環境でやらかしちゃった人 Advent Calendar 2021」24日目となります。 前提事項 事故を起こしたのは確か6年くらい前 サーバーのOSは確かCentOS6 諸事情でワンオペだった 当時の記憶を元にした再現であり多少盛ってるので細かいツッコミは勘弁してください 何をしてたか ~~~番環境作業中~~~ (手順書ナガメー) よし、次はファイルの移動か mvコマンド入力してカチャカチャカチャ…ッターン mv: cannot move /bin/ac to '/home/user/work_dir': Permission denied mv: cannot move /bin/aconnet to '/home/user/work_dir': Permission denied mv: cannot move /bin/addr2line to '/home/us

    半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita
    JULY
    JULY 2021/12/27
    コマンドでのファイル指定で、bash 等の補完機能を積極的に使うと防げることもある。
  • Python 1本うどんコード - Qiita

    はじめに Pythonにはリスト内包表記という便利な記法があります。リスト内包表記の記法は以下のようになっています。 イテラブルオブジェクトとはlistやdictのようなイテレーションが可能なオブジェクトのことです。 変数名にはイテラブルオブジェクトの要素が1つずつ取り出され束縛されます。 式には定数や変数、x < y, i * 2といった演算の戻り値が該当します。 とても簡潔で便利なリスト内包表記ですが、実はチューリング完全であることが知られています。つまり、リスト内包表記では計算機によって原理上可能な処理をすべて行うことができるということです! このリスト内包表記がうどんの麺のように見えることから、 コードは1行 コードの先頭は[ コードの末尾は] 以上3つの制約を満たすコードを1うどんコードと命名し、AtCoderの問題をリスト内包表記をひたすらに悪用した1うどんコードで解いてみ

    Python 1本うどんコード - Qiita
    JULY
    JULY 2021/12/10
    内包表記がチューリング完全というのは知らなかった。筆者の言うとおり、だからといって、悪用してはいけないw。
  • IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita

    悲劇は起こった… ある日のLINE A氏「IPアドレスについて教えて欲しい!」 B氏「IPアドレスっていうのは xxx.xxx.xxx.xxx っていうフォーマットの…」 A氏「このリンクなに?」ポチー \フワーオ♡/ B氏(YABE) 何が起こったのか LINETwitter などの SNS は投稿されたリンクを自動的に飛べるようにしてくれます。 今回不幸なことに、この .xxx というドメインは存在し、xxx.xxx というドメインは登録されていました。 参考: ドメイン (domain)とは |「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 ドメイン名の種類 JPNIC そして .xxx ドメインの用途はよりによって… 用途 登録対象 > アダルトエンタテイメント業界用 < >> アダルトエンタテイメント業界用 << >>> アダルトエンタテイメント業界

    IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita
    JULY
    JULY 2021/12/09
    gTLD の .xxx は知っていたけど、そんな誘導があるとは。