福田(@JunyaFff)です。今月の「Python Monthly Topics」は、最近私が個人的に気になっている静的コード解析ツールRuffについて紹介します。 どんなプログラミング言語でも、静的コード解析ツール(リンター)やフォーマッターは非常に便利です。Pythonでコードを書く場合、皆さんはどんなツールを使っているでしょうか?Flake8やBlack、isortなどが人気で、世界中で多くのPythonエンジニアに利用されています。 Ruffは2022年8月にリリースされた比較的新しい、Pythonのリンター兼フォーマッターです。Ruffはリリースからまだ半年足らずしか経っておりませんが、多くの著名なライブラリで採用[1]され、毎日のようにアップデートされています。2023年3月時点でのRuffの使い方、そしてこれからの発展について、本記事で紹介します。 Ruffとは? ここでは
梗概 現代社会は多くのものがソフトウェアで成り立っており、絶えず変化するニーズに応じられる柔軟でスピーディーな開発が求められています。その一方、何が正解(ゴール)なのかが分からない、という不確実性の時代でもあります。不確実性に対処するには「アジャイル開発」が最も有望ですが、その成功裏の実践には、従来の常識の解体と再構築が必要です。エンタープライズにおけるアジャイル開発の実践が待ったなしの状況の中、理論、課題、近年の動向も踏まえ、実例を交えながら幅広く解説します。 「文書を書かない」という誤解 本連載の第1回~第3回において、ウォーターフォール方式に変わる、新たな開発手法が発見され、それが1990年代後半~2000年代の「Linux」やスマートフォンの開発において極めて重要な役割を果たし、それが今日のアジャイル開発手法の原則として受け継がれてきていることを解説しました。今回から、アジャイル開
キヤノンITソリューションズは2月13日、同社が取り扱うセキュリティソフトウェア「ESET」において、Google Chrome・Microsoft Edgeのセキュアブラウザ使用時の不具合について情報を公開した。個人向け・法人向けの両方で発生している。 セキュリティソフト「ESET」、Chrome・Edge最新版セキュアブラウザ使用時に不具合 Google Chrome 110とMicrosoft Edge 110において発生している現象。同ブラウザでセキュアブラウザ機能を使用すると、起動してしばらくするとブラウザがクラッシュして強制終了してしまうという。回避策も存在しており、まず「すべてのブラウザーを保護」を有効化してOSを再起動。「保護されたWebサイトリダイレクトを有効にする」を無効化し、「セキュアブラウザーを有効にする」を無効化してOSを再起動することで利用できるという。影響範囲
JavaScriptでウインドウサイズを取得する場合、取得する箇所により関数(命令)が異なります。 一般的なスマートフォンでも下記のJavaScriptで画面サイズやブラウザサイズを取得することができます。 サンプルは全てライセンスフリーとしていますので、改変や再配布も自由です。(コメントを残していただけると幸いです) ただし、動作の保証は一切行っておりませんのでご理解の上、ご利用ください。
(この話は最初Twitterに書こうと思ったけど、長くなるのでブログに書くことにしました) 僕はRSpecやMinitestでテストを書くのは得意ですが、常にテストファースト(TDD)で開発するとは限りません。 今業務でやってるタスクはこんなふうに進めてます。 雑に動くものを作る ↓ 見た目をきれいにする&機能を作り込む ↓ テストを書く ↓ リファクタリングする この順番で開発する理由を以下に述べます。 雑に動くものを最初に作る理由 最初は見た目とか、異常系とか、細かい仕様とかを無視して、正常系が一通り動くものを作ります。 これはこれから作ろうとしているものの認識が合っているかどうかをPO(プロダクトオーナー)に確認するためです。 実際に動く画面を見せると「こんな感じでOK」とか「ここはこういうふうにしたい」というフィードバックをもらうことができます。 また、開発者としてもコードを書きな
{"is_any_tile":false,"sources":[{"source":"bmc_bonus_type","table_games":false,"bonus_types":false,"game_providers":false,"slots":false,"live_games":false,"is_live_dealer":false,"payment_methods":false,"sport_types":false,"live_streaming":false,"cash_out":false}]} ウェルカムボーナス {"is_any_tile":false,"sources":[{"source":"bmc_bonus_type","table_games":false,"bonus_types":false,"game_providers":false,"sl
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月. Learn more See full compatibility Report feedback submit イベントは <form> が送信されたときに発生します。 submit イベントは <form> 要素自身で発生するものであり、その中の <button> や <input type="submit"> で発生するものではないことに注意してください。しかし、フォームの送信が起動されたことを示すために送信される SubmitEvent には、送信リクエストがどのボタンで起動されたかを submitter プロ
全国銀行資金決済ネットワーク(全銀ネット)が2027年の稼働を目指す次期「全国銀行データ通信システム(全銀システム)」の大枠が2023年2月8日までに分かった。動作プラットフォームは既存の富士通製メインフレームから脱却し、オープン基盤を採用する方針だ。合わせて既存のCOBOLプログラムをJavaなどで書き換えることを検討している。全銀システムのオープン化は、国内金融機関の基幹系システムに対する判断に大きな影響を与えそうだ。 銀行間送金を担う全銀システムは1973年の稼働で、現在は第7世代が稼働している。およそ8年ごとにシステムを刷新しており、第8世代に当たる次期全銀システムは2027年の稼働を見込んでいる。 全銀ネットは次期全銀システムの構築に向けて、2022年4月に銀行や金融庁、ITベンダー、有識者などで構成する「次世代資金決済システム検討ワーキンググループ(WG)」を設置し、方向性など
DeepMindが競技プログラミングレベルのプログラミングが可能な人工知能(AI)の「AlphaCode」を発表しました。AlphaCodeのほかにも自動でプログラミングが可能なAIは存在しますが、AlphaCodeは414億ものパラメーターを保持した特に精度の高いAIに仕上がっているとのことです。 Competitive programming with AlphaCode | DeepMind https://deepmind.com/blog/article/Competitive-programming-with-AlphaCode Competition-Level Code Generation with AlphaCode (PDF)https://storage.googleapis.com/deepmind-media/AlphaCode/competition_leve
git pushなどの出力は標準エラー(stderr)であることを最近知りました。。なぜstderrなのか、は過去こちらでも話題となったようです。端的に言うと、「プログラムの実行結果の出力ではなく、実行の過程での出力だから」といった感じかと思います。 では、それで何がまずいのかですが。 CIツール(Travis CIなど)で、プログラムをビルドして、Githubにpushしたりすることがあります。その際、CIツールがpushできるようにGithubのTokenを使います。そのTokenがあると、そのTokenに許可しているアクセス(レポジトリのmasterへのpushなど)ができるわけです。CIツールのビルドのログは、公開されているものも多いので、Tokenのような情報は、見えないように暗号化したり、grepで表示から除外したりする必要があります。 CIツールがTokenを使ってpushす
setInterval(code) setInterval(code, delay) setInterval(func) setInterval(func, delay) setInterval(func, delay, arg1) setInterval(func, delay, arg1, arg2) setInterval(func, delay, arg1, arg2, /* …, */ argN) 引数 func delay ミリ秒が経過するたびに実行する関数です。最初の実行は delay ミリ秒後に行われます。 code 関数の代わりに文字列を含める構文も許容されており、 delay ミリ秒が経過するたびに文字列をコンパイルして実行します。 この構文は推奨しません。eval() の使用にセキュリティ上のリスクがあるのと同じ理由です。 delay 省略可 指定した関数またはコード
setTimeout(code) setTimeout(code, delay) setTimeout(functionRef) setTimeout(functionRef, delay) setTimeout(functionRef, delay, param1) setTimeout(functionRef, delay, param1, param2) setTimeout(functionRef, delay, param1, param2, /* …, */ paramN) 引数 functionRef タイマーが満了した後に実行する関数。 code 関数の代わりに文字列を含める代替構文も許容されており、タイマーが満了したときに文字列をコンパイルして実行します。 eval() の使用にリスクがあるのと同じ理由で、この構文は推奨しません。 delay 省略可 指定した関数やコード
この記事は新野淳一氏のブログ「Publickey」に掲載された「AGitHubがSubversionのサポート終了を発表、2024年1月8日まで。その後は全面的にGitに注力予定」(2023年1月26日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。 Subversionは、プログラムのソースコードを管理するシステムもしくはその仕組みの名前で、クラアイント/サーバ型のアーキテクチャを用い、常に中央に設けられた1つのリポジトリに対してコードの変更を行う、集中型のバージョン管理システムです。 GitHubでは2010年にSubversionのサポートを開始していますが、当時はSubversionのような集中管理型のバージョン管理システムの方が歴史が長く主流であり、Gitのような分散型のバージョン管理システムはまだ新しい仕組みとして普及の途上にありました。 GitHubブ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く