Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.

まえがき 今年の PyCon JP 2020 にて「Python 3.9 時代の型安全な Python の極め方」というタイトルで登壇させていただきます。本稿は、発表の補足となる「型ヒントを使って Immutable な Python を実現する方法」について紹介したものです。 Python の型ヒント Python には「型ヒント」という機能があり、型をプログラム内に宣言することができます。 age: int = 28 name: str = 'Bruce Wayne' Python は動的型付き言語であるため、この情報はランタイム(実行時)にはあまり意味がないのですが、 mypy などの型チェックツールをつかうと、型の誤りをチェックすることができます。 def check_batman(name: str) -> bool: return name == 'Bruce Wayne' a
この記事は、Merpay Tech Openness Month 2020 の6日目の記事です。 メルペイでBackendエンジニアをしている柴田(@yoshiki_shibata)です。この記事では、Go言語のtestingパッケージに用意されている並列化の機能について説明します。 Go言語では、テストコードを作成するためのtestingパッケージが用意されています。一般に開発するソフトウェアの規模が大きくなるに従って、作成されるテストコードの量も多くなり、すべてのテストが終了するまでの時間も長くなっていきます。特に、データベースへアクセスするようなテストでは、データベースへの通信時間がテスト時間の多く占めますので、テストコードを逐次実行するよりは並列実行することで、テスト時間を短縮できます(厳密には用語「並行」ですが、t.Parallel()メソッドの説明なので、この記事では用語「並列
This post is also available in: English (英語) 概要 Wireshark は無料で利用できるプロトコル アナライザです。 Wireshark を使うと、ネットワーク トラフィックをキャプチャーしたり、キャプチャーしたパケットを表示させることができます。ITの専門職についているかたがたは、このツールを使って日々ネットワークのさまざまな問題を解決しています。セキュリティの専門家も、この Wireshark を使ってマルウェアが生成するトラフィックを確認しています。 そこで、今回は Wireshark の便利な機能のひとつである表示列のカスタマイズをご紹介したいと思います。Wireshark はデフォルトでは、非常にたくさんの情報を列表示してくれますが、これをカスタマイズすることで皆さん自身の用途に使いやすいようにできます。 本稿は Wireshark
はてなブックマークチームのid:taraoです。はてなブックマークでは、以前はオンプレミスなElasticsearchクラスタを運用していましたが、AWS上にAmazon Elasticsearch Serviceのクラスタを構築して切り替えました。この切り替えではクラスタの再構築に限らず、アップグレードやマッピングの変更にも使える一般的な方法を採用しました。 この記事では、その具体的な方法を紹介します。 一般的な方法を採用したい目的と背景 検討したクラスタ再構築や切り替えの方法 1. ローリングアップグレード 2. スナップショット・リストア 3. クラスタ横断レプリケーション 4. Reindex API 5. アプリケーションコードによる再インデキシング 目的・条件による取りうる方法のまとめ 採用した再インデキシング手法の詳細 ダブルライトをどのように実現するか 非同期ダブルライトの
Support for Windows Subsystem for Linux (WSL) 2 distros is being backported to Windows 10 version 1903, and 1909! Yes, you read that right. We heard how much you liked WSL 2 and wanted to expand its accessibility, and over the last few months we worked on bringing it back to 1903 and 1909. About Us We are Ty (Tito) Citrin, a PM, and Mitchell Minkoff, an engineer, both working in Windows Servicing.
年に一度のプロジェクトマネジメントに関するイベント「Backlog World 2020 re:Union」。今回「プロジェクトリスク&クライシスマネジメント」のテーマで登壇するのは、数多くのシステム開発の現場でプロジェクトマネージャーに従事し、現在は広島修道大学で教壇に立つ佐藤達男氏。前半はプロジェクトマネジメントに必要なことなどを、現場を知る人間の目線で語ってもらいました。 プロジェクトマネジメント論を教える現場経験豊富な大学教授佐藤達男氏:みなさん、こんにちは。今回のテーマは「プロジェクトリスク&クライシスマネジメント」です。とくに、プロジェクトマネジメントの中でも、リスクと危機管理にフォーカスして話をしたいと思います。 あらためまして、佐藤達男です。出身は東京で、もとはSI企業で多くのシステム開発プロジェクトでプロジェクトマネージャーを経験。そのあと、全社のプロジェクトを統括する、
もうずっとベータでいいや…。アプリをストアに公開せずTestFlightでβ配布するのが流行ってる!?2020.08.20 20:0044,459 satomi 公開するとあとが大変だし、アップル税もあるし。 …ってなことで、あえてAppStoreデビューを目指さず、リンクをシェアするだけでベータ配信とテストができる「TestFlight」で周囲に配って満足し、永久にテストフライトを続けるデベロッパーが増えているらしく、未公開アプリ紹介サイトも現れるなど地味な盛り上がりを見せています。 誕生2か月で評価105億円の未公開アプリ現るこの春、公開わずか2か月、利用5千人ぽっきりで評価1億ドル(約105億円)で投資を確保した音声SNS「Clubhouse」もTestFlightのベータ配信組。「シリコンバレーのVC(ベンチャー投資家)がひしめく秘密クラブ」、「ここだけの裏話がリアルタイムで聞ける
こんにちは、ritou です。 最近のあれこれでIDaaSと呼ばれる機能に注目が集まっているような気がしますが、どうしてもフロントエンドでの導入部分が目に付きます。 「新規サービスで使っていこう」ならまだしも「既存のを何とかしたい」みたいな場合にフロントエンドまでごっそり変えるのなんて腰が重くなって仕方ない感じでしょう。 そこで今回は、REST APIを用いた新規導入、移行というアプローチもあるのかなという話を書いておきます。 SPAとなると当然フロントエンドの振る舞いに注目されるけど、Deviseからの...を考える人たちはこの辺りから攻めるのもアリかと思う。ちゃんと整理して考えよう。https://t.co/fwhoA6wtjx— 👹秋田の猫🐱 (@ritou) 2020年8月19日 IDaaS の REST API この辺りをみてみてはどうでしょう。 Firebase Authe
読むのが面倒な人向けの結論:可換です。 「可換です」以外の答えを知りたい人はこの記事を最後まで読んでください。 結合法則と交換法則 実数の足し算や掛け算については結合法則 $x+(y+z)=(x+y)+z$ が成り立ちます。これに対し、浮動小数点数の足し算・掛け算が結合的でないことはとても有名な話です。 例えば、倍精度で (0x1p-200 + 1) + (-1) を計算すると、結合法則が成り立てば答えは 0x1p-200 となるはずですが、実際には 0 が返ってきます。 浮動小数点演算が結合的でないことは有名な話なので、ここではこれ以上詳しくは取りあげません。 一方で、交換法則(可換性)はどうでしょうか?「浮動小数点演算はこういう法則を満たさない!クソ!」みたいな話題で槍玉に上がるのはほとんどの場合結合法則で、交換法則に言及するものはあまり見かけない気がします。 交換法則が成り立つとどう
マイクロコンピューターや組み込み機器で使われるプログラミング言語はCやC++が一般的ですが、プログラミング初級者にとっては学習障壁が比較的高い言語でもあります。Python 3と高い互換性があるプログラミング言語処理系「MicroPython」を使うと、プログラミング初心者でも理解しやすいPython 3の文法を使って手軽にマイコンをプログラミングすることができます。 MicroPython - Python for microcontrollers http://micropython.org/ MicroPythonは、Pythonの文法を使ってマイコンや組み込み機器のプログラミングができる言語処理系です。ソースコードがテストされた割合を示すコード網羅率はコア部分については98.4%であり、x86、ARM、Xtensaといった命令セットに対応しているとのこと。 例えば、MicroPyt
普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基本的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff
「UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている」「キャッシュはアーキテクチャではない。単なる最適化だ」などの語録を生んだ「Goの父」とも呼ばれるロブ・パイク氏の「プログラミング5カ条」について、ネット上で話題となっています users.ece.utexas.edu/~adnan/pike.html http://users.ece.utexas.edu/~adnan/pike.html Rob Pike's Rules of Programming (1989) | Hacker News https://news.ycombinator.com/item?id=24135189 パイク氏の「プログラミング5カ条」は以下。 ルール1:プログラムのどこで処理時間がかかるかはわからない。ボトルネックは意外な場所で発生するので、ボトルネックがどこにあるかを証明するまでは、臆測
Products Docker DesktopContainerize your applicationsDocker HubDiscover and share container imagesDocker ScoutSimplify the software supply chainDocker Build Cloud Speed up your image buildsTestcontainers DesktopLocal testing with real dependenciesTestcontainers CloudTest without limits in the cloud MORE resources for developers
50 Projects for React & the Static WebLearn by doing with this FREE ebook! Get the ebook straight to your inbox. Email AddressGet It Free Not sure what to build?Dive in with 50 projects complete with project briefs and wireframes! Learn by DoingOne of the best ways to learn is by doing the work. Choose from 8 project categories and get started right away.
要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事でJava + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある
Microsoft has one of the largest C/C++ codebases in the world. All of its core products from Windows and Office to the Azure cloud run on it. Unsurprisingly, since C++ is not a memory-safe language, a lot of memory bugs popup in their codebase, and a lot of time has to be spent fixing them. Last year, Microsoft began looking at alternative programming languages that could help fix their memory saf
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く