タグ

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

  • Stripe Billingで、サブスクリプションのプラン・料金変更後の請求金額を事前にプレビューする - Qiita

    Stripe Billingで、サブスクリプションのプラン・料金変更後の請求金額を事前にプレビューするJavaScriptstripestripeBilling Stripe Billingでサブスクリプションを提供している場合、契約期間中のプラン変更で「使った分だけ支払う」決済ができます。Stripeではこれを「比例配分」とよんでいます。 例えば「月1,000円のプラン」を途中で「月2,000円のプラン」に変更する場合、比例配分が有効になっていると、以下のような請求書が作られます。 1: 月1,000円のプランの未使用分: ▲ 743円 2: 月2,000円のプランの使用分:  1,485円 3: 次回の契約期間の利用料金: 2,000円 この請求のうち、1と2が比例配分によるものです。 1は、「変更前プランの、プラン変更日から契約期間終了日までの日割料金」を請求から差し引いています。

    Stripe Billingで、サブスクリプションのプラン・料金変更後の請求金額を事前にプレビューする - Qiita
  • Python3.10の新機能 (まとめ) - Qiita

    はじめに Python 3.5から What's Newの内容をまとめる記事を投稿してきました。 Python3.5の新機能 Python3.6の新機能 Python3.7の新機能 Python3.8の新機能(まとめ) Python3.9の新機能(まとめ) リリースサイクルが1年になり、この前3.9が出たばかりと思ったらもう3.10のa2が出ていました(汗)。ここで書いているように、正式版がでるのと同時に次のα版がでるのでまあ予定通りなのですが、ちょっとペースが早い (^^; (←この記事を書き始めたころのコメントです。) それでもやはり次のリリースで何が載ってくるのかは気になるので抜粋してまとめていきたいと思います。なお、3.9の次のバージョンは4.0ではなく3.10です(笑)。まずはいつもの開発ロードマップ(PEP-619)。 3.10.0 開発開始: 2020-05-18 (完了)

    Python3.10の新機能 (まとめ) - Qiita
  • 完璧な要件定義など幻想である。個ではなく、チームで作る要件定義 - Qiita

    これはなにか エンジニア、ビジネスサイドの方に向けた、「良い要件定義の作り方」について書いた記事です。 長文がつらつらと書いてある稿ですが、要するに言いたいことは、 ● 完璧な要件定義など幻想であり、誰がどう作っても不完全である ● そのため、一番危険なのは、とびきり賢い人が出してきた要件定義で、 「あの人が作ったんだから大丈夫」と盲目的に考えること ● 完璧にはならないことを受け入れ、ベストを尽くす姿勢が大事 ●そもそも、アジャイル開発において、完璧な要件定義は求められていない ●良い要件定義には以下のスタンスが必要 ● UXから逆算する ● 削ぎ落とす ● 個ではなく、チームで作る ● レビューを徹底する ● 3つのシナリオを想定する ということです。 ※約1万字あり、また各章について深く掘り下げる項目は別記事を添付しています。そのため、モバイルで通読するにはすこし骨が折れるかもしれ

    完璧な要件定義など幻想である。個ではなく、チームで作る要件定義 - Qiita
  • 「技術的負債」への処方箋と「2つのDX」 - Qiita

    はじめに 稿は、日経クロステックにて筆者が昨年連載していた3回分の記事一部変更して1つにまとめたものです。 https://xtech.nikkei.com/atcl/nxt/column/18/01394/ 有料記事として配信されておりますが、無料でも閲覧できるようにということで日経クロステック様に許可を得てQiitaにも掲載しています。 第1回:技術的負債はなぜ生じるか。 第2回:ソフトウエア開発を「制御」する意外な処方箋 第3回:技術的負債への取り組みはなぜ「2つのDX」につながるのか。 第1回:技術的負債はなぜ生じるか。 年間12兆円ものマイナスの影響をもたらす技術的負債(あるいはレガシーシステム)はどのように生まれるのでしょうか。それを防ぐ方法はあるのでしょうか。第1回は、技術的負債をとりまく歴史をたどりながら、ソフトウェアエンジニアではない人にも理解できるようにその正体に迫り

    「技術的負債」への処方箋と「2つのDX」 - Qiita
  • PlantUML Cheat Sheet - Qiita

    PlantUML は DSL(ドメイン特化言語) で UML の図を描きます。 テキストで記述するので Git で差分を確認したり Git Flow で関係者とコラボレーションをして図が描けるので便利です。 PlantUML は多くの UML に対応していますが、よく使うものを チートシート にまとめました。 Diagram UML は大きく 振る舞い図 と 構造図 に分類されます。 Behavior 振る舞い図は、振る舞いに関する機能を表現します。 Diagram PlantUML 説明

    PlantUML Cheat Sheet - Qiita
  • Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita

    はじめに Pythonでキチンと型アノテーションを書くのであれば一度は読んでおきたいのがtypingライブラリの公式ドキュメントです。 前回の記事でも読んでくださいと(偉そうに)書いたわけですが、実のところこれは型アノテーションを解釈する側1に向けたドキュメントだったりもするのでアノテを書く側にとっては情報がごちゃごちゃしてるんですよね。加えて未翻訳の箇所もそれなりにあってま~~~~読みにくい。実際に読んでいただいた方々からの評判もすこぶる悪かったです。また 機能は分かったけど結局どんな時に使えばいいのか分からない という致命的なコメントも聞きました。 そこで今回はこれらの不満を解消すべく、公式ドキュメントを一般ユーザー向けに再編し具体的なユースケースを盛り込んだ非公式ドキュメントをご用意しました。 なおPython 3.10は2021年10月04日リリース予定ですが、先駆けてドキュメント

    Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita
  • Blitz.js、Next.js辞めるってよ - Qiita

    Blitzは、ざっくり言うとReactRuby on Railsです。 Reactの面倒なところを全てすっ飛ばし、技術選定なんてどうでもいいから今すぐアプリを動かしたいんだよ、という要望を叶えるのに適したフルスタックフレームワークです。 概要はBlitz.js - React on Rails、実際の使い方はBlitz.jsチュートリアル:投票サービスを15分で作ってみるあたりを見てもらうとして、とにかくチュートリアルに従ってコマンド打てばとりあえず動くものが一瞬でできるとかそんなかんじです。 技術的にはReact + Next.jsで動いています。 ということだったのですが、先日どうも雲行きの怪しいRFCが提出されました。 以下は[RFC] Time to maintain a fork of Next.js?の紹介です。 なお提案者のBrandon BayerはBlitz.jsの作者

    Blitz.js、Next.js辞めるってよ - Qiita
  • ffmpeg を使い、HTTP Live Streaming(HLS)をファイルに保存し、保存したファイルからストリーミングを行う方法について - Qiita

    ffmpeg を使い、HTTP Live Streaming(HLS)をファイルに保存し、保存したファイルからストリーミングを行う方法についてffmpegmp4HLS 追記 2016/02/16 に ffmpeg version 3.0 がリリースされました。 ver 3.0 では libaacplus libvo-aacenc が削除されるなど、コーデックとコンテナの統廃合が行われたようです。 このエントリは ffmpeg version 2.x について記述しているため、 ver 3.x ではそのままでは動かない部分があるかもしれません。ご留意ください。 また、 libfdk_aac が使えない場合は、 libfaac を使用してください。 ffmpeg を使い HLS を使ったストリーミングを mp4 フォーマットで保存したり、その反対に mp4 からストリーミングを行う(m3

    ffmpeg を使い、HTTP Live Streaming(HLS)をファイルに保存し、保存したファイルからストリーミングを行う方法について - Qiita
  • 技術的な意思決定をする際に考えていること - Qiita

    人生は選択の連続である」という言葉もありますが、ソフトウェア開発も選択の連続です。 日頃から、技術やアーキテクチャの選定において、様々な意思決定やトレードオフを行う必要があります。ここでは、自分が技術的な意思決定の際に用いている考え方をまとめてみようと思います。 技術選定の観点 技術選定の観点は、例えば以下のようなものがあるでしょう。 主流か イケてるか 枯れているか 将来性はあるか 捨てやすいか セキュアか 情報の多さ 開発元、コミュニティ 開発生産性 開発スピード 既存のシステムとの相性 GitHubのスター数 学習コスト チームの技術力 人材確保の難易度 技術広報 組織構造との相性 お金(人件費や運用費など) しかし、これらだけでは不十分です。 単に技術を選ぶだけではなく、どうしたら将来的な事業に良いインパクトを与えられるか?あるいは、事業を守ることができるか?を考える必要がありま

    技術的な意思決定をする際に考えていること - Qiita
    f-suger
    f-suger 2020/12/22
  • スクラム開発のやり方を開発チームの状況に合わせてアップデートさせた話 - Qiita

    VISITS Technologiesでマネージャー兼バックエンドエンジニアをしている@ham0215です。 今年のアドベントカレンダー2つ目の記事です。よろしくおねがいします。 前回の記事では『スタートアップに転職して思ったこと +1 year』というタイトルでスタートアップに対する私見を色々書きました。 その中でも触れたのですが、私の所属している開発チームではスクラム開発Likeな開発手法を採用しています。 スクラム開発Likeと書いたのはスクラム開発をベースにしているものの、色々なスクラムイベントを端折っているためです。 当初、プロダクトメンバーはエンジニア3名、PM1名、デザイナー1名でした。 人数も少ないし、それぞれが単独で滞りなく作業を進められていたのでスクラムイベントを端折っても問題なく開発をすすめることが出来ていました。 この状況なのでスクラムの形式通り様々なイベントをして

    スクラム開発のやり方を開発チームの状況に合わせてアップデートさせた話 - Qiita
  • ElasticsearchのSlowlog設定について - Qiita

    ElasticsearchのSlowlogについて 皆さん、ElasticsearchのSlowlog設定を利用されてますか? クエリのパフォーマンスチューニングや、インデキシングに時間がかかっている時の原因究明に大いに役立つ設定だと思いますので、Elastic CloudとDocker上でのSlowlogの設定をご紹介します。 目次 Slowlogとは Elastic CloudでのSlowlog設定 Docker上でのSlowlog設定 最後に Slowlogとは まず公式ドキュメントはこちらです。 概要としては、インデックスに対してwarn, info, debug, traceのレベル毎に時間を設定することで、設定時間を上回ったクエリが出力されます。対象はSearchとIndexになりSearchのSlowlogではQueryとFetchで別々の時間が設定できます。 PUT /it

    ElasticsearchのSlowlog設定について - Qiita
  • Terraformで、Systems Manager(Session Manager)でアクセスできるようにしたEC2インスタンスを構築する - Qiita

    Terraformで、Systems Manager(Session Manager)でアクセスできるようにしたEC2インスタンスを構築するAWSTerraform TL;DR AWS Systems Managerを使って、EC2インスタンスにSSH鍵なしでアクセスできるようにしたい そのための環境を、Terraformで構築する AWS Systems Managerを利用するためには、EC2にAmazonSSMManagedInstanceCoreポリシーを含むIAMインスタンスプロファイルを付与する必要がある AWS Systems Manager AWS Systems Managerとは、AWSインフラリソースの運用の役立つサービスです。 AWS Systems Manager AWS Systems Managerの機能は、こちら。 Systems Manager の機能 ま

    Terraformで、Systems Manager(Session Manager)でアクセスできるようにしたEC2インスタンスを構築する - Qiita
  • Terraform v0.13にアップグレード - Qiita

    概要 個人開発で利用しているTerraformをv0.13にアップグレードした際の対応方法をまとめました。 v0.12.24 -> v0.13.0 プロバイダーはTerraform AWS Providerを利用しています。 対象読者 TerraformAWSを運用レベルで利用している方 ソースコード 実際にアップデートした際の変更内容はこちら。terraform 0.13upgradeコマンドによる変更です。 コマンドについては下記にて説明します。 事前準備 Upgrading to Terraform v0.13 - Terraform by HashiCorpに記載通りに事前準備を進めます。 v0.11を利用している場合は、v0.12にアップグレード v0.13では、v0.11からv0.12にアップグレードするためのterraform 0.12upgradeコマンドが含まれなくなり

    Terraform v0.13にアップグレード - Qiita
  • [Python]可読性を上げるための、docstringの書き方を学ぶ(NumPyスタイル) - Qiita

    日々Pythonの色々な記事がアップされているものの、あまりdocstringに触れている日語の記事が少ないな・・ということで書きました。 そもそもdocstringって? Pythonの関数だったりクラスだったりに記述するコメントです。 JSDocだったりのPython版です。 書き方は、最初結構他の言語と違うな・・という印象を受けました。 docstring書くと何が嬉しいの? 後で見直したときに、すぐ内容が把握できるよ Guido の重要な洞察のひとつに、コードは書くよりも読まれることの方が多い、というものがあります。 はじめに — pep8-ja 1.0 ドキュメント 最初は少し時間がかかっても、書いておくと後でコードを読み直した時の負担が減ります。 関数などを扱う際に、内容を見たりできるよ jupyter などであれば、nbextentionsでhinterlandを有効化する

    [Python]可読性を上げるための、docstringの書き方を学ぶ(NumPyスタイル) - Qiita
  • Hashidsから、短いユニークID(UUID)を作る - Qiita

    短くて一意な複数のID(short unique ids)を簡単に作りたい ユニークIDの需要はそれなりに高く、かつ出来る限りショートである方が望ましいという需要はそれなりにあります。 方法としては、UUIDを使ってるのではないでしょうか? もしくは、MD5やSHA256等のハッシュ値をBASE64エンコードして我慢して使用しているのではないでしょうか? 文字列長が超長いけど、ユニークなので、仕方なく、我慢しながら使ってるのではないでしょうか。 ここ最近、ショートでユニークなIDをシンプルに作れるという需要を満たす、Hashids が流行りつつあります。 詳しくは → http://hashids.org/ 対応してる言語は、有名どころだとC#以外の殆どの言語に対応しています。 JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Swift,

    Hashidsから、短いユニークID(UUID)を作る - Qiita
    f-suger
    f-suger 2020/09/16
  • 徳丸試験(ウェブ・セキュリティ基礎試験)の試験情報と勉強方法 - Qiita

    ウェブ・セキュリティ基礎試験を受験してきました。 とてもいい資格なので少しでも合格者が増えるように勉強方法含め情報共有します。 ウェブ・セキュリティ基礎試験とは 徳丸の愛称で有名な体系的に学ぶ 安全なWebアプリケーションの作り方の理解度を問う試験です。 問題作成をご担当されている徳丸先生にちなんで徳丸試験と呼ばれています。 Webアプリケーションを開発するにあたって、知っておくべきセキュリティや脆弱性の知識を身に付けることができます。 「徳丸読まずしてWebアプリケーションを作るなかれ」と言うぐらい必須の知識です。(私が勝手に言ってるだけです。) 詳細は以下をご覧ください。 https://www.phpexam.jp/tokumarubasic/ 試験の基情報 試験の形式は以下の通りです。(執筆時点)

    徳丸試験(ウェブ・セキュリティ基礎試験)の試験情報と勉強方法 - Qiita
  • Python で Stripe のログや Invoice 情報を収集する - Qiita

    この記事は Stripe Advent Calendar 2018 の12月7日のエントリーです。 Stripe を運用していて、一気にログを取得したい場合や次に来る定期支払いの Invoice をまとめて確認したい場合など、ダッシュボード経由だとなかなか思ったようにいかない事も多いかと思います。私は Python を使って処理してる事が多いのでその方法をまとめてみました。 準備 Stripe の SDK をインストールします。 API キーの取得 API リクエストでミスらないように、制限をかけた API キーを作成します。 Stripe のダッシュボードから作成可能です。「Restricted keys」というところで制限付きの API キーの作成をする事ができます。 LIVEキーを使ってゴリゴリやりすぎると事故った時に非常に怖いので、参照操作の場合は読み取りのみのアクセスをつけたキー

    Python で Stripe のログや Invoice 情報を収集する - Qiita
  • Vue.js 3.0 の新機能を試す。 〜 Teleport 編〜 - Qiita

    2020/05/04 追記 portal は teleport にリネームされたようです。 記事内容も修正しました。 -- 2020年Q1リリース予定のVue.js 3.0の新機能 Teleport を試してみたのでまとめます。 (参考) 以下でVue 3.0(vue-next)の環境構築、他の新機能についてもまとめています。 vue-next(Vue.js 3.0 wip)+ TypeScript + webpackでの開発環境を構築する Vue.js 3.0 の新機能を試す。 〜 Suspense 編〜 Teleportとは? 定義したコンポーネントが属するDOMツリーとは別の場所に、まるでテレポートしたかのようにコンポーネントを移動できる機能です。 直接指定の位置に表示できるので、 Modal、Tooltipなど要素の上部レイヤーに表示したいコンテンツでもz-indexでのCSSハッ

    Vue.js 3.0 の新機能を試す。 〜 Teleport 編〜 - Qiita
    f-suger
    f-suger 2020/08/07
  • 【Python】Poetry始めてみた & Pipenv から poetry へ移行した所感 - Qiita

    動機 近頃pipenv のインストールがかなり遅いので poetry を試してみました。 一通り使ってみてわかったことをまとめます。Pipenvを使っているのでそことの比較も。 パッケージ関連のコマンド(build, publish...)に関してや、細かい機能に関しては記述しないので、公式 Docを参考にしてください。 Poetryについて Poetryは、Pythonのパッケージ管理ツールです。Pipenvと同様、依存関係を解決しパッケージのインストール、アンインストールを行ってくれ、 poetry.lockファイルによって、他のユーザーも適切なバージョン、依存関係でパッケージをインストールすることが出来ます。 仮想環境を利用でき、パッケージングも可能です。 環境 CentOS 7.6.1810 pyenv 1.2.14-8-g0e7cfc3b poetry 1.0.2 Python

    【Python】Poetry始めてみた & Pipenv から poetry へ移行した所感 - Qiita
  • Page Object Patternを使うな、というCypress公式記事を読んで思ったこと - Qiita

    ※この記事はただの集団 Advent Calendar 2019の11日目の記事です。 はじめに 若干過激なタイトルにしたことを最初にお詫びします。 正確には以下の記事を読んで思ったことです。 Stop using Page Objects and Start using App Actions Page Objectsを使うのはやめて、App Actionsを使おう (著者訳) 引用元はCypressの公式ブログです。 全編英語なので、「読むの面倒くさいよぅ」という方には、記事が内容理解に役立つかもしれません。 Summary 1.前提 2.Page Object Pattern推奨派の主張 3.Page Object Pattern否定派の主張 4.記事を読んで思ったこと 5.最後に 説明の都合上、まずPage Object Pattern推奨派の考え方を簡単に説明し、その後にPag

    Page Object Patternを使うな、というCypress公式記事を読んで思ったこと - Qiita