達人プログラマー(第2版): 熟達に向けたあなたの旅 作者:Andrew Hunt,David Thomas発売日: 2020/11/21メディア: 単行本 先日紹介した「UNIXという考え方」以外にも、定期的に読み返す価値の有る技術書がたくさん有る。まだまだ読んでいない本も無限に有るので、Twitterで募集したところ、川島さんに3冊教えていただいた。 ・The Pragmatic Programmer ・Release It! ・PofEAA どうしてもベタになりますね…— :craftsman/kawasima (@kawasima) 2020年11月14日 その中でもちょうど「The Pragmatic Programmer(邦題:達人プログラマー)」が20周年記念の第2版翻訳が出たばかり(2020年11月20日発売)だったので、早速注文してみた。 「達人プログラマー」は、Davi
C# 9.0 がリリースされるまで秒読みになりましたね!前に C# 8.0 風書き方アレコレを書いてみましたが、9.0 になってしまうと、また新機能が追加されてより良い言語になっていきます。 C# 小ネタ:C# 8.0 風の書き方アレコレ C# 9.0 は .NET 5.0 で使えるので LTS 版じゃないので仕事で本格的に使える人は少ないかもしれませんが LTS の .NET 6.0 に計画的に移行するように考えて使うというのはありかなぁと思います。 まぁ、そこらへんは置いといて新しいものがでたら趣味では試したい!!ということでやってみましょう。 レコード型 多分、今回追加された中で個人的に一番使いそうな機能です。 イミュータブルなクラスを定義するのが凄く簡単になります。 X と Y というプロパティを持った Point 型は以下のように定義できます。 using System; nam
この記事では、Web アプリケーションにおけるデータ取得(データフェッチング)やレンダリングに関する各手法について比較・整理することを目的として、特に最近注目度が高まっている Next.js における SSG(静的サイト生成)や ISR(インクリメンタル静的再生成)、それ以外の手法(SSR、CSR 等)を具体的なテーマとしてお話しします。 Twitter もやっているのでよかったらフォローおねがいします! @_thesugar_ 記事内の解説は正確性を期すよう注意を払っておりますが、誤っている部分などがございましたらコメント欄や Twitter 等でご指摘ください はじめに Web アプリケーションを作るとき、レスポンスの速さをはじめとしたパフォーマンスの問題は開発者にとって大きな関心事となります。 たとえば、最近では Google が Core Web Vitals という Web のパ
設計ナイト2020 を受けて、今どんなアーキテクチャを選ぶべきかという話をしたくなったのだ。 kichijojipm.connpass.com 設計ナイトで高ぶった結果1時間コースの発表資料が完成したので供養場所を探しています。聞いてくれ!!!— Takafumi ONAKA (@onk) 2020年11月1日 お前誰よ 2000年代前半に SI 2000年代後半にブログ、SNS 2010年代にソーシャルゲーム 2020年代に UGC サービス をやってきた人間。数百万〜数億行のデータ、月間数千万〜数十億 imp 程度を主戦場にしています。 今日の話 DDD と PofEAA から学ぶパターン/アンチパターン Rails によって発見された、密結合で速く走れるソフトウェア 今求められているアーキテクチャ 昂ぶって 15,000 字ぐらい書いてしまった。 DDD と PofEAA から学ぶパ
発端 村上原野追悼のために、11月7日から9日にかけて岡山に行ってきた。 参考: ボレロ村上逝去 村上原野(ボレロ村上)の思い出 村上原野の訃報がプログラマーの界隈に知られてすぐに、追悼のために岡山に旅行する話が持ち上がり、10人以上もの人間が集まったが、COVID-19の感染拡大により東京から大人数で地方に移動するのは感染拡大のリスクがあるので自粛していた。 さて、冬も終わり夏もすぎて秋になり、どうやら冬に感染が拡大するらしいとのことで、今年中に行くならばそろそろ行かなければならないと思っていた矢先、妻が岡山に行くというので相乗りすることになった。GOTOトラベルキャンペーンを使い、倉敷のホテルに2泊3日の行程だ。せっかくなのでホテルは少々高くてもおしゃれなところにしようと画像を見ておしゃれそうなところに宿を取った。 11月7日 安かった時間帯の14時半に羽田空港から岡山空港に行く。飛行
NTT による NTT ドコモを完全子会社化するための株式公開買付、いわゆる TOB が 17 日に成立した。これによりドコモは上場廃止となる。 NTT ドコモといえば KDDI やソフトバンクと並ぶ通信大手である。その安定した財務基盤と高配当から、配当収入目当てでそれなりに保有していたのだが、このたび初めて所有する株式が他社に TOB されることとなった。 公開買付代理人となるのは三菱 UFJ モルガン・スタンレー証券なので、まずはドコモ株を保有しているネット証券から出庫。この移管手続は証券会社にもよるが、株式電子化により結局のところすべての株式は保管振替機構(ほふり)を通して管理されているため、機構加入者コードなどを指定することで簡単に振替ができる。たいていのネット証券では入出庫は無料だ。こうして株式を三菱 UFJ モルガン・スタンレーの証券口座に集める。 次に三菱 UFJ モルガン・
こういう話がありました。 Feature Request : Support for scala in dap-mode · Issue #196 · emacs-lsp/dap-mode を見てもdap-modeの使い方がよく分からなかったし別に時間をかける所じゃないなと思ったので、デバッグする時だけはIntelliJを使うことにしようとしたのですが、私の環境だとUIが崩壊してデバッグ設定以前の問題になってしまいます。 実はMetalsの(というかlsp-mode+dap-modeの)デバッガはいま普通に機能するけど、確かに使い方(使える状態にするコツ)がちょっとむずかしい感じがしますね。実際にはやることはあんまりないんだけど、いざやろうとすると時間を食うと思うので、時間を食われてやった側の人間としてやり方を書き記しておこうと思います。本当は最近のEmacsのモダンな環境ぜんぶ紹介するみ
_ Prawnで禁則処理 Prawnを使ってPDFの作成を試しているのだが、どうも不自然で不思議に思ったら、行頭に「。」がある。つまり禁則処理が全然ないことに気付いた。そりゃそうか。 で、マニュアルを読むと、text/line_wrapping.rb の項で中国語の文章を単語で泣き別れしないようにZWSP(幅無し空白)を単語の区切りに挿入して与える例が出ている。 ということはこれを真似すれば良いのだろう。 禁則文字というか要は約物が直前の文字とくっついていれば良いわけで、それ以外は全部どこでちょん切っても良いのだから、約物一覧をまず探すと、確かOfficeの設定にあったはずだと思い出す。 で、Wordのオプションで文字体裁を見ると!%),.:;?]}¢°’”‰′″℃、。々〉》」』】〕゛゜ゝゞ・ヽヾ!%),.:;?]}。」、・゙゚¢が行頭禁則文字となっている。行末禁則文字もあって、「などを行
登壇したよ〜 登壇したよ〜。 技術プロダクトのDevRelとカスタマーサクセス / DevRel and Customer Success in Technical Products - Speaker Deck devrel.dev 貴重な機会をありがとうございました!(聴いてくださった方も!) CREsじゃなくCREingについて CREs(Customer Reliability Engineer)じゃなく、CREing(Customer Reliability Engineering)について、最近またぼんやりと考えてる。あ、これはあくまで私個人のものであり、所属する組織の見解を代表するものではありません! 日本語に直訳すると 顧客信頼性エンジニア 顧客信頼性エンジニアリング となり、多くの場面で「(自分たちの事業等に対する)顧客からの信頼性に対して責任を負う」といったように解釈さ
小さなチーム、大きな仕事 働き方の新しいスタンダード (ハヤカワ文庫NF) 作者:ジェイソン フリード,デイヴィッド ハイネマイヤー ハンソン発売日: 2016/12/15メディア: Kindle版 「その課題はもう全部この本に書いてあって、DHHたちが通った道だ」シリーズ2冊目(別にそんなシリーズ名でもないし、出版はこちらの方が早いけど)、「小さなチーム、大きな仕事 働き方の新しいスタンダード (ハヤカワ文庫NF)」を読んだ。 1冊の「リモートワークの達人 (ハヤカワ文庫NF)」を読んで、悔しい思いをした話のエントリはこちら。 blog.magnolia.tech 「リモートワークの達人 (ハヤカワ文庫NF)」と同じジェイソン・フリード、ディヴィッド・ハイネマイヤー・ハンソン著、37signals(今のBasecamp)での経験則から書かれたという点も同じ。原著は2010年に出版されてて
その名もecschedule。だいぶ前から作っていたのだが、この度実戦投入した。 https://github.com/Songmu/ecschedule Nature社では、ECS上でGoのサービスを動かしており、バッチ系の定期実行タスクもECS Scheduled Taskを利用している。 最近バッチの本数が増えてきて管理したくなり、このツールを導入しました。 便利だとは思うが、かなり社内事情にべったりであるため、フィードバック歓迎です。具体的には以下の制約を前提としています。 Rule名がユニークであること RuleにはTargetが1つだけ紐付いており、TaskのContainer Overridesでタスクを実行している ecspressoにかなり影響を受けており、ECS Scheduled Task用のecspressoのような作りになっています。 インストール % brew
CysharpからMagicOnion v4を先週リリースしました。今回のリリースの実装はほぼ全て@mayukiさんにやってもらったので、詳細はそちらに丸投げドンとして(ReadMeもかなり書き換えてあるので、詳しいところはそちらも読んでください)、改めて .NET 5とgRPC、そしてMagicOnionの位置付けとロードマップなどを説明したいかな、と思います。 MagicOnion v4ではサーバーサイド側は完全に ASP.NET Core KestrelベースのPure C#実装になりました。今まではGoogleの提供していたgRPC C Coreを利用していたのですが、今回よりMicrosoft実装に切り替えています。これによりASP.NET Core MVCなどと基盤が共通化されたので、gRPCを提供しつつHTTP/1 REST APIの口やHTML出力を行うような同居がとてもや
著者 坪内 佑樹(*1), 鶴田 博文(*1), 古川 雅大(*2) 所属 (*1) さくらインターネット株式会社 さくらインターネット研究所、(*2) 株式会社はてな 研究会 第7回Webシステムアーキテクチャ研究会 2010年代のクラウド技術であるコンテナオーケストレーション、サーバーレス、マイクロサービス、さらにはエッジコンピューティングなどの普及により、分散システムとしての複雑度が高まっている。このまま複雑度が高まっていくと、人手によるルールベースの運用にいずれは限界が訪れるのではないかと考えている。そこで、最近は、このようなクラウドを中心とするSRE分野の課題に対して、機械学習やその他の数理的アプローチを適用するアプローチを模索している。特に、SREの中でも、システムに発生する異常への対応については、現場のエンジニアの経験に基づき直感に大きく依存している。 異常への対応を構成する
GMOペパボではLinuxユーザ、グループの管理にSTNSやOCTOPASSを利用しています*1。 stns.jp github.com これらは簡単に言うとそれぞれTOMLファイルやGitHub(GHE)のユーザ情報をデータソースとしてLinuxユーザ、グループ、さらに公開鍵の管理をするものです。 正直何台あるかわからないサーバがSTNSやOCTOPASSを通じてユーザ、グループ管理されていることで「ログインできる必要があるサーバには即ログインできる」ということが実現されており、これらがない環境は正直考えられなくなってきています。ログインユーザ、グループ管理、公開鍵管理に疲弊している方は是非導入を検討して欲しいです。 さて、STNS/OCTOPASSはとても便利なのですが、実際の環境では様々な理由によりSTNS/OCTOPASS配下になっていないユーザも存在しています*2。本当に稀ですが
祝 .NET 5.0 GA。 Announcing .NET 5.0 C# 9.0 on the record Visual Studio 2019 v16.8 and v16.9 Preview 1 Release Today Announcing ASP.NET Core in .NET 5 Visual Studio 2019 16.8 リリースノート Visual Studio 2019 18.9 Preview 1 リリースノート .NET Conf 2019 - Day 1 ライブ配信 一応注釈なんですが、 .NET は以下のような状態です。 .NET 5.0 からは単に「.NET」になります .NET Framework, Standard, Core の統合結果です TargetFramework 名、 net5.0 で、 netstandard2.1 と netcorea
JSer.info #514 - Angular 11がリリースされました。 Version 11 of Angular Now Available | by Mark Techson | Nov, 2020 | Angular Blog angular/CHANGELOG.md at master · angular/angular Angular 11ではフォントの自動インライン化の対応、Component Test Harnessesがすべてのコンポーネントに対応、Language Serviceの対応改善、HMRをCLIの引数で有効化できるようになっています。 その他には、webpack5の実験的サポート、Angular CLIのデフォルトLinterの今後について書かれています。 現在のAngularではTSLintを使ったLintが実装されていますが、TSLintは非推奨となり
Intel Outs the NUC M15 Laptop Kit(techPowerUp!) Intel Releases the NUC M15 Laptop Kit(Guru3D) Intel NUC M15 Laptop Kit, for the whitebook market, revealed(HEXUS) Intel NUC Kit Lays a Solid Whitebook Laptop Foundation(Intel) “Bishop County”のコードネームで呼ばれていたIntel NUC M15 Laptop KitがIntelのホワイトブック市場向けのtechnical expertiseに掲載された。最終的な目標は、Intelのchannel顧客にこの素晴らしい精度のノートPCキットを供給することである。 M15 Laptop Kitは第11世代Mobi
Intro 「新しい API などを、どうやって調べているのか」「仕様などを調べる際に、どこから手をつければ良いのか」などといった質問をもらうことがある。 確かにどこかに明文化されていると言うよりは、普段からやっていて、ある程度慣れてきているだけなものであり、自分としても明文化していなかったため、これを機に解説してみる。 やり方は一つではない上に日々変わっていくだろうが、頻繁にこの記事を更新するつもりはない。また、筆者は実務で必要になるというよりは、ほとんどを趣味でやっているため、このやり方が合わない場面は多々有るだろう。 スコープとしては、ライブラリ、ツール、フレームワークなどではなく、 Web プラットフォーム関連の標準やブラウザの実装状況などに限定している。 Scope 従来からあり、広く認知された API については、情報も多く調査の敷居はそこまで高くないため、今回は議論が始まって
Apple SiliconのM1が速いと話題だ。単に速いというだけでなくRosetta 2を用いてx86_64バイナリをARMに変換して実行した時にIntel CPUで直接実行した時より速くなる場合があるというのだから驚きだ。その要因を考察するにつれ一つの仮説に思い至ったのでここに記しておく。 その要因とはRISCとCISCの違いだ。殴り書きなので詳細は省くが、CISCのほうがやってることが複雑で単純な実行速度という意味ではRISCに敵わない。特にRISCの固定長命令という特徴がカギを握る。 CISCの代表がIntelのx86である。しかし2000年ごろにはCISCはもう駄目だ的なことが声高に叫ばれていたが、気が付けばx86はそのまま栄華を極め2020年にまで至ってしまった。そこまで持ちこたえた理由の1つがRISCとCISCの境目がなくなる Pentium Proの逆襲に書かれているのだが
OSS とかのコードを巡っていると、時々「すごいコード」に出会うことがある。 もちろん「すごい」と言っても色々な凄さがあって、「読みやすくメンテしやすいコード」とか「技術的に凄いことをしている」とか「最新のライブラリを上手く使っているコード」はもちろんそうなのだが、それ以上に「圧倒される」コードがある。 全部頭に入ってる人が一気に書いたコードって、なんか見て分かるよね。また出会った。— Yosuke Torii / ジンジャー (@jinjor) 2020年9月18日 凡人の発想と違うことがあり、一見して読みにくく取っつきにくいこともあるが、そういう感想はすぐに吹き飛んでしまう。 その特徴を思いつくままに列挙してみる。 癖があるが終始一貫した書き方 世に出回っているベストプラクティスに則っていない フォーマッターを使っていない 細かいユーティリティ関数がない 初手で完璧に近い 静的型でない
抱えているタスクが増えてパンク寸前だったので、紙に書き出して PC の横に置いておいたら神ツールだった。紙だけに。 着手してるタスクが増えすぎて紙にリスト作ってるけど、なにこの便利ツール。— Yosuke Torii / ジンジャー (@jinjor) 2020年10月15日 タスク管理に便利なツールは色々存在していて、専用のツールもあるし、開発する機能やバグであれば GitHub の Issue にすればいいし、複数のリポジトリを跨がる場合はプロジェクト機能もある。Slack でプライベートなチャンネルを作っておいてそこに書き留めておくこともできる。あとは Spread Sheet でもいいし、他にもタスクを管理できるツールは山ほどあるのだが、このようなデジタルなソリューションには共通して「アプリを開いて見に行かないといけない」という弱点があり、これが地味にめんどくさい。 何か作業をして
ポエムです。 自分の今の立場としては「Elm の人」ということになってるんだけど、どういう変遷でここまできて今どういうスタンスなのかっていうのはあんまり話す機会がない。だから整理のために考えてることを書いていくよ、というのがこの記事の趣旨。 非 Web の立場から そもそも自分は「Web 系」の出身ではない。新卒入社したワークスでは ERP パッケージを提供するのに画面を Web 技術で作ってるというだけで、別に SEO の順位を競ったり広告をどうという話ではないし、瞬時に画面が表示されないと離脱率が〜という話でもない。ただ、画面はとにかく複雑で設定項目とががうじゃうじゃある。 あと、学生時代に PC に触れたのが Windows で「黒画面なにそれ美味しいの?」くらいに GUI に染まりきってたというのがある。工学系の研究を効率化するために C# で GUI を作ってたら、なんかソフトウ
昨今のJavaScriptのViewライブラリは以下の特徴を備えています。 DOM構造を宣言的に記述できる 動的な値のマッピングを宣言的に記述できる 再描画の際、DOM構造の変異を最小限に留める 例えば、ReactであればJSXと仮想DOMによるdiff/patch処理によってこれらを実現しています。 一方、hyperHTML(およびlit-html)はECMAScriptの構文であるTagged Template Literalを使ってこれらの機能を実現するライブラリです。 import hyper from 'hyperhtml/esm'; const render = () => { hyper(document.getElementById('container'))` <h1>Hello</h1> <p>It is ${new Date().toLocaleString()}</
同じARMだからといってポン付けでは動かんぞ定期 / 他6件のコメント https://t.co/ZW4ffdQP88 “「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語る - Engadget 日本版” (23 users) https://t.co/aia65JYL5V— Takumi Sueda (@puhitaku) 2020年11月21日 追記: いろいろあって面白かったので、頂いたコメントの返信を末尾に追記しました 追記2: Engadget 日本版が閉鎖するため、上記記事「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語るの魚拓を貼っておきます megalodon.jp 昨今の買収劇に始まり、というかそれ以前から、ARM (Arm) という固有名詞はコンピューターを語る上では
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く