2023年2月18日のブックマーク (23件)

  • 悪いコードをやっつけよう!『良いコード/悪いコードで学ぶ設計入門』を読んで - 虎の穴開発室ブログ

    こんにちは。虎の穴ラボのH.Kです。 5月の大型連休で社内の技術書購入を支援する制度を利用して購入した『良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方』を読みました。 『良いコード/悪いコードで学ぶ設計入門』書影 とても良いでしたので、書の横断的な概要と、その中で良かったところや気になったところをご紹介していきます。 どんなか 基情報 私が感じた書の立ち位置 前提 設計とコーディングは不可分である 「悪いコード」=>「良いコード」の構成 サンプルコードはJava おすすめする読者層 著者について 構成について 1〜2章:チュートリアルステージ 3〜12章:編 13〜17章:やりこみ世界 良かったところ 平易な表現 サンプルコードが豊富 気になったところ 6章:Switch文の重複(Switch文からMapへの書き換え) まとめ P.S. どんな

    悪いコードをやっつけよう!『良いコード/悪いコードで学ぶ設計入門』を読んで - 虎の穴開発室ブログ
  • なるべく楽したいAWSセキュリティ

    AWSのベストプラクティスに従う SecurityHub でセキュリティチェック なるべく持ち物を減らし、ツールの既定に合わせる Fargateを使い管理対象インスタンスを減らす ネットワーク環境構築をCopilot CLIに任せる アプリケーションレベルでもAWSサービスを活用する 典型的な攻撃はアプリ到達前にWAFで防ぐ ECRコンテナスキャンで脆弱性をチェックする

    なるべく楽したいAWSセキュリティ
  • ~スタートアップの人たちに捧ぐ~ 監視再入門 in AWS

    https://aws-startup-community.connpass.com/event/241721/ 2022/05/10(火) 19:30 〜 21:30 「スタートアップ事例祭り 〜監視・モニタリング・セキュリティ編〜」

    ~スタートアップの人たちに捧ぐ~ 監視再入門 in AWS
  • シグナルハンドラにprintf()を書いてはいけない - Qiita

    三行でまとめると シグナルハンドラ内でprintf()してはいけない というより、余計な処理を書いてはいけない もう一度言う、シグナルハンドラで余計なことをするな、非常に大事なことだ はじめに シグナルハンドラでやってよい処理は非常に限られるのに、全くルールを守らないサンプルコードが世の中に大量に出回っている。printf()するなんてもってのほかなのだが、カジュアルにそこらじゅうで見かけて非常に悲しい。 この記事では、そんな状況を少しでも改善したいと思い初心者向きに書いたものだ。そのため、下記では、回避するにはどう実装すればよいのか、ルールを破るとどうなるのか、といった点を先に簡潔に記述する。 なぜしてはいけないのか、POSIXだとかリエントラントだとか、は下の方に追いやっている。玄人は読んでてウズウズするだろうが、細かい話はできるだけ目につかないような構成としたため了解いただきたい。

    シグナルハンドラにprintf()を書いてはいけない - Qiita
  • HTTPキャッシュに学ぶ、無理のないドキュメント更新運用

    LAPRAS株式会社でSREをしていますyktakaha4と申します 🐧 私は 2021 年の 1 月に LAPRAS に入社 したのですが、 入社以来ほそぼそとやってきた、ドキュメンテーションに関する取り組みについて一年ほど運用し一区切りがついたので、その話をしたいと思います✍ ことのおこり 現在弊社には正社員・業務委託あわせて 18 名程度のエンジニアが在籍 していますが、 私が入社した頃はエンジニアが7名程度、かつ全体の人数に対して在任歴の長い人が多かったこともあり、 開発者が参照するドキュメント管理について、比較的牧歌的な運用がなされていました 🐑 具体的には、開発環境の構築方法が古い手順のまま放置されていたり、オンボーディングに使うドキュメントが口伝されていたりと、 ドキュメント自体は存在するものの、それらが 古くなっていたり一覧化が不十分であることが検知できず、時間経過に伴

    HTTPキャッシュに学ぶ、無理のないドキュメント更新運用
  • プログラミング学習の挫折を防ぐには?

    May 9, 2022 プログラミングの学習は時間と労力のかかる学習で、途中で学習を挫折してしまう事も珍しくありません。学習が思ったように進まないと、自分はプログラミングに向いていないのではといった迷いが出ることも少なくないでしょう。 このような問題についての研究は長年続けられており、2015年にラトビア大学のJuris Borzovs氏、Lalia Niedrite氏、Darja Solodovnikova氏らが「コンピュータプログラミング適性検査による中退学生の削減」という論文を発表しました。この論文では心理テスト、高校数学の補修講座、出願前のプログラミング体験、メンタープログラムなどによるドロップアウト削減施策が講じられました。 今回はこの論文の中から特に目に付いた点を紹介します。 半数近くの学生がコンピュータサイエンスを初年度に中退 MBTI診断テストとプログラミング学習の関連 E

    プログラミング学習の挫折を防ぐには?
  • 質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition

    質とスピード(2022春版、質疑応答用資料付き)

    質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
  • TypeScript におけるモジュール関連オプションの整理

    TypeScript 4.7 で “module” という名前で始まる Compiler Option がさらに追加されて、さすがに何が何やら感あるので、役割を軽く整理。 この記事では雑な紹介に留めるので、それぞれの詳細は TSConfig Reference を読みに行ってください。 対応関係ソースコードとそれぞれのオプションが何に作用しているのかを雑に図示するとこんな感じ。 重要なことどのオプションをいじっても、import 指定子 (上図の “./hoge” の部分) がコンパイル時に書き換えられることはない。 これが頭に入っていれば、.mts, .cts といった TypeScript のファイルで import "./foo.cjs" と書くことや、 --moduleSuffixes がソースコードの探索にしか影響しないことに得心できるはず。 --moduleTypeScript

    TypeScript におけるモジュール関連オプションの整理
  • チームトポロジー を読んだ - 下林明正のブログ

    必要にかられていて、社内でも読書会がはじまった。読書会はまだやってるけど、先行して読み終わった。愛称は「ちいとぽ」らしい。 チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 作者:マシュー・スケルトン,マニュエル・パイス日能率協会マネジメントセンターAmazon どういうなのかは、訳者の方が用意してくれた以下の資料が良いのではないか。 自分が読み始めたモチベーションとしては、チームの分け方について知見を得たいというものだった。 shimobayashi.hatenablog.com を読んでみた感想としては、元々の自分の考え方もそんなに外してないことが分かって安心感があった。もちろん考慮の幅・深さ・質は違うので、このを読んで良かった。 どれくらい根拠のある内容なのかはよく分からなかったけど、個人的にはこれまで勉強してきたことと整合的だった気がするので全体的にはす

    チームトポロジー を読んだ - 下林明正のブログ
  • JavaScriptのコードには、こんな書き方もある

    この記事はコードの書き方について、書き方そのものを推奨するものではなく、このような書き方も出来るという紹介です。コメント欄まで一緒にみていただくと学びになります。 ※記事はいただいたコメントを反映しましたので、当時のコメントと記事の内容に差分があります 1.破壊的メソッドを避ける 破壊的メソッドとは、元の配列の要素を変えるメソッドです。以下の例ではconstで宣言した変数numbersが、pushメソッドにより更新されています。 対応前 const numbers = [1, 2, 3] numbers.push(4) console.log(numbers) // [1, 2, 3, 4] この場合、元の配列の要素を更新するのではなく、スプレッド構文を使って新しい変数に代入します。変数はなるべくイミュータブルにしておくと、意図しない不具合やプログラムの可読性や保守性が向上します。push

    JavaScriptのコードには、こんな書き方もある
  • Web Animations APIのcompositeが凄過ぎてすごいからみんな見てくれ - Qiita

    この記事はようやくSafariでもフルサポートされそうなWeb Animations APIのcomposite(効果の組成)って機能がすごいよ!!って、ただそれだけを伝えたい記事です。平たくいうと複数のアニメーションを簡単キレイに合成できる機能なのですが、通常のWebのコーディングでもよく出てくる辛さを解決してくれる結構すごいヤツなのです。 ▼ こういうアニメーション作るのもだいぶん楽になります Web Animations APIで星空パーティクル 単にCSSのアニメーションをJSで描けるよってだけではあるんだけど、ライブラリなしでそこそこ簡単にインタラクティブなもの作れるって意味ではうれしい。主要ブラウザ全部で使える。https://t.co/8H8zXfc5NL pic.twitter.com/bfTERJPxIX — ゆき@ティアF47a (@yuneco) October 11

    Web Animations APIのcompositeが凄過ぎてすごいからみんな見てくれ - Qiita
  • 個人開発のサービスをVPSからVercelとCloud Runに移行した話

    最近以下のような記事で個人開発のコストの話をよく見かけて、ちょうど自分も個人サービスをコストカットのためにVPSからほぼ無料なスタックに移行していたので構成とかを書いてみる。 前提としてはこんな感じ。 仲間内で使ってるだけのWebアプリケーション。月イチくらいしか使わない 技術スタックは技術的な実験とか学習を兼ねているので多少オーバースペックになるのはいい お金はなるべくかけたくない 移行前のスタック フロントエンドはNuxt.js、Netlify バックエンドはRailsgRPCenvoyを噛ませてフロントエンドからはgRPC-Webで呼んでる VPS上にバックエンドのアプリケーションとDB(postgres)を動かしてる バックエンドは普通のRailsアプリにしてHerokuにするのが一番楽でお金もかからないんだけど、gRPC-Webを試してみたくて、そうするとproxyが必要にな

    個人開発のサービスをVPSからVercelとCloud Runに移行した話
  • Obsidianというアプリをより良く知るための外部リンク集

    Obsidianは日語の情報が少ない? 確かにそうかも知れません。 でもね…当にヤバい奴らって、Googleで「obsidian 〇〇」って検索するだけじゃ出てこなかったりするんですよ。いやホントに。 というわけで今回は、僕がObsidian関連で読み漁った記事の中から「こいつマジでヤベぇw」と感じた外部記事をご紹介します。 (一応言っておきますが褒め言葉です) これからObsidianを始めたいObsidianのことをもっと深く知りたい先人の活用法を知りたいあなたがそう思うなら、ぜひ一度読んでみてください。

    Obsidianというアプリをより良く知るための外部リンク集
  • エモーショナルUIデザイン|kana

    はじめに2013年にスタートアップに参加したことをきっかけに、今までいくつかのデジタルプロダクトのUIデザインに携わってきました。2020年にTakramに参加してからは、さらに多様な事業のプロダクトに関わらせていただいています。この約10年間のあいだに世の中のUIデザインのノウハウは確立されてきており、既存のコンポーネントなどを組み合わせれば、きれいなUIが誰でも簡単に作れる時代になりました。そんな中で個人的に大切にしてきた価値観として、「ユーザーの気持ちを考えて、その気持ちに寄り添った情緒的なUIをデザインする」ということがあります。今回、この記事を書いているのは、その意味や意図を言語化して再利用可能なものにしたいと思ったことがきっかけです。考えながら書いているため、何度かのシリーズになるかもしれません。また、このテーマについて様々な方と対話ができたらいいなとも思っていますので、興味を

    エモーショナルUIデザイン|kana
  • 197冊の教えを1つにまとめた黄金律の教科書 - 本しゃぶり

    ビジネス書100冊の教えをまとめたがある。 自己啓発書100冊の教えをまとめたがある。 そして "答え" がここにある。 100冊読んで分かったこと 2022年4月、日のビジネス書を語るなら絶対に外せないが登場した。『ビジネス書ベストセラーを100冊読んで分かった成功の黄金律』である。 ビジネス書ベストセラーを100冊読んで分かった成功の黄金律 作者:堀元見徳間書店Amazon その名の通り、日で売れているビジネス書を100冊選び、それらを厳選した27の教えにまとめただ。この1冊があれば他にはいらない。 書の組入書籍として採用されたのは刊行が2016年以降*1、推定発行10万部以上*2など、複数の条件*3を満たしたであり、その内訳は国内82%、外国18%となっている。 これだけ多くの厳選された書籍を使っているだけあって、教えの内容は多岐にわたる。コミュニケーションや情報処理

    197冊の教えを1つにまとめた黄金律の教科書 - 本しゃぶり
  • Engineering Manager になってから身に沁みた12のアイデアと言葉 part3 - これはただの日記

    今年も書きます。 kths.hatenablog.com kths.hatenablog.com 能力主義のパラドックス 自分が客観的で公正な人だと信じてしまうことで、偏向した行動をとってしまう現象を「能力主義のパラドックス」というそうです。 韓国で16万部超のベストセラーとなった『差別はたいてい悪意のない人がする』では、全員に同一の基準を適用することが、だれかを不利にさせてしまう間接差別の例について紹介されています。 だれに対しても同じ基準を適用することのほうが公正だと思われるかもしれないが、実際は、結果的に差別になる。司法書士試験で、問題用紙・答案用紙と試験時間をすべての人に同一に設定すれば、視覚障害者には不利になる。製菓・製パンの実技試験において、すべての参加者に同じように手話通訳を提供しない場合、聴覚障害者に不利である。公務員試験の筆記試験で、他の受験生と同様、代筆を許可しない場合

    Engineering Manager になってから身に沁みた12のアイデアと言葉 part3 - これはただの日記
  • なるべくお金をかけずに個人アプリを運用したい - くりにっき

    前々からこの手のことを書きたいとは思ってたけど id:k0kubun さんの下記エントリに触発されて書きました。 k0kubun.hatenablog.com tl;dr; 個人アプリ開発歴 前提 Heroku GCP Google App Engine Cloud Run Firebase Cloud Functions GitHub Pages 2022/8/14追記 GitLab Pages 2022/5/7 17:00追記:ブコメレス tl;dr; HerokuやFirebaseを駆使すれば割と無料でいける 若干お金を払えばもっと選択肢は増える 個人アプリ開発歴 2001~2002年あたりから個人HPでアプリを公開。後にVectorにも公開 アカウントは残ってるのでいまだにVectorからのレポートメールが毎月届いてます 2009年くらいから色々ウェブアプリを開発 Google A

    なるべくお金をかけずに個人アプリを運用したい - くりにっき
  • Obsidianは最高のマークダウン『メモ』アプリである

    僕は今までマークダウンエディタを資料作成ツールとして使ってきました。見出しやリスト、表を簡単に記述でき、それをCSSで整形して表示できるマークダウン記法は、ブログの下書きや業務で使うPDFなど、「他人に見せるための資料を作る」という役目にピッタリです。 逆に言えば、個人的なメモには向いていないと思っていました。 その固定概念をぶち壊したのがObsidian(オブシディアン)です。今回はマークダウン『メモ』アプリとして無くてはならない存在となったObsidianの特徴と、一般的なマークダウンエディタとの使い分けについてお話ししたいと思います。

    Obsidianは最高のマークダウン『メモ』アプリである
  • Chrome拡張 つくりかた 令和最新版

    数年ぶりにChrome拡張のつくりかたを調べた。 当に何も分からなかったので、Twitterで「2022年にChrome拡張つくりたかったら何見て学べばいい?」とつぶやいてみたところ、何人かの人が教えてくれた。教えてもらった中から幾つかのリンク先を紹介するような形で記述していく。 Create a Vite-React Chrome Extension in 90 seconds - DEV Community 2022年時点だと比較的新しめのフロントエンド向けツールであるviteと、viteのChrome拡張向けプラグインである@crxjs/vite-pluginを使ってChrome拡張をつくってみよう、という記事。今回自分は主にこれを参考にしながら開発を進めた。Reactと言っているが、自分のChrome拡張ではUIは存在しなかったので、Reactに関する部分は読み飛ばして、vite

  • 「エンジニアってどうしたらなれるの?」インターンに参加するのに1年以上の実務経験が必要で不採用になりまくった話「実はフィルタリングかも…」

    KAZUNARI | AI×ビジネス役立ち情報 @MacopeninSUTABA 大学のエンジニア志望の後輩が、インターンに参加するためにも実務経験が必要って嘆いてた。エンジニアってどしたらなれるん? 2022-05-04 20:20:56

    「エンジニアってどうしたらなれるの?」インターンに参加するのに1年以上の実務経験が必要で不採用になりまくった話「実はフィルタリングかも…」
  • 文芸的diffでソースコードを解説する - ABAの日誌

    プログラムの解説文章をソースコードに混在して表記し、そこから解説記事を生成する、文芸的プログラミングという手法がある。 文芸的プログラミングはソースコードに強く結びついた形でドキュメントを管理することができ、ソースコードの解説を記述するためには良い手法である。ただし、生成される解説記事はあくまでソースコードの記述順に沿ったものであり、プログラマの開発手順、実装順序に沿ったものでは無い。 ソースコードの解説は、そのコードが作られた順番に行われたほうが、プログラマの思考に沿って説明がされるので分かりやすい。そのような発想に基づいて提案された手法が、文芸的コミットだ。 コミットメッセージに、そのコミット内容を説明する文章を記述していくことで、コミットのヒストリーが解説記事になる手法だ。この方式だと、コミットというコードが改変されていく順番で解説ができるので、より分かりやすい内容にできる。 この方

    文芸的diffでソースコードを解説する - ABAの日誌
  • 【個人開発】「作りたいものがない」を少し解決するWEBサービスを作りました

    概要 「夢色水車」という Twitter API v2 を使用した Twitter の市場調査サービスを作りました。 2023/02/09 追記 Twitter API の仕様変更に伴いサービス「夢色水車」の更新を停止しました。 リリースからこれまでたくさんのアクセス当にありがとうございました 🙇 サービスの更新は停止しましたが最後に Github にソースコードを公開しました。 これから Twitter API を使い始める方、GoNext.js を学習している方に少しでも助けになればと思います。 使い方や詳細は各 README.md に記載しています。ライセンスの範囲でご自由にお使いください。 フロントエンド: バックエンド: 開発のきっかけ みなさんは今、作りたいものはありますか? Twitterを見ていると、「ポートフォリオ作成や個人開発をしたいけれど作りたいものがない

    【個人開発】「作りたいものがない」を少し解決するWEBサービスを作りました
  • 個人開発を黒字にする技術 - k0kubun's blog

    最近は個人開発は自分のOSSのメンテで手がいっぱいになってしまったのでサービス開発のようなものは普段あまりやらないのだが、大学院*1で今学期、何作ってもよいという感じの授業を取ってWeb/iOS/Androidアプリ*2を全て作るという体験をする中で、たまたま個人開発のコストを抑える活動をしたので、その時に調べたり考えたりしたことを書いておく。 Herokuで無料にする Herokuでは毎月550時間free dynoが使え、クレジットカードを登録しておくと更に450時間、合計1000時間無料で使える。Herokuは30分アクセスがないと一旦停止するが、今回授業で作ったサービスでこれを使い切らないことは明らかだったので最初はこれでセットアップした。セットアップも簡単だし、PostgreSQLも無料でついてくる。 ただ、コールドスタートに10秒くらいかかり、これがこのサービスではUX的に致命

    個人開発を黒字にする技術 - k0kubun's blog