タグ

ブックマーク / qiita.com (2,925)

  • AWS CloudShell上でVSCodeを動かすという発明 - Qiita

    使用するもの VSCode おなじみのIDEです。VSCodeには、サーバーとして起動するオプションが用意されていますので、今回はその仕組を利用します。 pinggy プライベートネットワーク内のポートを一時的にパブリック公開するプロキシーをサービスとして提供しています。無料で利用することも可能です。 手順 AWS CloudShell( https://ap-northeast-1.console.aws.amazon.com/cloudshell/home )にアクセスします VSCodeをインストールします curl -L "https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64" -o vscode_cli_alpine_x64_cli.tar.gz tar zxvf vscode_cli_

    AWS CloudShell上でVSCodeを動かすという発明 - Qiita
  • CloudFormationによるECSのBlue/Greenデプロイの挙動を図解したい - Qiita

    はじめに こんにちは。 Amazon ECSはCloudFormation経由でBlue/Greenデプロイを行うことができます。 挙動のイメージが湧かなかったので実際に動かして整理してみました。 図解 早速ですがスタックの更新によってBlue/Greenデプロイが起こった際の挙動を図にすると以下になります。(図内のリソースはスタックの新規作成時に作成されていた前提) 検証に使ったコード (AWS CDK) を参考で以下に置いておきます。↑の図の構成を実現できます。 lib/ecs-bg-stack.ts import { aws_ecs as ecs, aws_ec2 as ec2, aws_elasticloadbalancingv2 as elbv2, aws_iam as iam, Stack, StackProps, CfnOutput, Duration, CfnCodeDep

    CloudFormationによるECSのBlue/Greenデプロイの挙動を図解したい - Qiita
    mapk0y
    mapk0y 2024/08/05
  • 【AWS】近年の終了サービスから見るAWSの今後の方向性 - Qiita

    前段 最近CodeCommitやCloud9の新規アカウント利用不可になったことでX上ではざわざわ...していました。 ・ 2024年7月27日時点におけるAWS CodeCommitAmazon CloudSearchの新規利用に関して ・AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順 そこで、ここ直近一年(2023/4~)で終了(の予告があった)サービスをみて、今後の展開を考えてみようと思いました。 あわよくば、「このサービスもなくなるかもなー」と先見の明が少しでも生えれば焦らなくてすむな、という思いで書いています。 ※あくまで個人見解です ここ一年で終了(の予告があった)したサービス AWS OpsWorks(2024.1.31 終了) AWS OpsWorks Stacks サポート終了FAQs 登場背景 201

    【AWS】近年の終了サービスから見るAWSの今後の方向性 - Qiita
    mapk0y
    mapk0y 2024/08/01
  • AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順 - Qiita

    AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順AWScloud9ハンズオンSageMakerStudioBedrock開発入門 背景 2024年7月29日、日時間20時ごろからAWS Cloud9の新規利用に制限がかかるようになりました。 新規作成したAWSアカウントや、これまでCloud9を利用していなかったAWSアカウントで、Cloud9コンソールにアクセスできなくなっている模様 AWS Organizations配下に作成した新規AWSアカウントも同様の状況 当初、件に関するAWSからの公式アナウンスはなく、数日前から「Cloud9から類似環境への移行方法」を紹介する意味深なブログが投稿されていたのみでした。 そして7/31にようやく、AWSのチーフエバンジェリストJeffさんより以下のアナウンスが出ています。

    AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順 - Qiita
    mapk0y
    mapk0y 2024/07/31
  • AWS NAT ゲートウェイ を理解した上で起動&停止 Lambda を用意する - Qiita

    実現したいこと 既存のAWSのバックエンドシステムにおいて、コスト削減のため開発環境とステージング環境のNATゲートウェイ(NAT Gateway)を夜間と休日の間は停止させるべく、NATゲートウェイを起動・停止させるLambdaを作成します。 待て、まだコードを書こうとするな 「NATゲートウェイ 自動 停止」とかで検索すると少ないながらもいくつか記事が出てきますが、理解せずにそれをまるまるコピペして実行させるだけではうまくいかないことが多いですし、望まないNAT削除をしてしまう可能性があります。 NATゲートウェイ、ルートテーブル、Elastic IPなどが自分の開発しているシステムではどのように設定されていて、どのリソースを操作すれば良いかをちゃんと理解する必要がありました。 こちらは開発していたシステムの構成図を、NATゲートウェイ周りだけを抽出して描いたものです。 手描きでごめん

    AWS NAT ゲートウェイ を理解した上で起動&停止 Lambda を用意する - Qiita
  • 「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita

    読み飛ばしてください おはようございます、しなもんです。 Pythonの公式ドキュメントを読んでたら、なんか知らない便利機能がたくさん出てきました。 なんだこれ。 というわけでまとめてみました。 参考になれば幸いです。 f-stringsの拡張機能 f-strings、便利ですよね。大好きです。 そんなあいつには裏技があるみたいです。 デバッグ用の=演算子 Python 3.8以降、f-stringの中で=演算子を使用することで 変数名とその値を同時に表示できるらしい。

    「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita
  • ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita

    はじめに はじめまして、セキュリティエンジニアのSatoki (@satoki00) です。今回はブラウザの開発者ツールのネットワークタブから隠れて、Webサイト内の情報を送信する手法をまとめます。所謂Exfiltrationというやつです。中にはCSPの制限をBypassするために用いられるテクニックもあります。CTFなどで安全に使ってください。 前提 発端はWeb上でテキストの文字数をカウントできるサイトが閉鎖する際の話です。カウント対象のテキストデータがサイト運営 (やサイトを改竄した攻撃者) に盗み取られていないかという議論が巻き起こっていました。「盗み取られていない」側の主張は、ブラウザの開発者ツールのネットワークタブにリクエストを送信した形跡がないというものでした。ここで ブラウザの開発者ツールのネットワークタブに表示がなければ外部へデータを送信していないのか? といった疑問が

    ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
  • Pythonが遅い理由とその対策 - Qiita

    はじめに Pythonは柔軟性が高く、初心者にも適したプログラミング言語ですが、その一方で速度面では他の言語に劣るとされています。記事では、先月ピッツバーグで開催されたPyCon US 2024で紹介されたPythonの高速化技術について詳しく解説します。 Pythonの速度問題 「Pythonはランタイムにコストを払う」という古い格言が示す通り、Pythonは解釈型言語であり、実行時に多くの処理を行うため速度が遅くなることがあります。Pythonはソースコードを効率的なバイトコードに変換し、それを直接実行することで動作します。このプロセスには多くの間接処理が含まれ、単純な命令でさえも多数のCPU指示に分解されます。例えば、二つの数値を足すだけでも500以上の命令が実行されることがあります。 高速化のためのコンパイル技術 Cythonによる最適化 PyCon 2024でのSaksham

    Pythonが遅い理由とその対策 - Qiita
  • [Dify]現状Difyができないこと - Qiita

    前提 Difyのバージョンは Dify:0.6.11 Dify:0.6.13です。 今の最新バージョンで現状できないことをまとめてみました。 いろんな人がXでDifyでできることをあげていってくれていますが、あまりできないことをまとめている人はいなかったのでまとめた次第です。 「探索に時間を費やしたけど結局できなかった...」となる人が少なくなること祈って書いています。 ループ処理の制限 現在のDifyでは、特定の条件を満たすまでループを回す処理の実装が困難です。例えば、Self-RAGのような自己反復型のRAGの実装ができません。 一時的解決策 現状見つかっていないです。実装方法あったら教えてください。 モニタリングツール(LangSmith、Langfuse)との連携 (0.6.12からできるようになりました) できるようになったので、混乱を与えないため内容は削除しました。 AIモデル

    [Dify]現状Difyができないこと - Qiita
  • Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita

    はじめに 私のエンジニアとしての初仕事Dockerでした。辛かったのをいまでも思い出します みなさんこんにちは、Watanabe Jin(@Sicut_study)です。 みなさんはエンジニア始めたての時にどんなことで苦労したでしょうか? GitHub Docker Kubernetes AWS など色々あるかと思いましたが、「環境構築」というのは多くの人がつまづく箇所かと思います。 プログラミングの勉強をするにはそもそもの開発環境がないとできないことも多いです。 またAWSなどのクラウドを利用してデプロイをするときにも再度登場して苦しめられます。 今回はそんな初心者には考え方や使いどころがわかりづらいDockerについて例え話を活用しながら説明していきたいと思います。 Dockerが難しいと思うのは、「概念がよくわからない」「説明を読んでも使いどころのイメージがつかない」というのがある

    Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita
  • SSH接続を10倍速くするたった3行の設定 - Qiita

    今回は、SSH接続を劇的に高速化する方法をご紹介します。たった3行の設定を追加するだけで、接続時間を10分の1に短縮できます。しかも、2回目以降の接続では認証も自動的に行われるので、パスワードやパスフレーズの入力も不要になります。 要点 .ssh/configファイルのHost *セクションに以下の3行を追加するだけです。 詳しい説明 1. ControlMaster auto この設定で、1つのSSH接続で複数のセッションを共有できるようになります。新しくSSH接続を確立するたびに認証情報を入力し直す手間が省けて、接続がぐっと速くなります。具体的には: 初回の接続時のみ認証が必要 2回目以降は既存の接続を再利用するため、認証プロセスをスキップ パスワードやパスフレーズの入力が不要になり、接続がほぼ瞬時に完了 2. ControlPath ~/.ssh/mux-%r@%h:%p Contr

    SSH接続を10倍速くするたった3行の設定 - Qiita
    mapk0y
    mapk0y 2024/07/08
  • エンジニアにも知って欲しいChatGPT基本テクニック - Qiita

    はじめに ChatGPTブームがひと段落した感がありますが、周りのエンジニアChatGPTを活用している姿をあまり見みません。 基的なテクニックを理解すれば、エンジニアこそChatGPTを活用できると思うので、普段使用しているテクニックをいくつかピックアップして紹介します。 プロンプトの記載方法 Markdown記法で指示する 色々なところで紹介されていますが、回答や処理の精度を上げる方法としてChatGPTへの指示にMarkdown記法を使用することがオススメされています。 例えば下記のような文章による指示を行おうとした場合

    エンジニアにも知って欲しいChatGPT基本テクニック - Qiita
  • 5分でできる!GitHub README プロフィール 💬 - Qiita

    こんにちは!もみです🐶 皆さん、GitHubプロフィールのREADME は設定していますか? GitHubのプロフィールを充実させることで、 GitHub上での交流はもちろん、就活や転職でもきっとちょっと役に立ったりと、素敵なご縁に繋がるかもしれません。 たった5分で設定できるので、さっそく設定していきましょう! 🚩 今回作成するプロフィール シンプルさを保ちつつ、スキルやGitHub上での活動を中心にした自己紹介テンプレートにしてみました! GitHubリポジトリ: https://github.com/NonokaM/sample-github-profile/blob/main/README.md 1. リポジトリを作成しよう まず、ユーザー名と同じ名前のリポジトリを作成しましょう。 ( ユーザー名と同一のリポジトリは、特別なリポジトリと認識されて自動的にプロフィールに表示されま

    5分でできる!GitHub README プロフィール 💬 - Qiita
  • AWS CDK integ-testsを活用した「データ境界」S3アクセステストの自動化 - Qiita

    背景 データ境界の悩み データ境界の設計・構築において、S3 などのセキュリティ設定を確認するためにはアクセステストが必要です。 しかし、アクセステストをシステムテスト工程などで案件終盤にまとめて行うという方法には問題があります。 アクセステストでは、IAM ポリシー・VPC エンドポイントポリシー・S3 バケットポリシーなど、複雑なポリシーの組み合わせによって決まる多様なアクセスパターンを検証する必要があります。そのため、テストケースの数が多くなり、テストの実施や結果の分析・報告に多くの工数がかかります。さらに、テスト中に問題が発生した場合、修正や再テストにも時間がかかり、納期への影響が懸念されます。 筆者が過去に携わった案件では、このような方法でアクセステストを行っていましたが、開発の早い段階でテストを自動化できれば、後工程で同じ内容を行う必要がなくなり、効率的になると考えました。そこ

    AWS CDK integ-testsを活用した「データ境界」S3アクセステストの自動化 - Qiita
  • AWS CDK でEC2のスポットインスタンスを立てる方法 - Qiita

    AWS CDKでEC2のスポットインスタンスを立てるのは実は大変。 立てる方法の説明と、それをライブラリー化したので紹介します。 なお当記事はCDKですがTypeScript限定です、すいません。 お急ぎの方 ライブラリー化してみた をご覧ください。 2023年1月12日追記: ライブラリをTypeScript以外、Python, Java, C#(.NET), Goにも対応させました。 はじめに マネジメントコンソールでEC2のスポットインスタンスを立てることは簡単です。この画像のように、EC2インスタンスを立てる手順の中で、チェックを入れるだけです。 一方CDKでは、EC2を作るためのInstanceコンストラクトにスポットインスタンス関係のプロパティ等は見つからず1、Web検索で調べてもずばりの情報は出ません。 ただ、気になるページを見つけました。 CloudFormation 一撃

    AWS CDK でEC2のスポットインスタンスを立てる方法 - Qiita
  • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

    どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条

    エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
  • 急に仕事で英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ) - Qiita

    急に仕事英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ/勉強) 新規案件参画初日。 Goやk8sを使えることなってワクワクしていたあの日、 参画してすぐにチーム内のエンジニアで日人が自分以外に一人であること、 それ以外のチームメンバー全員が外国籍のメンバーになることを知らされた そこのあなた! 数年前の私です(笑) さらに2ヶ月後には、開発チームで唯一の日人になって死にそうになりました。 その時は突然にやってきます。 当時、私の英語の経験というと大学受験の対策のみと言っていいほどで、 そこから10年以上経過していたため、高校英語すらも怪しい状態でした。 英語学習を開始して 半年ほど経過した時のレベルがTOIEC450程度だったので、学習開始当初はおそらく400点を切っていたレベルであると思います。 そこから英語学習を開始し、2年ほど経過した今では、便利ツールを活用

    急に仕事で英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ) - Qiita
  • TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita

    はじめに JavaScript/TypeScript初学者を抜けたあたりの方に向けてTypeScriptの利点や限界、型レベルプログラミングについて紹介します。 TypeScriptJavaScriptをラップしたライブラリであり、静的な型情報をつけることができます。また、それらの型情報をもとに型を推論し、型違反な代入やプロパティへのアクセスなどをプログラム実行 以前 に検知することができるようになっています。 例えば、動的型付けの言語であるJavaScriptでは、以下の関数のa,bには数値だけでなく、文字列を渡すことができます。数値同士を渡せば加算してくれますし、文字列同士を渡せば文字列連結をしてくれます。 「数値計算用の関数なのに、文字列連結に利用できてしまう」という緩さを開発時にはなるべく排除しようというのがTypeScriptを導入する意義です。 以下、TypeScriptの基

    TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita
  • ドキュメントを書かないことは「負債を生む」ということ - Qiita

    記事の要約 ドキュメントを書かない事は、企業やチームの「負債」になる ドキュメントを書かない事は、自身の学びや振り返りの「機会損失」になる そういう文化が根付く前に、負の連鎖を断ち切ろう! はじめに 世の中のプロジェクトには、ドキュメントが足りていない、と感じています。 でも残念な事に、ドキュメントをどうしても書きたい人は「ほとんどいない」と思います。 その一方で「ドキュメントを書いた方が良い」という事は、 何となく分かっている人も多いと思います。 やりたくない事をやらなければならないのは、嫌ですよね。 そんな気持ちは分かりますが、これを機に一度改めてみませんか。 何故なら、ドキュメントを書かない事はチームに「負債」を生むからです。 勤め人ならば少なからず一度でも、体験した事があると思います。 「どうして必要な過去の資料が無いんだ」って。 あるはずの歴史の一端がソースコードからしか分から

    ドキュメントを書かないことは「負債を生む」ということ - Qiita
  • インシデント発生時に電源を入れたままにすべきか問題 - Qiita

    はじめに とあるセキュリティインシデントにおいて、サーバを電源ケーブルごと引き抜いたという対応が行われ、X(Twitter)ではこの対応について賛否両論が見られました。このうち電源を入れたままにすべきという人の意見には、「マルウェアの中にはシャットダウンすることで自分自身を削除し、感染痕跡を削除するものがある」「メモリを調査すべきなのでシャットダウンすべきではない」のような意見が見られました。 記事では実際にメモリからどのような情報がわかるか、そしてメモリダンプを解析することの有用性と課題について記載します。 メモリフォレンジック セキュリティインシデントにおいてはフォレンジック調査が行われる場合があります。フォレンジック調査には、HDDやSSDのようなストレージを調査対象とするディスクフォレンジック、パケットキャプチャやNetFlow、ProxyやFWのログのような通信を対象とするネッ

    インシデント発生時に電源を入れたままにすべきか問題 - Qiita