2023年4月30日のブックマーク (113件)

  • 新規開発を始めるときにやるべきこと

    自動テスト実行結果の目的を整理する / Organizing objectives of automated test results

    新規開発を始めるときにやるべきこと
  • 初学者の私がGitを理解するために、この順番で読めばよかったと思った記事の順番 - Qiita

    エンジニア未経験のわたしがGitを学ぶ上で、この流れで記事を読むべきだったと思ったことを記載する。 完全に初学者意見のため、疑いながら読んでください。 私は下記の流れで学習することによって、理解をしやすいように感じた。 ① Gitで何をしているかのイメージを掴む(コマンドなし) ② Gitのイメージを、コマンドで実現している記事をみる ③ 実際にGitのコマンドを打ちながら、出力と、頭の中のイメージのすり合わせ Gitで何をしているかのイメージを掴む(コマンドなし) こちらの記事は、Gitのイメージをコマンドなしで、わかりやすく図で示してくださっています。 記事にも記載されていますが、 ・重要なのは 「何」から「何」へ・「どんな作業」を行う のかを追う ・操作前と操作後でどんなことが起こっているのかをイメージする 上記の内容が、すごく同意で、重要だと感じている。いきなりコマンドを打ちながら

    初学者の私がGitを理解するために、この順番で読めばよかったと思った記事の順番 - Qiita
  • 平凡ITエンジニアであることの受容と過去の自分との葛藤 - くうと徒然なるままに

    新卒としてITエンジニアとして働き始め2年目に突入したので人生を考えてみる。 自分は、中学生の頃からプログラミングを始め、大学で Computer Science を学び、2020年4月からIT企業で働き始めて1年と少しになる。 業務では日向けのフリーマーケットアプリのAndroid 版を国際色豊かなメンバーとワイワイ開発している。 仕事は苦労しつつも同じ職種だけではなく、PdM・デザイナー・QA・その他大勢の助けを受けつつ「設計、開発、QA、リリース、バグ対応、開発環境整備」等々やっている。 新しい技術のキャッチアップができ、タスクの自由度はいい塩梅、自分が利用者なアプリの開発が出来て最高な環境だと思ってる。 世間一般の人からするとコロナ禍にも関わらず支障なく働けているため非常に恵まれた環境だと思う。 しかし、悩み事が一つある。 「平凡ITエンジニアであること」に悩んでいる 所謂サラリ

    平凡ITエンジニアであることの受容と過去の自分との葛藤 - くうと徒然なるままに
  • Infrastructure as Code の静的テスト戦略 #DevOpsDaysTokyo / DevOpsDays Tokyo 2021

    DevOpsDays Tokyo 2021 で使用したスライドです。 Infrastructure as Code を導入してみたはいいけれど、デプロイしてみたらなぜか上手く動かない。そんな経験はありませんか? セッションでは、実際の環境を構築する「前」に、IaC のコード自体に対してテストを行う手法について解説します。 ご存知の通り Infrastructure as Code (IaC) は、インフラをコードで定義することを通し、アプリケーション開発のベストプラクティスをインフラ領域にも輸入しようとする方法論です。IaC の考え方は近年急速に普及し、開発フローの一部として種々の IaC ツールを利用することは半ば常識のような状態にあります。 しかし同時に、IaC は銀の弾丸ではありません。特に組織的な導入を考えようとすると、得てして「なぜか上手くいかない」「余計に運用が辛くなってしま

    Infrastructure as Code の静的テスト戦略 #DevOpsDaysTokyo / DevOpsDays Tokyo 2021
  • 文化的負債との戦い: 老舗ソフトウェア開発会社でアジャイル変革を仕掛けた8年間

    DevOpsDays Tokyo 2021 https://confengine.com/conferences/devopsdays-tokyo-2021/proposal/15184/8

    文化的負債との戦い: 老舗ソフトウェア開発会社でアジャイル変革を仕掛けた8年間
  • コードリーディングのコツは極力コードを読まないこと|牛尾 剛

    私はクラウドのプロダクトチームで働いているが、何を隠そう一番苦手で克服できていないことが、コードリーディングだ。ものすごーく時間かかるし、時間かかったうえに読み間違えたりするし、しかもめっちゃ頭使うのに他の人はずっと速いので敗北感しか残らない。先日もマネージャの Pragna に相談したら、最初は2時間かかるけど、3か月もしたら5分で終わるわよ。って言われたけど、いや、そもそも俺4時間は最低かかるねんけどな、、、って感じ。 技術イケメンの皆さんのアドバイス よくよく私のキャリアを考えると、OSSにコントリビュートとかしていることはあったが、めっちゃくちゃ巨大でややこしいコードベースを読んで理解する必要が無いことが多かった。1からコードを書くのは得意だが、他の人のを読んでがっつり理解してとか、どうやったら出来るのかわからない。 当然自分の周りの技術イケメンの皆さんにコツを聞いていたのだが、ど

    コードリーディングのコツは極力コードを読まないこと|牛尾 剛
  • リモートワークの知見共有

    kanazawa.rb #104のプレゼン資料 https://kzrb.doorkeeper.jp/events/120425

    リモートワークの知見共有
  • 5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita

    新しい記事もよろしくやで! →ハスケル子「タグごとに色がついてたらいいのにな…」 38歳無職ワイ ワイ「(カタカタカタカタ・・・ッターン!)」 娘(5歳)「パパ、今日は何してるの?」 ワイ「今日はな、むかしWordPressで作った自分用TODOリストの」 ワイ「デザインをリニューアルしてんねん」 よめ太郎「(そんなことより職を探せや)」 娘「へぇ〜」 娘「WordPressってことは、PHPを書いてるの?」 ワイ「いや、ちゃうで」 ワイ「リニューアル後は、フロント部分をReactで実装しようと思ってな」 ワイ「そこで、WordPressをREST APIモードで使うことにしたんや」 ワイ「つまり、WordPressを管理画面つきAPIみたいに使うってことや」 娘「要は、WordPressヘッドレスCMSとして使うんだね」 ワイ「ヘッドレス・・・?」 ワイ「ちゃうちゃう、管理画面つきAP

    5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita
  • Rust の最初のステップ - Training

    利用が広がり人気が高まっている新しいプログラミング言語の習得に関心がありますか? ここから始めましょう。 Rust で高速で効果的なプログラムを構築するために必要な知識の基盤を築きましょう。 このラーニング パスの内容は次のとおりです。 Rust コードの最初の行を記述するために必要なツールをインストールする。 Rust の基的な概念を学ぶ。 エラーを処理する方法を学ぶ。 Rust でメモリを管理する。 ジェネリック型と特性を使用する。 パッケージとクレート用のモジュールを設定する。 自動テストを記述して実行する。 コマンドライン プログラムを作成する。

  • Googleに入社して10年が経ちました - YAMAGUCHI::weblog

    はじめに こんにちは、Cloud Operations suite担当者です。2021年4月18日でちょうどGoogleに入社して10年が経ちました。自分は転職で入社したときのことは書いておらず、前職を退職したときの記録しか残っていませんでした。いい機会なので記録として10年間を振り返ってみようかなと思いました。自分用の振り返りで特に推敲もしておらず、読みづらいと思いますが、とりあえずそのまま出します。 Google入社のきっかけ 当時はPython関係のコミュニティ活動やアウトプットをしていて、ちょうどそのときにGoogleのPartner Solution Organization(いまの gTech という組織の前身)のTechnical Account Managerという職種で空きがあるので、受けてみませんかとメールが来たのがきっかけでした。当時はGoogleというとソフトウェア

    Googleに入社して10年が経ちました - YAMAGUCHI::weblog
  • Amazon ECS でのコンテナデプロイの高速化

    Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション

    Amazon ECS でのコンテナデプロイの高速化
  • Code Reading ――― 他人のコードを読む! - やねうらおブログ(移転しました)

    自分ではソースがすらすら書けるのに他人のソースをほとんど理解できないという人が居る。 他人のソースを理解できないという傾向は仕事でしかプログラムに関わっていないという人に顕著だ。仕事の過程であまり他人のソースを読むことはないから(他人のソースを読む作業は直接的な生産作業ではないから)、そういう能力が養われない。おまけに資料(ハウツー)は会社のお金で買ってもらえたり、理解の及ばない部分を前任者に説明を求めたり、あまつさえフローを書いてもらったりできる。はっきり言って生ぬるい。そういうことをする限り、コードを読む力が養われるはずがない。そういった環境に自分の身を投じること自体が、技術者としての自分をダメにしているというのに多くの人はそれがわかっていないのだ。 この、他人のソースを読む力というのは、うちの会社でやっているような移植作業だと特に重要視されるものである。今回のアルバイト募集でそのへ

    Code Reading ――― 他人のコードを読む! - やねうらおブログ(移転しました)
  • Node-Based UIs in React – React Flow

    React Flow is a MIT-licensed open source library. You can help us to ensure the further development and maintenance by subscribing to React Flow Pro. React Flow Pro Getting Started with React Flow Make sure you’ve installed npm, pnpm or yarn. Then you can install React Flow via:

    Node-Based UIs in React – React Flow
  • ソフトウェア開発における『知の高速道路』

    吉祥寺.pm #26でお話したソフトウェア開発における『知の高速道路』の話です。 将棋数学とのソレには程遠い。主にサッカーの戦術的ピリオダイゼーションを参考に考えてみました。が結論は、まだありません。Read less

    ソフトウェア開発における『知の高速道路』
  • コードが読めるソフトウェア開発者 - As a Futurist...

    僕はコードを読むのは得意な方だけど、それが過ぎてコードを書かなくてもシニアソフトウェア開発者になってしまった。実はコードをちゃんと読めるソフトウェア開発者って希少価値が高いのではないか、と思ったので自分がどんな感じでシニアになったのかをまとめてみた。似た様な人の参考になれば幸いだ。 同意。僕は未だ書く方はほとんど機会なく成果もないけど、コードを読み尽くして、負荷試験や番で挙動を把握し続け、メトリクスでとことん確かめていった結果、Sr. Engineer になれた。 https://t.co/KXtMdEaRr8 — Ryosuke Iwanaga (@riywo) April 16, 2021 コードを書かなくてもシニアソフトウェア開発者になれた 僕は今 Amazon の Sr. Systems Development Engineer という職種で働いている。いわゆるソフトウェア開発職

    コードが読めるソフトウェア開発者 - As a Futurist...
  • GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL

    iCARE Dev Meetup 20 で発表した資料です #icare_meetup p.7,8,61 https://graphql.org/ p.18 https://twitter.com/a_suenami/status/1379270185207484417 p.33 [SQLQL - Qiita](https://qiita.com/yancya/items/4b7979d83cbf6af9b819) p.33 https://twitter.com/onk/status/912491093127598080 p.35 [【エンジニアブログ】ダイニーのエンジニアリング3カ条|dinii(ダイニー)公式|note](https://note.com/dinii/n/n9be778bd7da3) p.36 [Smart UI パターンが再評価される世界 - id:onk のはてな

    GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL
  • Webフォント読み込み戦略(2021年) - MOL

    Preload web fonts 前回、といっても2年前だが、display=swapとはなにかで、Google Fontsを読み込むときはURLパラメータに display=swap をつけるといいよと言った。というわけで、それ以降、『目標をセンターに入れて、display=swap…』と盲目的に考えるようになってた。 おさらいとして display=swap では、まず代替フォントを表示し、Webフォントをダウンロードしたら、随時スワップするという挙動になる。この場合、代替フォントからWebフォントへ切り替わる FOUT (flash of unstyled text) が起こってしまう。こんな感じ↓ 出典:font-face descriptor playground まぁ何も表示されないよりかは良いかと思うわけだが、時は流れ、最近ではWebの指標として、Web Vitalsという

    Webフォント読み込み戦略(2021年) - MOL
  • なぜUber配車サービスは日本で失敗したのか? | Coral Capital

    配車サービスとしてのUber Japanは、なぜ日市場で立ち上げに失敗したのでしょうか? 2014年3月にアプリによる配車サービスをスタートしたUberですが、あれから7年。今や東京でUberといえば、フードデリバリーのUber Eatsを指すようになっているのではないでしょうか。 日でのUber失敗の原因は、いろいろな説明があり得ますが、この問いに対する答えには、今の日のスタートアップ・エコシステムにおける重要なテーマが潜んでいるのではないかと思います。 「日では」法律を破ってはいけない 長く日に住むアメリカ人連続起業家の友人、Tim Romero氏がホストするポッドキャスト「Disrupting Japan」で、かつてこのテーマを扱ったことがあります。日社会のあり方やUber海外展開失敗の事例国の1つの説明として、ポッドキャストの内容をTim人が書き起こした記事は、英語

    なぜUber配車サービスは日本で失敗したのか? | Coral Capital
  • ウェブデザインにおけるline-heightについて

    ウェブデザインにおけるline-heightってけっこう曲者で、CSSを理解してデザインしないと「空き」の設計が破綻したりコーディングで苦労することになります。FigmaやAdobe XD、Affinity Designerなどのグラフィックアプリでline heightの扱いが異なるので、使うツールの挙動を理解するのも大切です。 ということで、今回はCSSline-heightについてまとめてみます。 実は調べれば調べるほど奥が深いCSSline-heightの世界ですが、まずは基礎からまとめていこうと思います。 目次 以下はページ内のセクションへのリンクです。 CSSline-heightでは文字の上下にスペースができる ウェブで使われるハーフ・レディングとは 印刷とウェブにおけるレディングの違い デザインツールでのline heightの扱いの違い 上下のハーフ・レディングを帳

    ウェブデザインにおけるline-heightについて
  • 検索エンジン自作入門 Go Conference 2021 Spring

    Go Conference 2021 Springの登壇資料です アウトライン 1. 検索エンジンとは ~ 一般的な検索エンジンの仕組みと構成要素 2. 自作した検索エンジンの紹介 ~ 具体的に自作した検索エンジンの構成要素と動作例 3. 自作した検索エンジンの実装 ~ アルゴリズムとデータ構造、ライブラリ 4. おわりに ~ 検索エンジンを自作した感想

    検索エンジン自作入門 Go Conference 2021 Spring
  • 実務で役立つTCPクライアントの作り方

    Go Conference 2021 Spring (A9-S) のセッションで使用した資料です。 - セッションの詳細: https://gocon.jp/sessions/session-a9-s/ - 発表者: https://twitter.com/d_tutuz 資料に誤りがあればtwitterでご連絡ください。

    実務で役立つTCPクライアントの作り方
  • Goから学ぶI/O

    GoにはI/Oに関わるパッケージが数多く存在します。io, os, bufio, fmtなどなど……。これらの立ち位置や、I/O実行の裏で何が起こっているのか当に理解していますか?このでは、この問への答えをまとめました。

    Goから学ぶI/O
  • perfを用いたシステムのボトルネック解析方法

    背景システムの処理速度を改善するために、ボトルネック解析を行う必要があった。 ボトルネック解析の方法と、プロファイリングに使用したperfの使用方法に関して調査を行った。 記事の目的perfを使用し、ボトルネック解析を行う ここでは、perfの導入方法及び使用方法について記載する。 perfとはperf(Performance analysis tools for Linux)とはLinuxカーネル2.6.31以降で使用可能なLinuxの性能解析ツールである。 実行されているプロセス毎のCPU使用率やプロセス内で呼ばれている関数の割合などを調査できる。 利点gprofのように、プログラム作成時に専用のライブラリを入れたり、コンパイル時にオプションをつける必要がない フレームグラフにして、ビジュアライズできる 導入方法(Ubuntu編)Ubuntu16.04へperfを導入する手順について記

    perfを用いたシステムのボトルネック解析方法
  • 「ユニコーン企業は書籍に書かれているようなアジャイルなんてやってない」 - Mitsuyuki.Shiiba

    4/26 に発売されます! 「ユニコーン企業のひみつ」をいただいて読みました。読みやすくて面白かったー。4/26 に発売されます!チームをリードしている人や組織づくりをしている人にはもちろんおすすめだし、メンバーの一員としてチームの中で仕事をしている人も「なるほどそんな風に仕事をしてるのかー!」って感じることができて面白いと思うー。あと、アジャイルな開発とかスクラムをやってる人ももう一度自分の大切にしているものを見直すことができるんじゃないかなぁ。ぜひどうぞ。 www.oreilly.co.jp ユニコーン企業はスクラムをやっていない このの「ユニコーン企業」とか「テック企業」って「大きくなってもスタートアップみたいな働き方をしている企業」のことで、GoogleAmazon・Facebook・Spotify のような企業を指してる。そういった企業が何を大切にしているか、どんな風に開発を

    「ユニコーン企業は書籍に書かれているようなアジャイルなんてやってない」 - Mitsuyuki.Shiiba
  • CSS の Container Queries おためし - 見返すかもしれないメモ

    CSS に、コンテナクエリという機能があるらしい。 メディアクエリでは画面全体の大きさに応じて要素のスタイルを変えることができたけど、コンテナクエリを使うと当該要素の親の大きさに応じてスタイルを変えられる。 /* メディアクエリの例 */ /* 画面幅が 400px 以下だったら、div を赤くする */ @media screen and (max-width: 400px) { div { background-color: red; } } /* コンテナクエリの例 */ /* div の親要素の幅が 400px 以下だったら、div を赤くする */ @container (max-width: 400px) { div { background-color: red; } } その機能が Google Chrome Canary で使えるようにされたと聞いたので、使ってみた。 こ

    CSS の Container Queries おためし - 見返すかもしれないメモ
  • DDD(ドメイン駆動設計)、理念に大賛成、実装に大反対。

    ※追記あり。最後の追記は 2021/04/25 21:40頃※ タイトルの通りのことを思っているけど、顕名のブログで書くと社内で干されるので、増田に書く。社内の心理的安全性がそんなに低い訳ではないけども、潮流が凄いので今は慎重に振る舞いたい。 この記事を見て「キミはDDDのことを誤解している」と思われた方はコメント等で優しく(易しく、ではない)ご指摘願いたい。 ※この記事では Web Application を前提とした話になっている。 DDDとは?https://ja.wikipedia.org/wiki/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88 DDD、ここがイケてる ソフトウェア開発者は開発対象のドメインのことをほとんど知らない、という問題意識およびその提起。 俗に言う「ビジネスサ

    DDD(ドメイン駆動設計)、理念に大賛成、実装に大反対。
  • プログラミング書籍を10年ぶりに改訂して気がついたこと

    はじめに 2011年に書いた良いコードを書く技術を増補改訂して出版しました。 Amazon | Rakutenブックス | honto | ヨドバシ.com | Gihyo Direct 10年ぶりに書籍を技術書を改定するという貴重な体験をさせていただいたので、執筆の中で気がついたことをご紹介します。 ちなみに初版を執筆した10年前はこんな世界です😳 VS Codeは存在せず、みんな秀丸Emacs、vim、Eclipseでコードを書いていた Java 7が出てたけど、Java 8まではあと3年待たないと行けない TypeScriptGo言語もSwiftもリリースされていない AWSの東京リージョンができたばかりでクラウドって何?って世界 GitはまだマイナーでSubversionでバージョン管理している人が多かった Dockerはまだない、VirtualBoxやVMwareを使ってた

    プログラミング書籍を10年ぶりに改訂して気がついたこと
  • 現在のGoogle HTML/CSS Guide コーディング規約/日本語訳

    コーディングを勉強している方や、普段当たり前のようにコーディングしているけれど、上手く使えているのか不安な方向けにGoogle HTML/CSS Guideの翻訳記事を書きました。(2024年02月29日更新) 色んな方のコーディングを見ていると実に様々。情報や知識が古いままで、今では推奨されない書き方も散見されます。 特に仕事で使っていると、誰かに指摘されない限り自分のコーディングを見直す事は無いかもしれません。 ですがW3Cの定めたHTML5の廃止など、変化の速い業界では定期的な見直しは勿論、何か指標となる物があると安心です。 そこで今回はGoogleが用意しているgoogle html/css style guideのドキュメントを元に、Googleコーディング規約と要点を解説。このコーディングガイドラインが絶対的な正解では無いかも知れませんが、参考になれば嬉しいです。 Google

    現在のGoogle HTML/CSS Guide コーディング規約/日本語訳
  • 『ユニコーン企業のひみつ―Spotifyで学んだソフトウェアづくりと働き方』 - snoozer05's blog

    翻訳を担当した書籍『ユニコーン企業のひみつ―Spotifyで学んだソフトウェアづくりと働き方』(オライリー・ジャパン)が4月26日に発売になります。書は2019年3月にPragmatic Bookshelfより出版されたJonathan Rasmusson著『Competing with Unicorns: How the World’s Best Companies Ship Software and Work Differently』の全訳です。 書は、『アジャイルサムライ』(オーム社、2010年)の著者として日でもよく知られている、Jonathan Rasmussonの3冊目の著作であり、ある時期のSpotifyに身を置いていた著者が、そこでの経験などを元にユニコーン企業のソフトウェアづくりと働き方について解説した書籍となります。 www.oreilly.co.jp 大規模な成

    『ユニコーン企業のひみつ―Spotifyで学んだソフトウェアづくりと働き方』 - snoozer05's blog
  • Prisma: Node.js & TypeScript向けの完璧なORM

    記事は、@nikolasburk氏による「The Complete ORM for Node.js & TypeScript」(2021年4月21日公開)の日語翻訳を、著者の許可を得て掲載しているものです。今後Prismaの公式ブログの日語翻訳の許可をいただいたので、このアカウントで継続して翻訳していきます。※画像やリンクは公式のBlogからお借りしています。 Prismaは、Node.jsとTypeScriptのための次世代ORMです。2年以上の開発期間を経て、すべてのPrismaツールが製品化の準備が整ったことをお伝えできることに興奮しています! コンテンツ オブジェクト-リレーショナルマッピングの新しいパラダイム あらゆるスタックに対応するPrisma ミッションクリティカルなアプリケーションでの運用に対応 オープンソースを超えて お手伝いできることは? Prismaを始めよう

    Prisma: Node.js & TypeScript向けの完璧なORM
  • Vue.js UI UX DX Library - Inkline

    Configuration file, design tokens, toast notifications and more!Your next Vue.js project deserves the best developer experienceInkline is the intuitive UI Components library for building high-quality, developer-friendly, configurable, and accessible Vue.js Design Systems. More than just a UI LibraryWhile many UI libraries focus solely on UI and UX, they often overlook the most crucial element - th

    Vue.js UI UX DX Library - Inkline
  • トレンドウェブサイトから学べ! JavaScriptで作る本格スクロール演出 - ICS MEDIA

    「かっこいいウェブサイト」とはどのようなものでしょう? ICS MEDIAを見てくださるみなさんであれば、ダイナミックなアニメーションや3次元的な動きがあるウェブサイトに「おっ」と惹きつけられた経験は一度や二度ではないかと思います。たとえば、スクロールに連動したインタラクティブな動きは冒険するようなワクワクした気持ち、没入感を与えてくれます。 『ポーラ2029年ビジョン』 記事の前半では、話題になったウェブサイトからかっこいいスクロール演出の事例を取り上げ、それらを分析します。 さらに記事の後半では、「自分でも作ってみたいなぁ、でもどうやって実装しているんだろう?」と悩むみなさんに向け、オリジナルのデモを用いて実装を紹介します。 記事を読んだ後には、「どうやって実装しているんだろう?」と未知の技術に感じていたスクロールアニメーションも、「こうやっていたのか!」と身近に感じられるようにな

    トレンドウェブサイトから学べ! JavaScriptで作る本格スクロール演出 - ICS MEDIA
  • ユニコーン企業のひみつ

    「ユニコーン企業のひみつ」というを読んだ。 旨は、成功したスタートアップ企業、所謂ユニコーンの開発手法や組織は、エンタープライズ系開発を主としている企業とは違うものですよ、という話である。 そしてそれらの企業が具体的にどういうやり方で彼らのプロダクトを開発しているのかを書いている。 ちなみにタイトルにユニコーン企業とあるけれど、別にユニコーン(評価額10億ドル以上の未上場企業)に限った話ではなく小さなスタートアップからGoogleのような既に上場して随分経っている巨大企業まで共通した話だと思う。著者もとくに区別しているわけではなく単にSpotifyで働いた経験から書いたからそのようなタイトルにしたというだけみたいだ(Spotifyもすでに上場しているので厳密にはユニコーンではない)。まあスタートアップは立ち上げのタイミングでは組織も何もないので、タイトルにあるユニコーンというのは、一応

    ユニコーン企業のひみつ
  • ネイティブコンパイルEmacsの登場

    時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp

    ネイティブコンパイルEmacsの登場
  • 3年で検索流入が50倍に。MAU1,000万人に成長した「LIPS」が語る、Googleボットさんへの「おもてなし思想」と、アプリとWEBでは目的が違うため「最適なUI」が変わる話|アプリマーケティング研究所

    3年で検索流入が50倍に。MAU1,000万人に成長した「LIPS」が語る、Googleボットさんへの「おもてなし思想」と、アプリとWEBでは目的が違うため「最適なUI」が変わる話 700万ダウンロードのコスメアプリ「LIPS」さんにお話を伺いました。 ※ 株式会社AppBrew 木全 佳梨さん、堀江 慧さん、阿部 栞さん「LIPS」について教えてください。木全: コスメのクチコミアプリです。アプリは700万ダウンロード、全体のMAUは約1,000万人、クチコミ数は累計180万件を超えています。 LIPSでは性別年齢を問わず「なりたい自分」を追いかける人のために、心地よい体験をしてもらえる場所を提供しています。 ここ数年だとLIPSは「WEB版」が伸びているそうですね。阿部: WEB版は、地道なコンテンツの改善が、Googleアップデートで評価されて、自然検索からの流入が3年間で50倍に成

    3年で検索流入が50倍に。MAU1,000万人に成長した「LIPS」が語る、Googleボットさんへの「おもてなし思想」と、アプリとWEBでは目的が違うため「最適なUI」が変わる話|アプリマーケティング研究所
  • SMBCホームページ、デザインリニューアルの裏側。|SMBC DESIGN

    こんにちは。デザインチームの八嶋です。2021年3月22日、SMBCのホームページが大幅にリニューアルされました。このホームページリニューアルは、約5年ぶりの大幅リニューアルでページ数は約1500ページにも及ぶ大プロジェクトでした。このプロジェクトはインハウスデザイナーによるホームページのデザインディレクションとデザインチームが作ったデザインシステムによる連携で作られています。ホームページの役割からUIの設計までコアとなる部分をインハウスデザイナーが設計し、多数のパートナー様にもご協力いただき完成させています。(特にトランスコスモス様、ありがとうございます。) 今回のnoteは、ホームページリニューアルチームの一員でもある八嶋が、デザイナーの大塚とプロジェクトマネージャーの髙橋、そして、デザインシステムを担当したデザイナーの金澤にインタビューをしました! ホームページリニューアルを通して、

    SMBCホームページ、デザインリニューアルの裏側。|SMBC DESIGN
  • まだパソコンのOS選びで消耗してるの? - k0kubun's blog

    昨日、大学生協推奨のPCが20万のWindowsマシンなのを見てなぜMacじゃないのかという声がTLに流れていたり、それで思い出したのか、逆にMacじゃなくてLinuxを使っている人はなぜそうしてるのかみたいな話がvim-jpで盛り上がったりしていた。 Windowsを使い始めてから17年、Macを使い始めてから8年、Linuxデスクトップを使い始めてから6年経ち、今は用途に応じてその3つをどれも使っているという感じなのだが、個人的にはどれも善し悪しだと思っているので、状況に応じて何を使うべきか自分の考えを書いておく。 大学生は何を買うべきか 特にプログラミングとかやるつもりがない大学生でお金がある人は、素直に推奨されたWindowsマシンを買っておくと、大学側が使わせてくるソフトが動かない可能性も流石に低いだろうし、周りと環境が揃っていて質問とかしやすいので無難だと思う。金がなければ中古

    まだパソコンのOS選びで消耗してるの? - k0kubun's blog
  • JavaScriptで任意のHTML要素をPicture-in-Pictureする

    みなさんはPicture-in-Picture(PiP)という機能を使ったことがありますか。PiPは動画コンテンツなどを浮遊する小窓に表示する機能です。小窓はウィンドウの外側を自由に移動できます。 デスクトップが賑やかになりがちなPCでもPiPは大活躍なのですが、特にスマートフォンにおいては数少ない「ウィンドウ」機能になります。Androidはもちろん、iOS14も対応したことで話題になりました。 これによってスマホ一台あれば、ソシャゲの公式生放送を見ながらソシャゲのイベントを周回する地獄のような行為が可能になりました。 利用者という視点から見ると非常に便利なのですが、開発者から見ると動画しか表示できないのはなかなか使い所が難しくなります。そこで、この機能を使って好きな情報を表示できないか実験してみました。 PiP機能の対応環境 Chrome 70 Firefox 71(制限付き) mac

    JavaScriptで任意のHTML要素をPicture-in-Pictureする
  • 文章力を上げる方法 - 山下泰平の趣味の方法

    文章力を上げるための一番効率が良い行動は、大学入試で求められる程度の小論文を書くためのトレーニングを受けることだと思う。小論文対策は需要があるので、それなりのコストをかけて作られている。良いものがあるんだからそれを使えばいいわけで、意味の分からない方法で文章力上げようとする必要はない。 はっきりいって、大学入試で求められる程度の小論文を書ける以上の文章力を求められることは、普通に生きてたらほとんどない。かなり社会的な地位がある人でも、ずっとそのくらいの技術でやってることすらある。 大学入試対策の小論文通信講座的なものはわりとあるので、それを受講したらいい。どの通信講座が良いのかはよく分からない。長く続いているサービスで普遍的な内容なら、どれでも一定以上の水準は満たしているはずなので、好みで選んだらいい。どっちかっていうと理系のやつのが良いかもしれないけど、内容を知らないからはっきりしたこと

    文章力を上げる方法 - 山下泰平の趣味の方法
  • なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ

    開発室の雑談。営業側のマネージャが言うには 「今のプロジェクトで自動テストの導入を試みている話をしたら、XXXさんのところでも過去にいくつか導入を試みたけどもみんな上手くいかなかったって話になって」 なるほど? まあ確かに自動テストはシステム開発にとって魅惑の技法ではあるものの、では導入がうまくいっているか? というと普及率は低いと言わざるを得ない。私がお手伝いしたプロジェクトでは、元請け側から自動テストをやるお達しが来たわけだが、紆余曲折あって掛け声倒れのような状態になってしまった。 ビジネス書の煽りタイトルのような件だが、古式ゆかしき受注生産の業務システム開発プロジェクトに自動テストを導入しようとして失敗する事例を聞いたので、僕なりに分析して見出した要素を挙げておこうと思う。 V字モデル ソフトウェア開発の手法としてV字モデルというものがある。 オーダーメイドでシステムを作るにあたっ

    なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ
  • おっさんが停滞しないために

    Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)

    おっさんが停滞しないために
  • Let's Encryptのルート証明書切替周り(完結編) | おそらくはそれさえも平凡な日々

    tl;dr 驚くべきハックにより旧Androidも引き続き証明書エラーなくサイトを閲覧できそうです いよいよ5/4に標準の証明書チェーンが切り替わります 前回までのおさらい Android7.1以前でLet's Encrypt証明書のサイトが見られなくなる Let's Encryptの証明書切替周りその後 Let's Encryptはルート証明書を自身(ISRG)の認証局のルート証明書(ISRG Root X1)に切り替えようとしています。現在は、IdenTrustのルート証明書(DST Root CA X3)が使われています。 正確に言うと、ISRGは新しい認証局なのでそのルート証明書の普及率も当然低く、中間証明書はIdenTrustのルート証明書でクロスサインされており、それが標準で使われています。標準がDSTになっているだけで、ISRGのルート証明書のチェーンの証明書も指定すれば今で

    Let's Encryptのルート証明書切替周り(完結編) | おそらくはそれさえも平凡な日々
  • チームにいると頼りになるソフトウェアエンジニア

    チームにいると頼りになるソフトウェアエンジニアのメモです。自分のロールモデルでもあります。私のキャリアはほぼウェブブラウザ開発一筋なので、その辺に生息している人たちを思い浮かべながら書いてます。思いついたら随時更新します。 コードマニア コードやドキュメントを読むのが好きで、暇があれば適当なレビューに飛び入り参加したり、自分のプロジェクトとは関係ないコンポーネントもひたすら探検している。不穏なコードを見つけるとなんとリファクタリングもしてくれる。コードサーチがお友達。 やたらコードに詳しいので、何か分からないときはとりあえず聞きに行く。チームに一人いるとレビューが捗るし、コードベースも綺麗になる。コードマニアはコードベースを広く熟知している上に未知のコードに対する耐性も高いので、プロジェクトを移動してもすぐに活躍できる。 コードマニアの亜種にスペックマニアもいる。こちらはウェブやネットワー

    チームにいると頼りになるソフトウェアエンジニア
  • 簡潔で分かりやすい英文を書くためのコツを整理した - Unboundedly

    職場で開催されていた「英語が母国語の人たちを対象とした英作文のコース」で学んだことを引き続きまとめます。 前回は英語論文を書く上で、どのような戦略で原稿を書き進めればよいかについて整理しました。 具体的には次の3ステップの順に執筆することで、効率のよいライティングが可能とのことでした。 論文全体の構造・ロジックの流れを決める パラグラフを書く センテンスレベルで文章を洗練させる ステップ1で決めた骨組みにしたがって、ステップ2ではパラグラフライティングのお作法にしたがってとにかく無心で手を動かして文章化していきます。 ここまででドラフト作成はほぼ完了です。 あとは英文を一つ一つ洗練させていくことで、より簡潔で分かりやすい文章を目指していきます。 今回はこの最後のステップ3を掘り下げていきます。 基的にはコースで紹介されたこちらのテキストに書かれている内容です。 文章としては完結している

    簡潔で分かりやすい英文を書くためのコツを整理した - Unboundedly
  • AWSでバッチ処理を実装する際の選択肢とサービス比較

    処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー

    AWSでバッチ処理を実装する際の選択肢とサービス比較
  • digital_video_introduction/README-ja.md at master · leandromoreira/digital_video_introduction

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    digital_video_introduction/README-ja.md at master · leandromoreira/digital_video_introduction
  • GitHub - banga/git-split-diffs: Syntax highlighted side-by-side diffs in your terminal

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - banga/git-split-diffs: Syntax highlighted side-by-side diffs in your terminal
  • 文字列を反転させたい|nona

    こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。 文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント

    文字列を反転させたい|nona
  • Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記

    を読んで思い出したのでご紹介です。 元の記事と同様に以下の関数 sum について、 function sum(nums, acc = 0) { console.log({ nums, acc }); if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } この関数sumの引数 (nums と acc) の呼び出しごとの変化を見たい場合は、所謂プリントデバッグや debugger を使うのは一般的なテクニックとしてよく知られていますが、このような関数呼び出し時の引数を知りたい場合はmonitor(function)という関数を使うことで同様の効果を得ることが出来ます。 この場合は monitor(sum)とした後に、関

    Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記
  • JavaScript で print デバッグ時に変数名を出力する - mizdra's blog

    数列の和を求めるプログラムを作成することになり、意気揚々と以下のようなプログラムを書いたという状況を想像して下さい。 function sum(nums, acc = 0) { if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(sum(nums)); // expected: 55 一見すると何も問題なさそうに見えるプログラムですが、実はバグがあります (皆さん分かりますか?) *1。実際に上記プログラムを実行すると 55 ではなく 10 が出力されます。 こうした場面に遭遇すると、自然と sum

    JavaScript で print デバッグ時に変数名を出力する - mizdra's blog
  • モダンなソフトウェア設計の書籍 - kawasima

    型駆動設計から始まるフォーマルなアプローチもカバーしているが、フォーマルな方法の簡単な紹介も含まれているもの。

    モダンなソフトウェア設計の書籍 - kawasima
  • どうやったら「自走できる人」になれるのか|nacam403

    近年、何かと自走、自走って言いますよね。「自走力」とか、「自走できる人が必要」とか。すごく抽象度の高い言葉ではありつつ、社会人生活においてとても求められる力、価値のある力なのは確かなようです。 となると「そもそも自走とは」「自走できるとは」という話になります。これに関して先日、Engineering Manager Meetupというオンラインイベントで、同業の人々と話す機会がありました(Engineering Managerとは、ざっくり言うと、エンジニア組織においてピープルマネジメントを含むマネジメントをやっている人です)。 そこで挙がった「自走できる」とは、端的に言うと以下の通りでした。 総じて、「指示が必要」の反対である。 自走できる人は、 ・粒度の大きいゴールを目指して行動できる。 ・完了状態を自分で定義できる。 ・自分で勝手に成長できる。「確かになー」と。マネージャーからすると

    どうやったら「自走できる人」になれるのか|nacam403
  • 「結果が出ない焦り」と向き合う方法|柴田史郎

    柴田(@4bata)です。連休なので、適用範囲は広いけどすぐに役立たないことを調べつつ、自分なりに言語化します。 やりたいこと「一定の経験や学習量を超えるまでは全く答えが見えず、ある日突然答えが見える経験」の言語化2019年の10月に、今働いている会社で管理部門全般の責任者になることが事実上決まった。2021年の5月現在、「やっと、担当範囲の全体像がつかめてきたぞ、あと少しで、施策の優先順位等をつけられるな」という手応えを感じている。ここまで1.5年。この前にやっていた人事職でも、2年ぐらい同じように試行錯誤をしていた期間があったので、個人的には焦りはなかった。ただ周囲を見渡してみると、「2年ぐらいは結果でないけどやってみるかー」というスタンスで仕事に取り組める人ばかりではない。なので、言語化してみたい。 よくある「努力と結果は比例しない」の説明。これも現実とは違う。よくある説明図。頑張っ

    「結果が出ない焦り」と向き合う方法|柴田史郎
  • 【図解】https(SSL/TLS)の仕組みとシーケンス,パケット構造 〜暗号化の範囲, Encrypted Alert, ヘッダやレイヤについて~

    【図解】https(SSL/TLS)の仕組みとシーケンス,パケット構造 〜暗号化の範囲, Encrypted Alert, ヘッダやレイヤについて~
  • すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita

    記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。 こちらもどうぞ すべてのウェブ開発者へ。人気GitHubリポジトリ9選 面接のリソース、build your own X、優れたパブリックAPIのリストなど Photo by Vishnu R Nair on Unsplash はじめに GitHubは、あらゆる種類の技術、フレームワーク、ライブラリ、コレクションなどを共有するためのNo.1プラットフォームです。しかし、その巨大さゆえに、最も有用なリポジトリを探すのが難しいという問題もあります。そこで私は、すべてのソフトウェアエンジニアに大きな価値のある、素晴らしいリポジトリ10選を作ることにしました。すべてに多くのGitH

    すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita
  • エッジで爆速コード実行!CloudFront Functionsがリリースされました! | DevelopersIO

    珍しく早起きをしてRSSを眺めてるとアッツアッツなアップデートが来ていました。 Amazon CloudFront announces CloudFront Functions, a lightweight edge compute capability 今回はCloudFront Functionsをご紹介していきます。 CloudFront Functionsとは? CloudFront Functions(CF2)はLambda@Edgeより手前で、シンプルな処理をより高速に、素早く、安価に実行できるサービスです。 CloudFront Functionsを使うことでこれまでLambda@Edgeで実行していたシンプルな処理をよりユーザーに近いEdge Locationで実行しつつ、高速に処理を行う事ができます。 また、CloudFront FunctionsとLambda@Edge

    エッジで爆速コード実行!CloudFront Functionsがリリースされました! | DevelopersIO
  • 新卒でエンジニアになった頃に学んだ、報告の書き方|nacam403

    新卒で社会人になって以来、ソフトウェアのエンジニアをかれこれ10年近くやっています。そんな私が、新卒で入った会社の最初の配属先で、上司上司に教えられた報告の書き方について紹介します。 報告には意味を書くその人は「報告には意味を書くこと。」と常々言っていました。「ただ単にやったこと、起こったことを書いたものは"日記"。その意味を書かないとダメ。日記が許されるのは新人のうちだけ」だと。 ダメな例:「○○の設計はxx日に完了。現在は実装中。」 こういう週報を書くと、「これは日記だよ」と指摘されます。設計がxx日に完了したことが、チームやプロジェクトにとってどういう意味をもつのかが書かれていないからです。この報告は、例えば以下の様に改善できます。 改善した例:「○○の設計は、予定通りにxx日に完了。・・・」 これならば、「設計がxx日に完了 → これは予定通りである。順調である。」という意味が盛

    新卒でエンジニアになった頃に学んだ、報告の書き方|nacam403
  • 未経験からWebエンジニアを目指す人に伝えたいこと

    最近、未経験からWebエンジニアを目指そうと思っているんだけどどうだろう? という相談を受けることがあったので文章としてまとめておきます。 この文章はプログラミングを学んでWebエンジニアになろうとしている人に向けています 既にこの業界で働いている人にとっては常識的な内容しか書かれていません Webエンジニアになるには そもそもの読者の方達がどのような状況にいるのかによって方針が変わります。 新卒採用 新卒採用の場合は企業が未経験者を積極的に採用をして教育をしてくれるルートがあります。 この点は普通の就職活動をしてエンジニア職として採用されるようにがんばりましょう。 ただし、最近は新卒であっても小学生や中学生の頃からプログラミングの経験を積んできたスーパープログラマーがいます。また、そういった早熟な方達以外にも、大学や高専、専門学校などでプログラミングを専門的に学んできた人たちと就職活動で

    未経験からWebエンジニアを目指す人に伝えたいこと
  • 「エーペックス」の仕組み:開発者によるサーバーとネットコードの解説

    これは、とある「エーペックス」のプロプレイヤーのネットワーク経路(レイテンシーを表示しています)です。彼のインターネットモデムから、私たちのサーバーへと到達しています。インターネット接続の当の状態を判断するため、私たちは何度も調査を行います。最善の状態であれば、彼は31msのレイテンシーでゲームを楽しめていることが見て取れますね。ですが最悪の場合だと、522ms付近です。つまりこの場合だと、接続に500msもの振れ幅があるため、ゲームの遊び心地はかなり悪いということです。彼のローカルISPネットワークの接続は不安定ですが、平均を見てみると非常に稀なケースであることがわかります(平均が31mで、最低値が264ms。たまたま起きたのでしょう)。しかしその後、ローカルのISPとISP1の間でレイテンシーが急増しています。これはプレイヤーとゲームサーバーの間のノードの一つです。この二つの間でパケ

    「エーペックス」の仕組み:開発者によるサーバーとネットコードの解説
  • 混沌を極めるWindowsのssh-agent事情 - Qiita

    どうしてこうなった。 何の話? WindowsでのSSH-AGENTとSSHの話です。 この記事での用語: SSHとssh, SSH-AGENTとssh-agent この記事では、SSH-AGENTと書いたときにはカテゴリとしてのSSHエージェントを意味します。 ssh-agentと書いたときには、実行プログラムとしてのssh-agentコマンドを意味します。 同様に、SSHと書いたときにはカテゴリとしてのSSHクライアントを意味します。 sshと書いたときには、実行プログラムとしてのsshコマンドを意味します。 SSH-AGENTって? SSH-AGENTは、秘密鍵での署名を代行1してくれるツールです。 SSH-AGENT に秘密鍵をロードしてしまえば、あとはパスワード(パスフレーズ)入力なしでSSH認証できる agent forward機能を使うことで、SSHした先でさらにSSHすると

    混沌を極めるWindowsのssh-agent事情 - Qiita
  • 社員用に作った文書校正ツールを一般公開した - gecko655のブログ

    スクリーンショット これはなに 会社で「PR用の文章を人力でチェックする工数が重くて、めっちゃ残業が発生している。なんとか自動化できないか」との依頼を受け、Word等のファイルをGUIでそのままtextlintできるツールをちゃちゃっと作って社内公開しました。その結果、いい感じに社内で有効利用してもらうことができたので、外部公開に踏み切ることにしました。 github.com インストール&設定 1. インストーラーでツールをインストールする GitHub上で配布しています。 https://github.com/gecko655/proofreading-tool/releases Mac版で「開発元が未確認のため開けません」が出た方へ https://support.apple.com/ja-jp/guide/mac-help/mh40616/mac を参考に、アプリケーションをセキュ

    社員用に作った文書校正ツールを一般公開した - gecko655のブログ
  • リソースの読み込みを助けるウェブブラウザ API の世界

    ウェブブラウザはネットワークから様々なリソースを集め、それらを処理して組み合わせてウェブページをレンダリングします。リソースが揃わないとレンダリングできないので、この一連の処理のどこかが遅れるとページの表示も遅くなります。レンダリングをすみやかに開始できるようにウェブブラウザはリソースの取得やその処理を最適化するための API を提供しています。記事ではそれらを網羅的に紹介し、ウェブアプリの性能改善を図る上でどのようなブラウザ機能が使えるのかを知ってもらうことを目的としています。各機能の具体的な適用事例については他の記事に委ねます。 記事の内容は記事公開時点での情報に基づいており、閲覧時点では既に古くなっている可能性があります。最新の正確な情報は一次情報源を参照してください。また特定のブラウザ実装について言及する場合は、断りがない限り Chrome を想定しています。誤りや補足、質問な

    リソースの読み込みを助けるウェブブラウザ API の世界
  • HTTPキャッシュ入門の入門 – cat /dev/random > /dev/null &

    ローカル・経路上のキャッシュを併用しよう キャッシュは再利用されるほどいいものです。 サイトの規模にもよるのですが、ローカルと経路上のキャッシュはそれぞれ性質が異なるため、ブラウザキャッシュだけ適切に設定しておけば経路上では不要というわけではありません。 ローカルキャッシュはキャッシュを持つクライアント自身がサイトを再訪する場合は有効ですが、キャッシュを持っていない新規クライアントには無効です。 経路上のキャッシュは新規クライアントに対してもキャッシュを返すことができるため、例えばサイトへの流入が突然増えるといった事態でも対処がしやすいです。 そのためコンテンツ次第ではありますが、ブラウザキャッシュのように特定のクライアントでしか使えないprivate cacheにするよりも、 効率を考えてローカル・経路上のどちらでもキャッシュができ、多数のクライアントで共有できるshared cache

  • FLoCとはなにか - ぼちぼち日記

    1. はじめに GoogleChrome/89よりトライアルを開始しているFLoC (Federated Learning of Cohorts)技術に対して、現在多くの批判が集まっています。 批判の内容は様々な観点からのものが多いですが、以前より Privacy Sandbox に対して否定的な見解を示してきたEFFの批判「Google Is Testing Its Controversial New Ad Targeting Tech in Millions of Browsers. Here’s What We Know.」が一番まとまっているものだと思います。 これまで Privacy Sandbox 技術に関わってきた身としては、各種提案の中でFLoCは特にユーザへの注意が最も必要なものだと思っていました。しかし、これまでのド直球なGoogleの進め方によって、FLoCのトラ

    FLoCとはなにか - ぼちぼち日記
  • ドメイン駆動設計の集約のわかりにくさの原因と集約を理解するためのヒント - ソフトウェア設計を考える

    『ドメイン駆動設計』のモデル要素のひとつとして「集約」があります。 アプリケーションの対象となる事業活動の仕組みや決め事をソフトウェアで表現する技法のひとつとして集約の考え方はとても役に立ちます。 集約パターンはデータベースのデータ整合性の視点での説明されることが多いようです。しかしデータ整合性の文脈で集約を理解しても、ドメイン駆動設計の中核の関心事である「ドメインの複雑さ」を理解しドメインの知識をクラスで表現するためにはあまり役に立ちません。 この記事では、集約パターンをドメインロジックを表現するモデルの構成要素として効果的に利用するためのヒントを提供したいと思います。 集約はデータ操作の道具ではありません。集約はビジネスルールにもとづくドメインロジックのモデリングと実装の手段です。ここがわかるとドメイン駆動設計の理解が一気に進むと思います。 どうして集約がデータ整合性の話になってしまう

    ドメイン駆動設計の集約のわかりにくさの原因と集約を理解するためのヒント - ソフトウェア設計を考える
  • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

    はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

    シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
  • GitHub - google/zx: A tool for writing better scripts

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/zx: A tool for writing better scripts
  • 人生の選択肢をどうやって知ったか? - 西尾泰和のScrapbox

    nishio: 緩募: あなたの今までの人生で「この選択肢を選んだことがその後の人生を良くした」と思う選択肢について「その選択肢をどうやって知ったのか?」を教えてください nishio: 文脈: 中高生向けの講演の準備をしていて思ったこと。選択肢を知らないと、その選択肢を選べなくて意思決定の質が下がる。ならば「人生の選択肢」を知ることがより良い人生につながるはず。ではその「人生の選択肢」はどのようにして知るのか? nishio: なんで多くの人に聞きたいかというと、自分の経験だと1回しか生きてないので比較したり分類したりできないからなのです。 仮説としては「人生を変える選択肢は『これが人生を変える選択肢ですよ』とわかりやすい形で公開されていない」があります。 nishio: 僕の場合「未踏ユースに応募したこと」が人生を変えた選択肢、それは「バイト先の社長が教えてくれた」 そのバイト先になぜ

    人生の選択肢をどうやって知ったか? - 西尾泰和のScrapbox
  • テレワーク環境の可視化 - sparkgene’s blog

    2020年3月からテレワーク(Work From Home)が始まり、常時同じ部屋にいることも増えたこともあって、いくつかのデバイスを24/7で稼働させることを始めたけど、やりたかったとこまで一旦終わったのでブログにまとめてみました。 現在はこんな感じにモニターの下に置いて使ってます。 室温と湿度の可視化 まず最初にやったのが、M5StickCにFreeRTOSを入れて、DHT11センサーモジュールで室温と湿度を収集し、Raspberry Pi 3上で動いているAWS IoT Greengrass v1(v1.11.0)を経由してAWS IoTにデータを送っている。 IoT Coreで受け取ったデータはRuleの設定で、AWS CloudWatchのメトリックスとして登録され、その情報を使ってダッシュボード機能で可視化した。 ついでにAmazon QuickSightでも見れるようにしたか

    テレワーク環境の可視化 - sparkgene’s blog
  • ハックの学び方、の学び方

    Brain Hackers Meetup #0 @Brain Hackers Discord server

    ハックの学び方、の学び方
  • URLについてくる不要なパラメーターを消してくれる拡張機能「ClearURLs」レビュー

    検索結果やSNSに張られたリンクをクリックすると、来のURLの後ろに何やらパラメーターがいろいろとくっついてくることがあります。これは、どういったリンクをクリックしたのかなどの情報を得るために付与されたもので、なくても機能します。「あって困る」というものでもありませんが、「プライバシーを守るために消せるものなら消したい」という人のために役立つのが拡張機能「ClearURLs」です。 ClearURLs https://docs.clearurls.xyz/latest/ 「ClearURLs」はChrome、Firefox、Edge向けが提供されています。 ClearURLs - Chrome ウェブストア https://chrome.google.com/webstore/detail/clearurls/lckanjgmijmafbedllaakclkaicjfmnk ClearU

    URLについてくる不要なパラメーターを消してくれる拡張機能「ClearURLs」レビュー
  • Hiroshi Takahashi

    Skip to the content. 機械学習の研究者を目指す人へ 機械学習の研究を行うためには、プログラミングや数学などの前提知識から、サーベイの方法や資料・論文の作成方法まで、幅広い知識が必要になります。レポジトリは、学生や新社会人を対象に、機械学習の研究を行うにあたって必要になる知識や、それらを学ぶための書籍やWebサイトをまとめたものです。 目次 プログラミングの準備 Pythonを勉強しよう 分かりやすいコードを書けるようになろう 数学の準備 最適化数学を学ぼう 基的なアルゴリズムとその実践 機械学習の全体像を学ぼう 基的なアルゴリズムを学ぼう 深層学習の基礎を学ぼう scikit-learnやPyTorchのチュートリアルをやってみよう サーベイの方法 国際会議論文を読もう Google Scholarを活用しよう arXivをチェックしよう スライドの作り方 論文の

  • 知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation

    サーバ業務周りの管理、運用について役に立ちそうなナレッジをまとめました。 長期的に書いているため用語に統一性がなかったり、不足分など随時修正したいと思います。 1. サーバ設計 サーバスペックはどうするべき? 使用するOSは? CentOS開発終了について MWは何を使うべきか Webサーバ構築にはどちらを使うべき?Apache?Nginx? サーバセキュリティで最低限押さえておきたいことは? listenするポートは最小限にしましょう ファイアウォール設定で送受信IPアドレス、ポートの通信制御はしておきましょう 外部に出る際にはプロキシサーバを経由するようにする 随時パッチを当てるようにする linuxでのアンチウイルスソフトの検討 個人アカウントで変更系コマンドは実行させないようにする ログについて考えること ストレージ容量には気をつける データベースはどう決めたら良いか MySQL

    知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation
  • 1日1個、11日で11個のミニゲームを作る - ABAの日誌

    そしてTwitterに放流する。 赤は先読み、青は自機狙い。弾は避けて、$は取って https://t.co/9eWdp6C8TG pic.twitter.com/DtSLXoF4ke— ABA (@abagames) 2021年4月29日 複数車線を一度に飛び越えてもいいじゃない、カエルだもの https://t.co/s6NnMAilJQ pic.twitter.com/6ARjLOWPPS— ABA (@abagames) 2021年4月29日 上下から迫る矢印を人間性能で気合避けしてください https://t.co/nBbS81EUfp pic.twitter.com/LLfXyVQBdd— ABA (@abagames) 2021年5月1日 落下貫通弾を駆使して敵と矢をまとめて倒して。押しっぱなしで発射角度調整 https://t.co/M7i0QK1k1y pic.twitt

    1日1個、11日で11個のミニゲームを作る - ABAの日誌
  • 「学習リストがこなせない人」に最適。勉強が確実に前進する学習管理術はこれだ! - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習

    「勉強のプランは整理したけれど、なぜか予定通りに進められない」 「勉強したいことが多すぎて、自分で決めた毎日のノルマを達成しきれない」 日々の勉強項目があまりに多く、結局完遂できずにモチベーションが下がってしまう人には、勉強リストをつくる際の “たったひとつの工夫” が助けとなるかもしれません。 この記事では、勉強リストを効率的にこなしていくためのコツを、筆者の実践例も交えてご紹介します。 タスクが多すぎる人におすすめ「Doingリスト」とは? 理学博士であり、『仕事と自分を変える 「リスト」の魔法』ほか多くの著書で仕事術について解説している堀正岳氏は、タスクが多すぎてこなせない人に「Doingリスト」という方法をすすめています。 「Doingリスト」とは、たった1枚の紙を用意するだけでできるタスク管理法。紙は次のようにして使います。 1の縦線を引いて、スペースを左右に分ける。 紙の左側

    「学習リストがこなせない人」に最適。勉強が確実に前進する学習管理術はこれだ! - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習
  • Slidev

    Presentation slides for developers

    Slidev
  • 継続的に学習するために効いたやり方3つ - $shibayu36->blog;

    育児していて時間があまり取れない状況下で継続的に学習するために色々な方法を取り入れているんだけど、その中で最近めちゃくちゃ効いた3つのやり方を紹介。 やりたいことリストを作っておく 今日のTODOリストを作る 2分間コーディング やりたいことリストを作っておく 自分が学習したいことの一覧があると、優先度を決めやすくなり、またやりたいことが1つ終わった後すぐに次に取り組むこともできる。そこで僕はTrelloでリストを作り、とにかく少しでもやってみたいと思った開発や、読みたいと思ったなどがあれば追加している。 今日のTODOリストを作る 時間が空いてから「今日はこれから何をやろうかな?」と考えていると、途端にやる気がなくなってダラダラしてしまう。そこで先に今日のTODOリストを作っておくということをやっておく。ポイントとしては 細かい家事やプライベートでやること、勉強すること全て含めて同じリ

    継続的に学習するために効いたやり方3つ - $shibayu36->blog;
  • AWSのグローバルIPの空間はインターネットなのか? - NRIネットコムBlog

    こんにちは佐々木です。 先日、VPCのFAQに追加された項目が話題となっていました。2 つのインスタンスがパブリック IP アドレスを使用して通信する場合、トラフィックがインターネットを経由するかどうかという問いに対して、AWSがノーと言っています。これは、どういうことなのでしょうか? これがプライベートネットワークの通信と明示された意味は大きい 『Q:2つのインスタンスがパブリック IP アドレスを使用して通信する場合、またはインスタンスが AWS のサービスのパブリックエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?』https://t.co/uy26KyCZKn— Takuro SASAKI (@dkfj) 2021年4月22日 このことを起点に、インターネットとは何か、AWSのネットワークの現状について考察してみます。難しい事を言っていますが、みんな疑問に

    AWSのグローバルIPの空間はインターネットなのか? - NRIネットコムBlog
  • 生産性が爆上がりするブラウザ:Sidekick|One Capital|note

    こんにちは、One Capital の三好(@saas_penguin)です。 Product hunt で話題になったため、すでに知っている方も多いかと思いますが、今回は超高速ブラウザ「Sidekick」について紹介します。ずっと使いたいと思っていたものの、なかなかM1 Macで安定稼働してくれず・・・ようやく安定してきたので、使ってみた感想や気になるポイントを書いていきます。 昨今のブラウザ事情について 題へ移る前にブラウザを取り巻く環境について簡単に触れておきます。デスクトップブラウザのシェア推移を見ると、10年前は Internet Explorer(以下、IE)が約50%、Firefox が30%のシェアを握るという2強状態でした。しかし、2008年に誕生した Google ChromeAndroid 端末の普及とともにシェアを急拡大させます。2011年には Firefo

    生産性が爆上がりするブラウザ:Sidekick|One Capital|note
  • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

    個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後当に自分が必要なやつだけ sparse-

    git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
  • Google UX Designプロフェッショナル認定を、受講してみた|深津 貴之 (fladdict)

    どんなコース?Googleのエキスパートが授業をしてくれる、UXデザイナー養成オンラインコースです。UXデザイナーになるためのグーグル認定のトレーニングを受講でき、1日1時間ぐらい受講して、だいたい6ヶ月で満了できる。 トータルで以下の7コースを、半年かけて履修する。 1. UXデザインの基礎 2. UXデザインプロセスをはじめる 3. ワイヤーフレームと低精度プロトタイピング 4. UXリサーチと初期コンセプトのテスト 5. Figmaでの高精度のデザインとプロトタイピング 6. Adobe XDによるレスポンシブWEBデザイン 7. ソーシャルグッドのためのUXデザインと、就職の準備 とると何がおきるの?グーグル認定の証明書がもらえます。いろいろな会社を受けるときに、履歴書にかけるみたい。 印刷された履歴書、CV、またはその他の文書で、LinkedInプロフィールの修了証セクションにあ

    Google UX Designプロフェッショナル認定を、受講してみた|深津 貴之 (fladdict)
  • そのユーザーファースト、本当にユーザーファーストですか?|宇野雄 / note inc. CDO

    こんにちは。クックパッド デザイン戦略部長の宇野です。 いきなりですが「ユーザーファースト」って良い言葉ですよね。サービスのあり方の基であり、モノづくりをしていてそれを無視したいという人はいないはず。 しかし僕はこのユーザーファーストという言葉をあまり使わず、使う際は慎重に取り扱うようにしています。この言葉の概念はとても難しいと考えているからです。 「ユーザー」って誰のこと?目の前にいるユーザーの話をそのまま取り入れれば必ず良いものが作れるの? 答えは明確にNoです。 当然ですが無視するべきという話ではありません。ただ、向き合ってるユーザーがどんな人なのか、その人が当に欲しているものは何なのかを徹底的に考え抜く必要があります。 お問い合わせをしてきている人はだれ? ユーザーからのご意見やお問い合わせ、アプリストアのレビューはとてもありがたいですよね。そこから新たな改善案をもらったり、

    そのユーザーファースト、本当にユーザーファーストですか?|宇野雄 / note inc. CDO
  • なぜマイクロサービスは失敗するのか? - kawasima

    Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくてはならない 共通データモデルの変更は、す

    なぜマイクロサービスは失敗するのか? - kawasima
  • お前らの登録してるyoutubeチャンネル教えろよ

    なんでもいいから教えろよ。 -------------------- 自分のやつ 関連順とやらで並んでたので登録期日と関係ない 懲役太郎チャンネル(Vtuber) よめ子(DIY) さめ先生のサメの歌(サメの歌) 打首獄門同好会(音楽) asian gothic label(音楽) H ZETT CHANNEL(音楽) さいとうなおき(イラスト) プープーテレビDPZオモコロチャンネル(オモコロ) Watercolor by SHIBASAKI(おじいちゃんの水彩画) 三崎律日(世界の奇書をゆっくり解説) 片付けトントン(汚部屋) オテル・ドゥ・ミクニ(レシピ) ズボラストレッチ(ストレッチ) よゐこチャンネル(よゐこ) 平坂寛(生き物) Cateen かてぃん(ピアノ) 吉田誠治(イラスト) コロッケ砕砕(フィギュア) PezEMIVEVO(Pez)

    お前らの登録してるyoutubeチャンネル教えろよ
  • なぜ「できない人」ほど、人に聞けないのか。 | Books&Apps

    できない人が質問をしに来ない、という傾向は、それなりにどこの会社でも見られるようである。 例えば新人が聞きに来ない、若手が聞きに来ない、あるいは「不出来なベテラン」だと、誰にも相談できなくて行き詰まる、なんて話もある。 つい先日も、あるテクノロジー系の企業で「聞きに来ないメンバー」をなんとかしたいが、どうすればよいか、という話があった。 聞くと、力量の低いメンバーの一人が、報告が苦手で、かつ聞きに来ないので、こちらがかなり監視をしているが、手間がかかってしょうがない、という。 仕事の進捗を入れたり、週報を書いたりするような社内システムもあるのだが 力量の低い人ほど入力率も低く、入力した報告の内容も拙いという。 結局、上司が直接、成果品を逐一覗いてチェックをしているそうだが、それも限界がある。 こまったこまった、という話だ。 * こういった事象について 「できない人」は、「何がわからないのか

    なぜ「できない人」ほど、人に聞けないのか。 | Books&Apps
  • 新人の方によく展開している有益な情報 - Qiita

    新人の方によく展開させていただいている有益な情報をまとめておきます。今後も展開することがあるかもしれないため情報をまとめております。 あらたな、有益な情報がありましたら、随時追加してまいります。 有益な記事・論文・書籍等を執筆・紹介していただいた皆様に感謝申し上げます。 ちなみに、記事に記載されている情報は、お困りごと・お悩みごとをお聞きしたとき・気づいたときに、そのお困りごとに対して参考になりそうなものだけを展開していました。この情報を一気に展開していたわけではございません。 コードリーディングについて [1]ソースコードを読むための技術 https://i.loveruby.net/ja/misc/readingcode.html [2]派生開発推進協議会 関西部会 スペックアウトチーム,「派生開発におけるスペックアウト手法の提案」,派生開発カンファレンス2015,2015 http

    新人の方によく展開している有益な情報 - Qiita
  • 30個以上の個人開発を失敗。そこから自分のサービスで生きていけるようになるまでの話。|入江 慎吾 🚀 生成AIでプロダクト開発

    自分でサービスをつくって自由に生きていきたい、そう思ってフリーランスになってから10年、気がつけば受託開発に追われる日々。たしかに売上は順調に伸びていくものの、物足りない日常が過ぎ去っていく。 「...このまま受託開発をずっと続けるのか?...いや、やっぱり自分でサービスをつくって生活できるようになりたい」 心の声に従うまま、受託を完全にやめることを決意。思い切った決断でしたが、新しい仕事も断り、退路をたってサービス開発に専念。結果、オンラインメンターサービスMENTAがヒットし、M&Aにてランサーズグループにジョイン。いまもサービス成長させるべく、がんばっている毎日です。 自分で考えたものがたくさんの人に使われて、サービスがあってよかった!と言っていただける。サービスをつくる毎日は最高です。 この記事は僕のこれまでの個人開発で学んだ失敗や気付きなどの知見を網羅的にまとめたものになります。

    30個以上の個人開発を失敗。そこから自分のサービスで生きていけるようになるまでの話。|入江 慎吾 🚀 生成AIでプロダクト開発
  • 大規模Email配信システムのクラウドジャーニー | BLOG - DeNA Engineering

    こんにちは、AI 基盤部の大谷です。 最近は兼務で MLOps 以外にも様々なシステムを構築しています。 弊社では全社的にオンプレミスからクラウドに、よりマネージドに寄せていこうという大きな指針が定められています。 (参考: フルスイングの記事 ) しかし、古くから運用されているサービスなどでは、未だにオンプレミスで構築されているものも少なくありません。 また、クラウドにホストされている場合でも、マネージドサービスを完全に活用しきれていない場合もあり、EC2 ベースの IaaS な構成はまだまだ多く存在しています。 とあるサービスでも、クラウド化はされているものの、マネージドサービスを活用しきれていないメール配信システムが運用されていました。 一般にメール配信システムは、挙動の違う複数のメールプロバイダにスムーズに配信するために多くのことを気にする必要があり、その分管理コストも高くなりがち

    大規模Email配信システムのクラウドジャーニー | BLOG - DeNA Engineering
  • 社内でよく使う VSCode の機能紹介 - Techtouch Developers Blog

    テックタッチのバックエンドエンジニアの taisa です。 社内勉強会で、Visual Studio Code(以降 VSCode と記載)ナレッジ共有会を実施したのでその内容を紹介します。 今回の趣旨は「VSCode で各自がよく使う機能やショートカット、ちょっとしたノウハウを共有することで開発効率を向上させたい」というものです。自分自身 VSCode を使いこなせておらず、他のメンバーの使い方に興味がありました。共有会では、みんなで順番に画面共有しながら進めていきました。 コマンドパレット編 シンボル検索編 ショートカット編 最近開いたプロジェクトを開く 最近開いたファイルを開く / ファイルを検索する サイドバーを開く/ 閉じる、パネルを開く/ 閉じる、エクスプローラを開く 指定のエディタに移動する Grep する 特定の文字列を選択して置換する 定義へ移動、直前の場所に戻る、直前の

    社内でよく使う VSCode の機能紹介 - Techtouch Developers Blog
  • 最近、Terraform のベストプラクティス迷子です - サーバーワークスエンジニアブログ

    技術 1 課の水です。 最近 Terraform のリファクタリングを行っているのですが、ベストプラクティス迷子になっています。 HashiCorp でも明確な方針は打ち出していない為、Terraform を利用する各プロジェクトで方針を決めているのが現実のようです。 今回は私が出会ってきた問題と、それについての対応、見解を書き連ねていきます。 あくまでも私が思ったことですので、「こうしたほうがいいよ!」というネタも募集しています。 workspace 使うのか使わないのか問題 結論として、私自身は workspace という機能を知ったものの、使うことは考えませんでした。 Terraform では workspace という個別のエリアを設けることが可能で、これを prod や staging と命名し作成しておくと、完全に環境を分離できるというメリットがあります。 ただしデメリットと

    最近、Terraform のベストプラクティス迷子です - サーバーワークスエンジニアブログ
  • 私とOSSの25年

    Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno

    私とOSSの25年
  • 【レポート】AWS における安全な Web アプリケーションの作り方 #AWS-55 #AWSSummit | DevelopersIO

    この記事では、5月12日に行われた AWS Summit Online 2021 のオンラインセッション『AWS における安全な Web アプリケーションの作り方(AWS-55)』の模様をレポートします。 セッション概要 情報処理推進機構(IPA) の公開している「安全なウェブサイトの作り方」をはじめとしたセキュリティを考慮した安全なウェブアプリケーションの設計ガイドラインがいくつか知られています。セッションでは、アプリケーション開発者向けにガイドラインに則ったアプリケーションを AWS 上でどのように実装するのかを AWS プラットフォームレイヤーとアプリケーションレイヤーのそれぞれの観点から項目ごとに解説し、アプリケーション導入前、または導入後のセキュリティ対策の指標となることを目指します。 登壇者 アマゾン ウェブ サービス ジャパン株式会社 技術統括部 ソリューションアーキテク

    【レポート】AWS における安全な Web アプリケーションの作り方 #AWS-55 #AWSSummit | DevelopersIO
  • MVCCとInnoDBでの実装について - shallowな暮らし

    こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

    MVCCとInnoDBでの実装について - shallowな暮らし
  • Go言語でゲームボーイアドバンスのエミュレータを作った話

    CPUはなんとARMのCPUを採用しています。(そのおかげでLLVMのターゲットに指定できる) ゲームボーイとの違い CPU 最大の違いはCPUです。ゲームボーイ(以降、GB)ではZ80を独自カスタムしたLR35902というCPUを使っていますが、このCPUは8bitで動作するCPUです。つまり命令のサイズが8bit(1byte)しかありません! しかも、LR35902は掛け算命令など現代のCPUでサポートしている基的な命令をサポートしていません。 これに比べてGBAに搭載されているARM7TDMIは32bit CPUです。つまり命令のサイズが4byteとGBの命令の4倍の大きさになります! このおかげでCPUの命令セットがさまざまな命令をサポートできるようになりました。(まあ後述の理由で実質16bit CPUですが...) またクロック数もGBの4MHzから16MHzに伸びました。 B

    Go言語でゲームボーイアドバンスのエミュレータを作った話
  • システム開発でよくある「ごん、お前だったのか」現象と依存関係、そして汎用性の罠の話 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 マネジメント要求定義教訓ごんおま現象依存関係ツリー思考法カオスエンジニアリングフェイルファスト技術的負債 こんにちは、羽山です。 昔話には生きる上での数多くの教訓が込められています。今回は ごんぎつね からシステム設計・開発について考えてみましょう。 ごんぎつねの話はみなさんもご存じの通り、いたずらを悔いたごんぎつねが人知れず兵十という青年に贈り物を届けるも最後まで気づかれないまま火縄銃で撃たれてしまい、最後に「ごん、お前だったのか」となる話です。 さて、 達人プログラマー という書籍には 契約による設計(Design by Contract) という考え方が解説されています。 メソッドを契約として、 要求された以上のことも以下のことも行わない という考え方

    システム開発でよくある「ごん、お前だったのか」現象と依存関係、そして汎用性の罠の話 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
  • 2021年に知っておきたいJavaScript最適化技術34選 - Qiita

    最新の省略テクニック、コツ、秘訣で、JavaScriptコードを最適化する。 開発者の生活というのは常に新しいことを学ぶことで、その変化についていくことは決して難しいことではありません。私は、フロントエンド開発者として知っておく必要のある省略形や機能など、JavaScriptのすべてのベストプラクティスを紹介して、2021年の生活をより快適にしたいと考えています。 JavaScript開発に長く携わっている人でも、コードを追加しなくても問題解決できるような最新機能を知らないこともあるかもしれません。ここで紹介するものは、クリーンで最適化されたJavaScriptのコード記述にも、2021年のJavaScriptの面接準備にも役立ちます。 これは新しいシリーズで、2021年版のJavaScriptコーディングチートシートです。 1. 複数の条件を持つif 配列に複数の値を格納し、includ

    2021年に知っておきたいJavaScript最適化技術34選 - Qiita
  • カスタムURLスキームの乗っ取りとその対策

    カスタムURLスキームの乗っ取りとその対策 May 17, 2021 カスタムURLスキームは、モバイルアプリ内のコンテンツへ直接誘導するディープリンクに広く利用されている¹。そのような中で、2020年3月にLINEはカスタムURLスキーム line:// の使用を非推奨とした²。非推奨の理由をLINEは「乗っ取り攻撃が可能なため」と説明し、代わりにHTTP URLスキームによるリンクを推奨している。この変更に対して私は、なぜHTTP URLスキームによるリンクだと乗っ取り攻撃を防げるのか疑問を抱いた。この疑問に答えるためにLINEアプリの乗っ取りを試み、対策の有効性を確認した。 要約 HTTP URLスキームによるディープリンクは対象のアプリを一意に特定できるため、不正アプリによるリンクの乗っ取りが発生しない。カスタムURLスキームでは複数のアプリが同じスキームを宣言できるため、モバイル

    カスタムURLスキームの乗っ取りとその対策
  • HTTP検索条件、GETにするか?POSTにするか? | フューチャー技術ブログ

    はじめにTIG DXユニット 1真野です。 RESTfullとかRESTishな方針でWebA PIの横断検索を設計する際にチーム内で方針について議論したやり取りの備忘記事です。 注意としてB2C向けなWeb APIを提供するというよりは、主に企業間または企業内部で使われるようなAPIの設計のバイアスがあります。LSUDs(Large Set of Unknown Developers)かSSKDs(Small Set of Known Developers)で言えば、確実にSSKDs脳で記事が書かれています。 REST API広く使われているため日語記事も多数です。実践RESTful HTTP - InfoQ や、0からREST APIについて調べてみた など良さそうな記事が沢山でてくるの読むと良いでしょう。一般的な設計方法はやや古いですがWeb API: The Good Parts

    HTTP検索条件、GETにするか?POSTにするか? | フューチャー技術ブログ
  • Iosevkaというフォントが良い

    突然ですが、皆さんはどのフォントでコーディングしていますか? monaco、Monospace、MSゴシックなど、等幅フォントを軸に種類は多種多様です そんな中、それらを尻目に私が使っているフォントはIosevkaというフォントです Iosevkaとは? 以下の特徴を持ったフォントです 等幅フォント特有の文字種(㈱や㌕など)に対応 これらもきっちりと等幅を守っている リガチャ機能あり !=や<=など、特定の連続した文字列を合成して別の文字で表す機能 エディタもリガチャに対応している必要あり(VSCodeやAtom、iTerm2は対応しているので、大抵のエディタやIDEは対応していると思います) 特定の文字をプリセットの中から選ぶ事ができる プリセットから選んで、特定の文字のみデザインを変更することも可能 全体的な文字の太さ、デザイン、文字のゆとりも設定することが可能 特に 特定の文字

    Iosevkaというフォントが良い
  • マーソ株式会社を退職します - ikasama over technology

    6 月 30 日付けで退職、昨日 28 日が最終出社日でした。 2018 年 2 月から、約 1 年半お世話になりました。 マーソ株式会社 is 何 ( 2019 年 6 月末時点の情報です ) www.mrso.jp MRSO という Web サービスを運営している会社です。 MRSO は、人間ドックや検診を全国の医療施設から検索・予約できるポータルサイトです。 登録されている医療施設数は、国内の類似サービスの中ではトップクラスの規模です。 他にもこんな事業をやっています。 MRSO で利用できるギフト券、マーソギフト券の販売 健康をプレゼントするとう考え方 ご両親に人間ドックを受けてほしい! というユースケースが多いようです 企業向けの健診結果管理システムの開発・運用 ( toB ) 何をしていたのか MRSO の開発・運営に必要なほとんどの領域を担当していました。 具体的には、 新機

    マーソ株式会社を退職します - ikasama over technology
  • Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々

    Gitのワークフロー、好みが分かれる分野で自転車置き場の議論にもなりがちだと感じている。基的にはプロジェクトの流儀に素直に従い、余計なストレスを抱えないのが良いと考えている。例えば、私はマージコミットを作るのが好みだが、OSS活動等では「squash & mergeして」って言われることもあり、そういうときは当然素直に従うようにしている。 ということで、私のGitのワークフローについてのスタンスについて書いておこうと思う。私と一緒に働く人や、働くことを検討している人の参考になればと思います。もちろん、この辺りは、良い方向に変化もさせていきたい。例えばエントリー内でも触れていますが、私は昔はforce pushを禁止したいくらいでしたが、今は使っても良い、と思うようになりました。 Natureの特にGoでのバックエンド開発はこれに近い感じだとイメージしてもらえればと思います。ただ、できてな

    Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々
  • Explore DOM Events

    There are many categories of events including user events such as 'click' and system events such as 'DOMContentLoaded'.

    Explore DOM Events
  • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

    どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

    スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
  • 「スタートアップだからテストを書かない」は正しいか - An Epicurean

    スタートアップのCTOクラスの人がたまにそういうことを言っているのを聞くことがあります。もしくは「スピード優先だからテストを書かない」等です。 それは真ではなく、言ってしまえば、未熟だからテストを書「け」ない、のではないでしょうか。ただ、スタートアップという言葉に未熟であるという意味が含まれているのであれば「スタートアップだからテストを書かない」という問は真になるかも知れません。スタートアップは得てして未熟なものだし、それでも良いからです。 テストを書かないというジャッジをするのは構いません。でもそれは、スタートアップだからでもスピード優先だからでもない。自分達が未熟だからで、そこには向き合うべきだと考えます。状況のせいにするのではなく、徹底的に自分ごと化する。それがスタートアップに求められる姿勢です。少なくとも技術のトップが自分たちの技術力に向き合わないのはまずいでしょう。 「スタートア

    「スタートアップだからテストを書かない」は正しいか - An Epicurean
  • Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ

    こんにちは。フロントエンドチームの金野と申します。 べログでは現在、React+TypeScriptフロントエンドのリプレースを進めています。 以前の記事で、べログではAtomic Designをどのように取り入れているかの紹介をしました。 しかし、最近のリプレース作業では、Atomic Designとは異なるディレクトリ構造を採用しています。 今回の記事では、「なぜAtomic Designをやめたのか」という理由と、「どのようなディレクトリ構造にしたのか」を紹介します。 Atomic Designを導入したねらいと導入した結果 上記の記事で言及した通り、当初Atomic Designを導入したねらいは以下になります。 1. コンポーネントの責務がより明確になる 2. 見た目の粒度だけでなく、ロジックの責務も明確にできる 3. 「ドメインが入るか/入らないか」。「抽象的か/そうでな

    Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ
  • Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ

    たくさんの文字列(や離散的な符号列)をメモリに載せないといけないんだけど、いろんな制約があって通常のList[str]では載らない…ということありませんか?(まぁあんまりなさそうですね) たまたまそういうことがあったので、その際に検討した内容をまとめておきます TL;DR メモリをもっと増やしましょう 富豪的に解決できるならいつでもそれが最高です しかし、世の中それでなんとかならんこともたくさんあります 用途があうのであれば専用のデータ構造を採用する 例えばもし共通のprefixやsuffixが存在し、順序に興味がなければtrie treeなどが使えます 例えば、弊社であれば、法人名をメモリに持ちたいなんてときもあります。そういうときに法人名の辞書をtrieで持ったりすることがあります 「株式会社」「一般財団法人」や「銀行」といった共通語がたくさんでてくるのでtrie treeでごりごり削

    Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ
  • あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | ten-snapon.com

    あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | ten-snapon.com
  • WSL2とDockerとVSCodeのRemote Containersで最高の開発環境をつくる|はやぶさの技術ノート

    こんにちは。現役エンジニアの”はやぶさ”@Cpp_Learningです。 WSL2 + Docker + VS Code の Remote – Containers のPython開発環境が最高だったので、構築方法と実践チュートリアルを紹介します。

    WSL2とDockerとVSCodeのRemote Containersで最高の開発環境をつくる|はやぶさの技術ノート
  • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

    MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
  • MySQLとインデックスと私

    2021/05/24 サイボウズ開運研修 動画が以下のサイトからリンクされています - https://blog.cybozu.io/entry/2021/07/20/100000 - これに矢印を書きながらぐりぐりやっていたわけなので、資料単体だとわかりづらいと思います…

    MySQLとインデックスと私
  • 2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

    こんにちは。労働者です。とあるプログラムで学生さんの課題を添削していたら面白い話に出会いました。 僕は今、主に学部生向けのインターン研修的なプログラムでメンターなるものをやっています。メンターとしての仕事は、学生さんの課題へフィードバックを返し、Office Hourというセッションを毎週設けて質問受けやCSに関するトークを行うといった内容になっています。今回話題に取り上げるのはその中の課題の1つ、「行列積のプログラムを書いて時間を計測せよ」という何気ない話で、続く課題たちのいわば前座のようなものです。こういったところに沼は隠されているものですね。 担当している学生さんたちが細かい実験を行ってくれて以下のような疑問が提示されました。 「行列積の計算が N = 1024のときだけ N = 1023, 1025のときに比べて3倍遅いのはなぜ?」 配列のサイズが2のべき乗になるのは避けるべきとい

    2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog
  • Vue.js & Nuxt.js から React & Next.js へ移行した理由 | fwywd(フュード)powered by キカガク

    2021 年から React ベースのフレームワークである Next.js格的に学び始めました。 昨年 2020 年は Vue.js ベースのフレームワークである Nuxt.js にどっぷりと使った1年であり、昨年リリースした キカガク (kikagaku.ai) など、運用に乗せるところまでプロダクト開発チームで学びながら進めていきました。 その昨年に1年間もかけて知見を貯めた Vue.js & Nuxt.js を離れて、React & Next.js へ移行した背景を紹介します。

    Vue.js & Nuxt.js から React & Next.js へ移行した理由 | fwywd(フュード)powered by キカガク
  • sudo su とかしてる人はだいたいおっさん

    sudo su と sudo -s はほぼ同じ。実行されるシェルが異なることがある。 sudo su - と sudo -i もほぼ同じ。環境変数のクリア的な意味だと sudo su - の方が強い。 以下は別に読まなくてもいい。 su 別のユーザーでシェルを実行するコマンド。自分は「す」とか「えすゆー」とかと呼んでる。 元は super user とか switch user とか substitute user の略だったらしい。 デフォルトでは root になるが、引数でユーザー名を指定するとそのユーザーになる。 新ユーザーのデフォルトのシェルとして設定されているシェルが実行される。 入力するパスワードは新ユーザーのパスワード。 ~% su Password: (rootのパスワード) root@hostname:/home/tmtms# id uid=0(root) gid=0(r

    sudo su とかしてる人はだいたいおっさん