サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
itnews.org
今まで出来なかったとすると、革命的に便利になる気がする>< それともAADとかCloud Identityでセキュリティキー使えてる系とは違う話なのかな?
この記事は、著者の許可を得て配信しています。 Why do database columns have a character length of 191? データベースのスキーマを見ていると、次のようなテキストフィールドが定義されていることがあります。 email_address varchar(191) NOT NULL これは、カラムが最大191文字の文字列に対応していて、NULLの使用ができないということを意味しています。191という数字は奇数ですが、一体なぜ191文字なのでしょうか?この記事では、ほとんどのリレーショナル・データベースで191文字の制限がデフォルトになっている歴史的な理由を解説します。 なぜtextではなくvarcharなのか? まず、最初に疑問に思うが、「なぜデータベースに保存する文字列の長さを制限するのか」ということです。最近のモダンな一般的なリレーショナル・
この記事は、著者の許可を得て配信しています。 https://css-irl.info/why-i-dont-have-time-for-your-coding-challenge/ 面接を受けに来る人に何らかのコーディングテストや課題を課すのは、テック業界では標準的な採用慣行となっている傾向があります。面接を受けに来た人は採用担当者の前で、ホワイトボードに書かれた問題に取り組むように言われます。持ち帰り課題やコーディングチャレンジなどがある場合もあります。多くの場合、最初の面接(時には2回の面接)の後、自分の時間内にタスクを与えられ完了させます。一般的には応募した仕事内容と同じようなタスクだったり、または同じスキルを多く必要とするタスクの課題であったりすることが多いようです。 この記事では、ホワイトボード面接(面接者のコードに関する知識や技術をテストする面接)については全く触れていません
SuperTokensSuperTokensはAuth0やFirebase Authなどの代替として開発されたオープンソースの認証プラットフォームです。ユーザーにはストレスのないログインフローを提供しつつセキュアなセッション管理を実現できる
この記事は、著者の許可を得て配信しています。 https://www.alexhudson.com/2021/09/17/its-tough-being-an-azure-fan/ AzureはカテゴリーリーダーであるAWSに属しているのですが、これまでAzureはナンバーワンのクラウドプロバイダーではありませんでした。しかし、多くの人が考えるように、Azureが第2位だということはかなり妥当なことであり、必ずしもAWSと大きく差別化されているわけではないけれども、特筆すべき点は十分にあると言えるでしょう。 しかし、Azureテクノロジーのユーザーやファンでさえも、Azureをクラウドプロバイダーとしておすすめすることがますます困難になってきています。 さて、私はGartner社(2021年7月の時点で、Azureをカテゴリー「リーダー」と評価し、競合はAWSとGoogleだけとしている)
Matt Rickard Kubernetes開発者ツールの構築および保守していた元Googleのソフトウェアエンジニア この記事は、著者の許可を得て配信しています。 Reflections on 10,000 Hours of Programming どんな技術でも、世界レベルの専門知識を得るためには、正しい方法で、合計10,000時間ほど時間をかけることが重要である -マルコム・グラッドウェル『Outliers』より まあ、確かに私は世界的な専門家ではありませんが、プログラミングに10,000時間ほど費やしてきました。それで今回ここでは、私のプログラミングに関する31の考察を紹介したいと思います。 これらは純粋なコーディングについての考察であり、「プログラミングは人である」や「上級技術リーダーになるには」といった教訓めいたものは書いていません(そういったものは間違いなくキャリアにとって
例を挙げて説明するために、まずJSONの例に戻って考えてみましょう。jq(JSON変換ユーティリティー)を使って、ドキュメントの中から持ってきた何かを計算してみましょう。 $ cat assertion.json { "signed_in_user": "Joonas" } $ cat assertion.json | jq . { "signed_in_user": "Joonas" } (jq. は、ドキュメント全体を再印刷することを意味します。) ファイルを jq に通すと、スペースが削除されることに気付きましたか?これは、JSONレベルではスペースが重要ではないからです。一見、面白くなさそうですが、私たちは危険な領域に向かっています。 計算された値に署名してみましょう。 $ cat assertion.json | jq . | sha1sum e58dc03a7491f9e5fb
この記事は、著者の許可を得て配信しています。 https://www.fastruby.io/blog/ruby/performance/why-wasnt-ruby-3-faster.html 多くの人がRuby 3のスピートに失望しています。その理由はたくさんあると思いますが、それを考察するのも悪くないと私は思います。 では、なぜ Ruby 3 は速くなかったのでしょうか?約束を破ったのでしょうか?(ネタバレ: 私はそうは思いませんが、そう思う人がいるのは理解できます)。 早いとは:何と比較しているのか? 問題の原因は、あまりにも期待しすぎたところにあると思います。みんなが「3倍速」の意味を理解していませんでした。みんなが、その意味をしっかりと考えたとは思いませんが、その意味があまり明確に伝わっていなかったとも思います。 だから、約束されたことを理解していた人もいたけれど、理解していな
この記事は、著者の許可を得て配信しています。 git undo: We can do better モチベーション Gitはロバストな基本原理を持つバージョン管理システムですが、初心者のユーザーはGitを少し恐ろしく思っているようです。初心者は間違をしてしまった場合、それを修正しようとするよりも、むしろリポジトリを削除してリクローンする人が多いでしょう。熟練したユーザーでも、リフログを読み解くのにうんざりする時もあります。 なぜでしょうか?データを失わないはずのシステムで、どうして簡単にデータを「失う」ことができるのでしょうか? それは、データを失うのが簡単すぎるのではなく、データを回復するのが難しすぎるということです。復元したい操作ごとに、それをundoするための「魔法」の呪文が用意されているのです。すべてのデータは原理的には残っていますが、実際には多くの人がアクセスできません。 ここか
この記事は、著者の許可を得て配信しています。 Good Logging プログラムがすべきことをきちんとこなしているかどうかを確認するには、与えられた入力からの出力を調べることができます。しかし、システムが大きくなると、何が起こっているかを理解するためのログも必要になります。優れたログメッセージは、問題のトラブルシューティングには欠かせません。しかし開発者の多くは適切な場所に十分な情報を記録していないのです。 問題のトラブルシューティングをするときには、ログを見ます。時にはバグが原因で間違った動作をしていることもあります。また、何も問題がない場合もあります。システムは正しく動作していますが、私たちはシステムが何をすべきかについて間違った予想をしていた場合です。どちらの場合も、ログはシステムで何が起こっているかを理解するのに役立ちます。また、新しい機能を完成させた後、探索的テストを行う際にも
この記事は、著者の許可を得て配信しています。 Do You Really Need Redis? How to Get Away with Just PostgreSQL Webサービスやアプリケーションに対応するために、何度も見てきた試行錯誤のアーキテクチャがあります。 データストレージとしてのPostgreSQL バックグラウンドのジョブキュー(および限定的なアトミック操作)を調整するためのRedis Redisは素晴らしいものですが、このスタックの最も一般的な使用例を実はPostgreSQLだけで実現できると言ったらどうでしょう? 使用例1:ジョブのキューイング 私が見てきたRedisの最も一般的な使い方は、Webサービスからバックグラウンド・ワーカーのプールへのジョブのディスパッチ調整でしょう。そのコンセプトは、(おそらく入力データを使って)実行されるべきバックグラウンド・ジョブの
この記事は、著者の許可を得て配信しています。 I moved my workspace to VR, here's what I learnt 私は1ヶ月間、バーチャルリアリティの世界の中でフルタイムで働いていました。技術はそこまで十分に到達しているのでしょうか?VRは快適に使用できますか?私たちは皆、1500ドル以上もするヘッドセットとディスプレイから500ドルのヘッドセットに切り替えるべきでしょうか?今回は、こういった疑問にお答えします。 皆さん、こんにちは!私は遂にバーチャルリアリティに挑戦することにしました。3台のディスプレイを使った退屈なワークスペースをもっと面白いものに変えようと思ったのです。少なくとも1ヶ月間は、開発のすべてをVRから行うことにしました。そしてその1ヶ月で私が経験してきたことをすべて記事にしました。ちなみに、この記事もVRで書いたものです。 比較のために写真を
この記事は、著者の許可を得て配信しています。 What the Fastly outage can teach us about writing error messages 知らない方もいると思いますが、2021年6月8日の約15分間、FastlyのCDNにシステム障害が発生し、インターネット上のウェブサイトが大規模に停止しました(BBC、英国政府、Reddit、New York Timesでも不具合が生じ、Amazon.comにおいてはCSSの読み込みに失敗しました)。 Fastlyの停止中にこれらのウェブサイトにアクセスした方は、以下のような意味のないエラーメッセージを目にしたことでしょう。 フロントエンドの開発者である私は、このようなエラーメッセージを見て、そのエラーが自分のせいではないことを示す数字(この場合は「503」という数字)を探し、安心しました。 残念ながら、大多数のイン
この記事は、著者の許可を得て配信しています。 Why programmers don’t write documentation 最近ではずっとコードのドキュメンテーションに関連した記事を書いていたので、当然、私のMediumのおすすめ記事には「開発者がドキュメントを書かない本当の理由」という記事が表示されるようになりました。この記事では、ドキュメントを書くための優れたツールがないことが、ソフトウェアエンジニアが自分の作業や判断をドキュメンテーションする意欲を失わせる最大の原因について書いています。 私は普段、特定の記事を批判したりはしませんが、この記事には怒りを覚えました。このライターは図解ツールについていくつかメリットに関して述べてはいますが、全体的に誤解を招くような内容になっており、この重要な問題をより分かりにくくさせています。2つの図解ツールを比較して、どちらも不十分なツールである
この記事は、著者の許可を得て配信しています。 Use Google like a pro Googlingは、すべての開発者にとって最も重要なスキルのひとつです。 Googlingを上手に使いこなす方法をご紹介しましょう。 さあ、始めましょう。 1. 引用符を使って完全一致の検索を行う "what is javascript" 2. AND演算子は、両方の用語に関連する結果のみを返します html AND css 3. 検索語の1つに関連する結果を得るためにOR演算子を使うことができます 4. - オペレーターは、用語やフレーズを含む結果を除外します javascript -css 5. ワイルドカード(*)をプレースホルダーとして使うと、任意の単語やフレーズで置き換えられます "how to start * in 6 months" 6. 1つのサイト内での検索 site:freecod
この記事は、著者の許可を得て配信しています。 Programming is hard 次の記事: プログラミングは大変(後編) プログラミングの初心者の多くは、最終的にこの取り繕ったようなメッセージに行き着きます。そのメッセージというのは「プログラミングは簡単で、誰にでもできる」というものです。私はそれが事実ではないということをお伝するためにこの記事を書きました。プログラミングは難しく、誰にでもできるものではありません。最初のうちは誰にでも簡単そうに思えるかもしれませんが、マスターできる人はそこまでいないのです。こういった空虚で浅い、ポジティブなメッセージに対して、今日は私がそれに反論していきたいと思います。 プログラミングは身近か バカな人たちが「プログラミングは簡単だ、誰にでもできる」と言うのは、実はプログラミングの分野がいかに身近かということに関係しているのです。インターネットにアク
この記事は、著者の許可を得て配信しています。 Is Domain-driven Design overrated? ドメイン駆動設計(DDD)は、システムのモデリングと構築のための優れたガイドラインを提供する大変便利なアプローチですが、それ自体が目的ではなく、目的のための手段です。その概念は有効ですが、それを使うことだけに限定すると、その一方で多くのことを失うことになります。つまり、実際にはDDDの先にも人生があるということです。 最近、「DDD は過大評価されている」というクリックベイトなタイトルの記事を投稿したところ、皆様からかなり注目を集めました。今回の記事は、社内やソーシャルメディア(TwitterやHacker Newsなど)で受けたフィードバックを取り入れて、前回の記事に内容を加えたものとなっています。また、私の考えにもう少しニュアンスを加えたかったので、あまり過激なものにはし
Sorted CSS Colors https://enes.in/sorted-colors/ Sorted CSS Colorsの特徴 「Sorted CSS Colors」は、background-colorなど、Webでそのまま使えるCSS色名でソートされたカラーパレットです。 つまみレンジをぐりぐり動かすことで 様々なカラーパターンを確認することが可能。 そして特徴とも言えるのが、パレット上に表示された色名は、background-colorなどCSSでそのまま使うことができる点です。 隣り合う色相も分かるので、ノンデザイナーでも配色に困らないのはありがたいかぎり。 もちろん、RGBやカラーコードなど、カラーパレットとしての標準機能もちゃんと装備されています。 Sorted CSS Colors https://enes.in/sorted-colors/
この記事は、著者の許可を得て配信しています。 SVG: The Good, the Bad and the Ugly SVGは「スケーラブル・ベクター・グラフィックス(変倍ベクタ図形)」の略で、スケーラブル・ベクター・グラフィックスのためのフォーマットです。この記事では、このフォーマットについての私の意見、問題点、改善点やまた改善のためにすべきことなどをまとめました。 私は数年前からInkscapeと共にSVGをスケッチやグラフィックのために定期的に使っています。私はコードを通して精密さを追求し、アートへの愛を満たすために手書きで書くのが好きです。SVGと私はある種の愛憎関係にあります。SVGはパワフルで、オープンソースの素晴らしい無料ツールがありますが、フォーマット自体はかなり醜いです。 メリット vector graphicsのフォーマットです。Adobe IllustratorからI
GitHub謹製!コントリビューション(通称:草)を3Dにできるツール「Skyline」を早速使ってみた Skyline https://skyline.github.com/ 「Skyline」は、GitHubによって提供されているコントリビューション(通称:草)を3Dに表示できるツールです。GitHubのユーザー名を入力するだけで、簡単に作成が可能。 完成したグラフは、STL(Standard Triangulated Language)形式でダウンロードできるので、3Dプリンタなどの二次加工にも使えそうです。 Skylineを使ってみる 手順は非常に簡単、GitHubのユーザー名を入力するだけ。 神々しい音楽とともに、3Dグラフが作られていきます。 正面で見るとこんな感じ。 あとは、マウスをぐりぐりして、上にしたり 横にして眺めることもできる。 作成したグラフは、こちらのボタンからダ
この記事は、著者の許可を得て配信しています。 https://creativegood.com/blog/21/losing-faith-in-ux.html 私は何年もの間、UX(ユーザーエクスペリエンス)を信頼していました。ウェブサイト、アプリ、その他のデジタル製品が成功に終わるか否かの鍵を握っているのは、いわゆる「ユーザーエクスペリエンス」なのです。結局のところ、簡単で、直感的で、便利なUXが、顧客の生活をより良いものにし、同時にチームの目標である増益やサービスコストの削減を達成することができます。 1997年、私はこのUXに対する信念を胸にCreative Goodという会社をスタートさせました。そして何年もの間、この信念は正しいものでした。企業は、自社の製品を顧客にとってより良いものにすることで、物質的な利益を得ることができたのです。1997年から2007年までの10年を、オンラ
GitHub1s https://github.com/conwnet/github1s GitHub1sの特徴 「GitHub1s」は、プログラマなら誰しもが感じる、GitHubコードの見にくさを解消してくれるツール。URLを変えるだけで、GitHubのリポジトリコードをVSCodeライクに操作可能にしてくれます。 こちらオープンソースとして公開後、瞬く間に6.3K以上のスターがつくほどの人気リポジトリになっています。 GitHub1sをつかってみる 使い方は、GitHub1sのブラウザ拡張をインストールするだけと非常に簡単。 あとは、見なれたいつものGitHubのページで URLを「github1s.com」に変えます。 すると、一瞬で、VSCodeライクなインターフェスに変わります! あとは、いつも通りディレクトリを選択してコードを読んだり 検索なども操作可能。 ちょっと調べたいリポ
この記事は、著者の許可を得て配信しています。 https://www.mihaileric.com/posts/we-need-data-engineers-not-data-scientists/ データはどこにでもありますが、私たちはより多くのデータを手に入れようとしています。過去5~10年の間、データサイエンスは、その禁断の果実を味わおうとする新規参加者たちを、いたるところで惹きつけてきました。 しかし、今日のデータサイエンスの採用状況はどのようになっているのでしょうか? 忙しい読者のために、記事の要旨を2文で解説します。 要約: データサイエンスと比較して、データエンジニアリングの企業では70%以上、募集中の仕事があります。次世代のデータおよび機械学習を習得した人材を育成するにあたり、エンジニアリングスキルをより重視すべきだということです。 データの専門家のための教育プラットフォー
プレゼンテーションレイヤ、いわゆるフロントエンドがクライアントサイドで実装・実行されるアーキテクチャ (注 1) において、管理画面/管理機能をあとから追加する際にどのような実装パターンがあるのかを整理してみます。 注 1: Presentation Domain Separation の実践の中でも、物理的にプレゼンテーションロジックとドメインロジックを分離しているアーキテクチャです。 用語の整理 プレゼンテーションレイヤ 三層アーキテクチャにおける、システムの利用者へユーザインターフェイスを提供する層です。本記事では"フロントエンド"とほぼ同義で使います。 OSI 参照モデルの第六層ではな…
Convie https://convier.me/ Convieの特徴 「Convier」は、RESTAPIでイベントゲストのカレンダーと予定共有できる開発者向けサービスです。iCalendar仕様(RFC 5545、RFC 7986、RFC 7953)に準拠しており、Googleカレンダーや一般的なグループウェアで利用可能。 なお、フリープランでは月に50通まで送信が可能です。 ConvieでAPIトークンを作成する 早速試していきますが、ステップは非常にシンプル。アカウント作成後、ダッシュボードからAPIトークンを作成するだけ。 API Tokens画面の「New Token」から 名前を決めて作成を実行します。 このようにトークンが払い出されたら、コピーして完了。なお、トークンに有効期限は設定されていません。 招待メールをAPIで送信する $ curl https://convie
この記事は、著者の許可を得て配信しています。 https://plausible.io/blog/building-open-source 関連記事: GDPRに完全準拠したオープンソースのアクセス解析「Plausible Analytics」 Plausible Analyticsは、私が開発者とメンテナーとして関わった初めてのオープンソースプロジェクトです。そして、その時の経験は今になっても貴重な経験だったと感じています。 Plausible Analyticsは何千ものサイトにインストールされており、100人以上の開発者からの助けもあり、今年4月にはGitHubのスター数が500以下だったのが、この記事を書いている時点では4,600スターにまで増えています。 この記事では、競争の激しいWeb解析市場でオープンソースのSaaSスタートアップ企業を立ち上げ、成長させてきた経験から得た教訓
Jens Neuse GraphQLの柔軟性、RESTのシンプルさとハイパフォーマンスを組み合わせたバックエンドサービス「WunderGraph」の創業者 この記事は、著者の許可を得て配信しています。 https://wundergraph.com/blog/why_not_use_graphql 私はGraphQLで世界が変わると思います。GraphQLを使って世界中のどんなシステムでもクエリができる未来が来るでしょう。私はその未来を作っているのです。では、なぜ私はGraphQLを使うことに反対なのでしょうか?私が個人的に嫌なのは、コミュニティがGraphQLの利点を宣伝し続けているときに、それが非常に一般的なもので、実際にはGraphQLとは全く関係のないものだという点です。もっと普及させたいのであれば、正直に言って、楽観的過ぎる見方を改めるべきだと思います。この投稿は、Kyle Sc
primo https://primo.af/ primoの特徴 「primo」は、Tailwindによる高速実装とGitHubへの自動デプロイを備えたWebサイトジェネレータです。2020年7月時点で公開ベータ版ですが、ジェネレート機能は体験でき、今後の可能性を感じさせてくれるプロダクトです。 Webパーツをコンポーネント化して差し込むことができるので、書き溜めていくほど高速に構築ができる仕掛けになっています。 ドキュメントを書く GitHubでのログインが完了したら、早速サイトを作成していきます。 まずはじめに、サイトのサブドメインを指定します。現在は、サイトジェネレート機能のみ提供されていますが、今後ホスティングへの期待も伺えます。 IDEもWordpressのようなドキュメントライクに記述できるので、マークダウンに不慣れな方でもカンタンに書き始められる。 コンポーネント ダウンロー
この記事は、著者の許可を得て配信しています。 https://panelbear.com/blog/boring-tech/ 注:この記事で書かれている考え方は、過去に何度も取り上げられています。長年にわたって私の視点に大きな影響を与えてきた記事の一つに、McKinley氏の「Choose Boring Technology(退屈な技術を選ぶ)」というものがあります。以下では、私自身の経験からこのトピックを探り、最近のプロジェクトでKubernetesを使うことになった経緯を紹介します。 長年にわたり、私は多くのエンジニアが会社の成功や失敗の多くを技術的な選択が原因であると主張する傾向があるところを見てきました。私にももちろんそういう時もあります。それはしばしば正当化されますが、大多数のスタートアップ企業にとって、プログラミング言語、フレームワーク、あるいはデータベースの選択はそれほど重要
次のページ
このページを最初にブックマークしてみませんか?
『Any Pick(エニーピック)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く