タグ

ブックマーク / dev.classmethod.jp (38)

  • 問題の明確化 – 感情のみの共有 | DevelopersIO

    こんにちわ。組織開発がミッションの人事グループ・組織開発室に所属しているてぃーびーです。 仕事において、大小さまざまな問題が存在します。誰かが問題について話すとき、すぐに解決に向けて取り組むことができるとは限りません。問題を解決していく前に、問題の明確化が必要なケースがあります。

    問題の明確化 – 感情のみの共有 | DevelopersIO
    honma200
    honma200 2024/06/08
    カウンセリングみたい
  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

    Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
    honma200
    honma200 2024/05/02
    リトライ処理こそデコレーターとかに押し込みたいよね
  • 手順書作成の未来(の 1 つの形)を Visual Studio Code の Extension にみたという話 | DevelopersIO

    はじめに システム運用においては、なんらかのリソースを作成や削除したり、設定値を変更したりとさまざまな変更作業が発生します。その際、なんらかの手順書(MarkdownExcel 等)を準備して、作業をすることが一般的だと思います。 記事では「変更手順の作成」と「その手順を実施する」という 2 点にフォーカスして、これらを支援する Visual Studio Code(以下、VS Code)の Extention をご紹介します。 なお、 Extention は Azure でのみ使用可能な点にご注意ください。 補足: 手順書がどうあるべきかについては多くの意見があるため、この記事では触れません。 この辺りについては、運用設計ラボ様の素晴らしいスライドがあるので、末尾の参考資料にリンクしておきます。 Azure CLI Tools について 今回ご紹介するのは、Azure CLI

    手順書作成の未来(の 1 つの形)を Visual Studio Code の Extension にみたという話 | DevelopersIO
    honma200
    honma200 2024/01/11
    個人的にはjupyter notebookみたいなのが手順書っぽいなと思う。私のところは画面付きでやるからコマンドだけじゃダメなんだけどね
  • システム定義のロールPUBLICには何もGRANTしちゃだめだよ #SnowflakeDB | DevelopersIO

    Snowflakeを実運用する際には、ロールに応じてどのデータにアクセス可能かを管理すると思います。SnowflakeではRoleベースでデータベースへのアクセスやSnowflake内の権限の管理を行います。 Snowflakeにはシステム定義のロールが用意されています。今回はシステム定義のロールの一つで全ユーザーに自動的に付与されるPUBLICロールの取り扱い方に関する話をします。 きっかけは、会社のSnowflake検証環境を使用しているときのことでした。 対象のDBだけにusage権限を付与したロールのはずが... 会社のSnowflake検証環境を利用して登壇準備をしていた時のことです。Snowflake画面を共有したデモを行うのでなるべく関係のないDBなんかは画面に映らない方がいいと思い、デモをするDBだけにusage権限を付与したロールを作成しました。 このように権限の付与をす

    システム定義のロールPUBLICには何もGRANTしちゃだめだよ #SnowflakeDB | DevelopersIO
    honma200
    honma200 2023/02/12
    SnowflakeのマニュアルだとSYSADMINを頂点のROLEの親子関係って親の権限を子が削っていくから、子供の権限全て持つって考えられるけど、そうなるとPUBLICっておかしな位置になるんだよなぁ
  • SnowflakeのPrimary KeyおよびUnique制約が実行計画に与える影響の有無について調べてみた。 | DevelopersIO

    はじめに 好物はインフラとフロントエンドのかじわらゆたかです。 Redshiftを用いながら業務をしていく中でのハマりごととして、Primary KeyおよびUnique制約が実行計画に与える影響があるかと思います。 これはRedshiftのドキュメントに以下のように記載されている内容となります。 一意性、プライマリキー、および外部キーの制約は情報提供のみを目的としており、 Amazon Redshift によって強要されることはありません。 ただし、プライマリキーと外部キーはプランニング時のヒントとして使用されます。 (中略) プランナはこれらのキーの関係を活用しますが、 Amazon Redshift テーブルのすべてのキーがロード時に有効であることが前提となります。 アプリケーションが無効な外部キーまたはプライマリキーを許可する場合、 いくつかのクエリが不正な結果を返す可能性がありま

    SnowflakeのPrimary KeyおよびUnique制約が実行計画に与える影響の有無について調べてみた。 | DevelopersIO
    honma200
    honma200 2022/09/25
    Snowflakeって制約がINSERTで効かないことに驚いてしまった・・・
  • SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO

    こんにちは!DA(データアナリティクス)事業部 サービスソリューション部の大高です。 SQLクエリをローカル環境でウェブアプリとして実行できるものが無いか少し探していたのですが、「SQLPad」というアプリケーションを見つけたので実際に試してみたいと思います。 SQLPadとは SQLクエリを実行、クエリ結果を可視化できるセルフホスティング型のウェブアプリケーションです。2022年1月現在では以下の15個のデータベースに対応しており、ODBCにも対応しているのでODBC接続を利用すれば、これ以外のデータベースにも接続可能なようです。 Postgres MySQL SQL Server ClickHouse Crate Vertica Trino Presto Pinot Drill SAP HANA Snowflake BigQuery SQLite TiDB 公式サイトでの解説は以下の

    SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO
    honma200
    honma200 2022/01/15
    A5M2?
  • 古くからのユーザ程混乱しがちな1Password機能拡張の今について確認してみた | DevelopersIO

    MacのSafariやChromeの拡張を整理していく中、とあることに気が付きました。 「1Passwordの拡張が複数あるけどどうして」 1Passwordの拡張機能を意識するのは大体ログインフォーム入力時或いは新規アカウントを作成する時。後はたまに漏洩等でWatchTowerがお知らせしてくれる程度。そのため、入れ替えやら行う場合に大きく状況が変わっていると戸惑うわけです。 現状の1Passwordのブラウザ拡張について振り返りつつ整理してみました。 現在の1Password拡張機能 現在Chromeウェブストア上から検索にて辿れる拡張は以下一つ。 拡張の概要欄を見ると分かりますが、これは以前1Password Xと呼ばれていた拡張機能です。 1Password Xには1Passwordメンバーシップが必要です。まだアカウントを持っていない場合は、1Password Xをインストールし

    古くからのユーザ程混乱しがちな1Password機能拡張の今について確認してみた | DevelopersIO
    honma200
    honma200 2021/10/11
    1Password xはサブスクで、古い方は買い切りのデスクトップ用で、アプリから直リンでインストールするやつじゃん。更新日古いからってセキュリティ的に危ないって言ってサブスクに誘導してんの?怖っ!
  • 【書評】ドメイン駆動設計 モデリング/実装ガイド | DevelopersIO

    はじめに コードを書いていると、途中で「このモジュールなんか長くなってきたな・・・どうしよ」「この処理ってここのモジュールに書くべきなんだっけ」等と設計的な悩みが発生することが結構あります。 チームで開発しているので、そういう場合には途中でSlackやビデオチャットで相談したり、コードレビューの段階でやりとりして解決していました。 そこで、ふと「いつも的確なコメントくれるなぁ」と思っていたメンバーがいたので、話を聞いてみると「ドメイン駆動設計」を参考にしているとのことで、読んだを教えてもらいました。それが「ドメイン駆動設計 モデリング/実装ガイド」でした。 読んでみると最初の悩みがかなりスッキリしたので、私と同じような悩みを持っている方向けにブログを書くことにしました。 の簡単な概要 初めてDDD(以下、ドメイン駆動設計)を学ぶ方や、実際に着手して「難しい」と感じているエンジニアを対象

    【書評】ドメイン駆動設計 モデリング/実装ガイド | DevelopersIO
  • GitLab.comはどうやって6TBのPostgreSQLを9.6から11にたった2時間で移行したのか? | DevelopersIO

    GitレポジトリのホスティングサービスGitLab.comは2020年の5月に 6TB あるPostgreSQL 9.6クラスターをたった2時間のメンテウィンドウ中に11.7へアップグレードしました。 GitLab.comのエンジニアブログに、このPostgreSQLのメジャーアップグレードプロジェクトが解説されていたので、かんたんにご紹介します。 How we upgraded PostgreSQL at GitLab.com | GitLab ポイント PostgreSQL 9.6から 11.7 へのメジャーアップグレード 2時間のメンテナンスウィンドウ内でアップグレード完了 データサイズは6TB DBクラスターは GCP 上の 12台の VM インスタンスで構成 クラスターはアップグレード用の8台とリカバリー用の4台に分割 pg_upgrade & ハードリンクでインプレースアップグ

    GitLab.comはどうやって6TBのPostgreSQLを9.6から11にたった2時間で移行したのか? | DevelopersIO
    honma200
    honma200 2021/01/26
  • 【2021年】AWS全サービスまとめ | DevelopersIO

    こんにちは。サービスグループの武田です。このエントリは、2018年から公開しているAWS全サービスまとめの2021年版です。 こんにちは。サービスグループの武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2021年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2020年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 205個 です。 まとめるにあ

    【2021年】AWS全サービスまとめ | DevelopersIO
    honma200
    honma200 2021/01/07
    いつも思うのだが、なぜAmazonはこんなにサービスを提供、サポートできるんだろう?
  • React界隈で話題になっている「React Server Components」についてまとめました! | DevelopersIO

    どうもReact大好きCX事業部の片岡です! 今回はReact界隈で話題になっている「React Server Components」についての内容を意訳してみました。 元ネタ 話題になっているこちらの記事が元ネタです。 https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html 概要 Fetch APIでデータをやり取りすると、バケツリレーが発生します。例えば、Spotifyのアーティストページにはアーティストの情報と人気の曲とアルバム一覧が並びます。この時、人気の曲とアルバム一覧を取得するには、アーティスト情報を取ってこないといけません。そうすると、アーティスト情報を取得している間と人気の曲・アルバム一覧を取得するまでにクライアントサイドとサーバーサイドで無駄な待機時間が出来てし

    React界隈で話題になっている「React Server Components」についてまとめました! | DevelopersIO
  • OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO

    現在私は barista という OpenID Connect と OAuth2.0 に準拠したID製品の実装を行っています。 また、私の所属する事業開発部では prismatix というEC、CRMAPI 製品の開発を行っていますが、この prismatix の認可サーバーとして barista を利用しています。 barista チームの増員や、prismatix の認可についての理解を促進するため OAuth 2.0 をある程度しっかりと理解しているメンバーを増やしたかったので、勉強会を開催しました。 勉強会の内容 概要 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べるを全員で輪読 OIDC 編はこのあとやる予定 攻撃編もやりたい RFC 読んだりもしたい 参加者全員が以下を満たすことが目標 OAuth 2.0 の意図を理解

    OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO
  • レビューしやすいプルリクエスト | DevelopersIO

    普段レビューをしていて、レビューしやすいプルリクエストに対して個人的に感じている特徴をまとめてみました。 普段レビューをしていて、レビューしやすいプルリクエストに対して個人的に感じている特徴をまとめてみました。 割と大きめなソースコードに対するレビューの話が主となります。 ざっくりまとめ 記事では以下のようなトピックについて記載しています。 差分の目的が1つ レビューをしながら「私はいま何のレビューをしているのか」のコンテキストスイッチが発生しないので嬉しい 何を達成したいのかがわかる レビューの多くは「やりたいこと」と「実現方法」のすり合わせなので、前者の精度を上げたい 分割されすぎていない 他のコードとの関連性や構造についてのレビューがしやすい レビューの強弱をつけるための情報がついている 機械的な変換の差分だったりした場合、それが事前にわかると嬉しい 検証結果が書いてある コードだ

    レビューしやすいプルリクエスト | DevelopersIO
  • 「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO

    西澤です。クラスメソッドに入社してからおよそ5年間クラウドの推進やAWS技術に関する支援をさせていただいております。この経験を何か形にしたいと思い、少し遅れてしまったのですが、Developers.IOイベントに乗じてまとめさせていただきました。 発表資料 資料はこちらにアップロードしております。 夜間に録音したので覇気が無い感じになってしまいましたが、動画はこちらです。 まとめ 「AWS設計でやりがちな失敗パターン」というタイトルで考え始めたのですが、もっともお伝えしたい点は、AWSを利用されるお客さまのマインドセットを変え、クラウドを活用できる組織に変わって欲しい、というところに集約できるかなと思います。技術的な問題以上に、考え方を変えられないこと、組織を変えられないことが、クラウド活用を阻害するアンチパターンになっていると思いました。 どこかの誰かのお役に経てば嬉しいです。

    「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO
  • ウォーターフォールからアジャイルシフトの失敗原因と成功の秘訣 #scrumosaka | DevelopersIO

    Scrum Fest Osakaとは? 2020年6月26(金)・27日(土)にScrum Fest Osakaがオンラインで開催されました。 Scrum Fest Osaka 2020@ONLINEは以下のようなイベントです。クラスメソッドではシルバースポンサーとして協賛を行いました。 Scrum Fest Osakaはスクラムの初心者からエキスパート、ユーザー企業から開発企業、立場の異なる様々な人々が集まる学びの場です。この2日間を通じ、参加社同士でスクラムアジャイルプラクティスについての知識やパッションをシェアするだけでなく、ここで出会ったエキスパートに困りごとを相談することもできます。 ウォーターフォールからアジャイルシフトの失敗原因と成功の秘訣 記事は、セッション「ウォーターフォールからアジャイルシフトの失敗原因と成功の秘訣」をレポートします。 スピーカー Agility D

    ウォーターフォールからアジャイルシフトの失敗原因と成功の秘訣 #scrumosaka | DevelopersIO
  • CentOS 6~CentOS 8の違いをざっくりまとめてみた | DevelopersIO

    CentOS 6~CentOS 8の違い 移行にあたり、重要そうな部分を抜き出してみました。 足りなかったら追記します! CentOS 6 とCentOS 7の主な違い serviceコマンドがsystemctlコマンドへ移行 nmcliコマンドの追加 firewalldコマンドの追加 デフォルトのDBMySQLからMariaDBに変更 ファイルシステムがext4からxfsに変更 CentOS 7 とCentOS 8の主な違い yumコマンドがdnfコマンドへ移行 iptablesコマンドがnftablesコマンドへ移行 NTPコマンドがchronyコマンドへ移行 TLS 1.1以下はサポート対象外 デフォルトのPythonのバージョンがPython 3.6になる デフォルトのPHPのバージョンがPHP 7.2になる 暗号化ボリュームのデフォルト形式がLUKSからLUKS2に変更 yum

    CentOS 6~CentOS 8の違いをざっくりまとめてみた | DevelopersIO
  • 汎用プログラミング言語でKubernetesのYAMLを生成するcdk8sが発表されました! | DevelopersIO

    TypeScriptKubernetesYAMLを生成できるよ!そうcdk8sならね」 というわけで、先日AWSより突然、cdk8sなるものが発表されました。 Introducing the CDK for Kubernetes, a New Software Development Framework and Open Source Project for Defining Kubernetes Applications Using Code 正直最初これを見たときの第一印象は「なんて安易なネーミングなんや…」でしたが、見れば見るほど、KubernetesYAMLをそのまま管理する辛さに対しての別次元のアプローチとして、すごい斬新で期待感が持てたので、意気揚々とブログを書いております。この記事では、cdk8sの特徴とそれが解決してくれること、および関連リソースをまとめてます。ぜひ

    汎用プログラミング言語でKubernetesのYAMLを生成するcdk8sが発表されました! | DevelopersIO
  • 社内勉強会で AWSエンジニアのためのActive Directory入門 という発表をしました | DevelopersIO

    しばたです。 日弊社の社内勉強会で「AWSエンジニアのためのActive Directory入門」というタイトルでActive Directory(AD)の基と、AWSにおけるAD関連サービスやADの構成例について発表しました。 その際に使用したスライドをSpeaker Deckに公開しましたので、皆さんもぜひご覧ください。 発表内容について アジェンダにあるとおり、勉強会では Active Directoryとは AWS と Active Directory AWS環境での Active Directory構成例 についてお話しました。 時間の都合により最後の部分は話せませんでした。 AD自体のはなしやAWSでのDirectoryサービス関連については私の説明以外にも多くのサイトやDevelopers.IOに解説記事があるのでここでは多くを語らなくても良いかなと思ってます。 Dire

    社内勉強会で AWSエンジニアのためのActive Directory入門 という発表をしました | DevelopersIO
  • PythonのORMライブラリsqlalchemyで利用可能なコネクションプーリングの実装について調べてみた | DevelopersIO

    CX事業部@大阪の岩田です。Python向けのORMライブラリsqlalchemyは標準でコネクションプーリングの実装が組み込まれており、create_engine()を呼出す際の名前付き引数poolclassの指定によってコネクションプーリングの実装を切り替えることができます。先日コネクションプーリングの実装について調べる機会があったので、内容をご紹介します。 環境 今回利用した環境です。 OS X 10.14.6 Python 3.8.2 sqlalchemy 1.3.16 pymysql 0.9.3 利用できるコネクションプーリングの実装 sqlalchemyは標準で以下のコネクションプーリングの実装を提供しています。 QueuePool NullPool SingletonThreadPool StaticPool AssertionPool 例としてNullPoolを使う場合は

    PythonのORMライブラリsqlalchemyで利用可能なコネクションプーリングの実装について調べてみた | DevelopersIO
  • AWSとGCPのVPN接続を複数パターン試してみる(高可用性(HA)VPN編) | DevelopersIO

    はじめに データアナリティクス事業部のkobayashiです。 AWSGCPをセキュアな環境で接続してそれぞれのサービスを相互に利用できないか検証するためそれぞれのVPC間をVPNで接続してみました。 前回はGCPVPNオプションにはClassic VPNでの接続方法をまとめましたので、今回は高可用性(HA)VPN接続の方法をまとめます。 Cloud VPN の概要  |  Google Cloud 前回の記事 接続パターン Classic VPN接続 AWSAWS VPN connectionを作成すると2つのIPSec tunnelが利用できます。 上のパターン(以降パターン1)ではそのうちの1を利用するパターン、下のパターン(以降パターン2)は2とも利用してフェイルオーバーに対応するパターンになります。 前回のエントリーではこのパターン1、パターン2の接続方法をまとめまし

    AWSとGCPのVPN接続を複数パターン試してみる(高可用性(HA)VPN編) | DevelopersIO