タグ

ブックマーク / itnews.org (25)

  • git undo:上手く使いこなすために

    この記事は、著者の許可を得て配信しています。 git undo: We can do better モチベーション Gitはロバストな基原理を持つバージョン管理システムですが、初心者のユーザーはGitを少し恐ろしく思っているようです。初心者は間違をしてしまった場合、それを修正しようとするよりも、むしろリポジトリを削除してリクローンする人が多いでしょう。熟練したユーザーでも、リフログを読み解くのにうんざりする時もあります。 なぜでしょうか?データを失わないはずのシステムで、どうして簡単にデータを「失う」ことができるのでしょうか? それは、データを失うのが簡単すぎるのではなく、データを回復するのが難しすぎるということです。復元したい操作ごとに、それをundoするための「魔法」の呪文が用意されているのです。すべてのデータは原理的には残っていますが、実際には多くの人がアクセスできません。 ここか

    git undo:上手く使いこなすために
  • プログラマーがドキュメントを書かない理由

    この記事は、著者の許可を得て配信しています。 Why programmers don’t write documentation 最近ではずっとコードのドキュメンテーションに関連した記事を書いていたので、当然、私のMediumのおすすめ記事には「開発者がドキュメントを書かない当の理由」という記事が表示されるようになりました。この記事では、ドキュメントを書くための優れたツールがないことが、ソフトウェアエンジニアが自分の作業や判断をドキュメンテーションする意欲を失わせる最大の原因について書いています。 私は普段、特定の記事を批判したりはしませんが、この記事には怒りを覚えました。このライターは図解ツールについていくつかメリットに関して述べてはいますが、全体的に誤解を招くような内容になっており、この重要な問題をより分かりにくくさせています。2つの図解ツールを比較して、どちらも不十分なツールである

    プログラマーがドキュメントを書かない理由
  • 過大評価されるDDD(ドメイン駆動設計)

    この記事は、著者の許可を得て配信しています。 Is Domain-driven Design overrated? ドメイン駆動設計(DDD)は、システムのモデリングと構築のための優れたガイドラインを提供する大変便利なアプローチですが、それ自体が目的ではなく、目的のための手段です。その概念は有効ですが、それを使うことだけに限定すると、その一方で多くのことを失うことになります。つまり、実際にはDDDの先にも人生があるということです。 最近、「DDD は過大評価されている」というクリックベイトなタイトルの記事を投稿したところ、皆様からかなり注目を集めました。今回の記事は、社内やソーシャルメディア(TwitterやHacker Newsなど)で受けたフィードバックを取り入れて、前回の記事に内容を加えたものとなっています。また、私の考えにもう少しニュアンスを加えたかったので、あまり過激なものにはし

    過大評価されるDDD(ドメイン駆動設計)
  • Tailwindによる高速実装とGitHubへの自動デプロイを備えたWebサイトジェネレータ「primo」

    primo https://primo.af/ primoの特徴 「primo」は、Tailwindによる高速実装とGitHubへの自動デプロイを備えたWebサイトジェネレータです。2020年7月時点で公開ベータ版ですが、ジェネレート機能は体験でき、今後の可能性を感じさせてくれるプロダクトです。 Webパーツをコンポーネント化して差し込むことができるので、書き溜めていくほど高速に構築ができる仕掛けになっています。 ドキュメントを書く GitHubでのログインが完了したら、早速サイトを作成していきます。 まずはじめに、サイトのサブドメインを指定します。現在は、サイトジェネレート機能のみ提供されていますが、今後ホスティングへの期待も伺えます。 IDEもWordpressのようなドキュメントライクに記述できるので、マークダウンに不慣れな方でもカンタンに書き始められる。 コンポーネント ダウンロー

    Tailwindによる高速実装とGitHubへの自動デプロイを備えたWebサイトジェネレータ「primo」
  • 退屈な技術を選ぶことについて

    この記事は、著者の許可を得て配信しています。 https://panelbear.com/blog/boring-tech/ 注:この記事で書かれている考え方は、過去に何度も取り上げられています。長年にわたって私の視点に大きな影響を与えてきた記事の一つに、McKinley氏の「Choose Boring Technology(退屈な技術を選ぶ)」というものがあります。以下では、私自身の経験からこのトピックを探り、最近のプロジェクトKubernetesを使うことになった経緯を紹介します。 長年にわたり、私は多くのエンジニアが会社の成功や失敗の多くを技術的な選択が原因であると主張する傾向があるところを見てきました。私にももちろんそういう時もあります。それはしばしば正当化されますが、大多数のスタートアップ企業にとって、プログラミング言語、フレームワーク、あるいはデータベースの選択はそれほど重要

    退屈な技術を選ぶことについて
  • Visual Studio Code時代の到来

    この記事は、著者の許可を得て配信しています。 https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code// 使用するツールを選ぶときに私が最も重視しているのは寿命です。ソフトウェアの学習は投資であり、後で別のアプリケーションに切り替えなければならない場合は、今まで投資してきた資産の一部を失うと言っても過言ではありません。 ほとんどのソフトウェアのカテゴリにおいて、寿命の長いソフトウェアを選ぶのは簡単で、最も人気のあるツールは、通常、最も長く続いているものです。Microsoft ExcelとAdobe Illustrator は両方とも1987年にリリースされましたが、今でもそれぞれのカテゴリで最も人気のあるソフトウェアであり続けています。 一方、テキストエディタは、最も人気のあるオプションが一番古いものでは

    Visual Studio Code時代の到来
  • 注目すべき最新データベース技術(パート1)

    この記事は、著者の許可を得て配信しています。 https://blog.pragmaticengineer.com/the-developer-culture-test/ 私はデータベースの大ファンで、いわゆる「NoSQL」データベースに関するを書いたり、影響力の高い分散型データベースRiakに携わったりと、技術職として最も実りある年のいくつかを過ごし、昨年は楽しみのためにPurpleというデータベースを構築したりもしました。 当然のことながら、私はTwitterやReddit、HackerNewsなどをさらっと読む場合、データベースやDB関連ツールの新しくて刺激的な開発に常に気にして見ています。今回の記事では、私が興味をそそられる最近登場した3つのデータベース技術についてお話したいと思います。 TileDB Materialize Prisma 後半では次の3つについてお話したいと思っ

    注目すべき最新データベース技術(パート1)
  • Kubernetesは自分にとって必要なのか

    この記事は、著者の許可を得て配信しています。 https://mbird.biz/writing/do-i-need-kubernetes.html 私がチームからよく聞かれる質問がこれです。「スタックをKubernetesホストすべきか」というものです。技術の世界でKubernetesが話題になっていることを考えると、多くの人がそうすべきだと思い込んでいます。 私は数年間k8s(Kubernetes) を使って仕事をしてきました。非常に強力で複雑なプラットフォームを使うことも多々ありました。 ただ真実はもっと微妙だと思っています。 ここでは、その判断をした経緯を紐解いてみたいと思います。スタートアップや、自社製品のホスティングに責任を持つ、より広い組織内の自給自足のチームを対象とした記事となっています。また、大規模な組織の従来のIT部門の人々にも役に立つ記事になっていると思います。 何

    Kubernetesは自分にとって必要なのか
    fumikony
    fumikony 2020/08/27
    “おめでとうございます!!古いスパゲッティインフラストラクチャを、新しい味のスパゲッティインフラストラクチャに置き換えました。もっとかっこいいお皿に乗っていますよ。” ここ好き
  • Google Analytics代替えの自己ホスト型Web解析ツール「Umami」

    Umami https://umami.is/ Umamiの特徴 「Umami」は、Google Analytics代替えの自己ホスト型Web解析ツールです。MySQL・PostgreSQLに対応し、シンプルかつ高速な構築が可能です。 率直に、Google Analyticsの完全な代替えとは言い難いが、自己ホストによるデータの取り回しの自由度など、個別に構築するメリットが大きいのは確か。 オープンソースとして公開されており、すでに1.7Kスターがつくほどの注目プロジェクトになっています。 https://github.com/mikecao/umami Umamiの導入 セットアップ済みのMySQL・PostgreSQLがあれば簡単に導入が可能です。 # ダウンロード $ git clone https://github.com/mikecao/umami.git # ディレクトリ移動

    Google Analytics代替えの自己ホスト型Web解析ツール「Umami」
    fumikony
    fumikony 2020/08/21
  • 開発者の開発ペースを落とさずに強固なインフラストラクチャ・セキュリティを実現するためには - ITnews

    Gravitational 「teleport」「teleconsole」など、クラウドネイティブのアプリケーションとインフラストラクチャを提供するオープンソースソフトウェアベンダー この記事は、著者の許可を得て配信しています。 https://gravitational.com/blog/solid-infrastructure-security-without-slowing-down-developers/ この記事では、SaaS企業が強固なクラウド・インフラストラクチャ・セキュリティを持つことと、やりすぎて自社のエンジニアを怒らせてしまうことのトレードオフにどのようにアプローチしているかについて、私の見解を共有したいと思います。 セキュリティというものはイライラの原因になります。セキュリティがイライラの原因にならなければ、日々の暮らしがもっと楽になるかもしれません。もしあなたがSR

    開発者の開発ペースを落とさずに強固なインフラストラクチャ・セキュリティを実現するためには - ITnews
    fumikony
    fumikony 2020/05/24
  • RDBデータ・スキーマのバージョンを管理できるオープンソース「Dolt」

    Dolt https://github.com/liquidata-inc/dolt Doltの特徴 Github for data(データをホストするサービス)といえば、KaggleやGretel(ローンチ予定)など注目されるプロダクトは数多くありますが、「Dolt」は、RDBのデータやスキーマなどをコミットとして管理できる、いわばGit for dataのプロダクトになります。 オープンソースとして提供されており、自身でホストすることができるほか、クラウドベースのストレージソリューションとして「DoltHub」の運営も行っています。 https://www.dolthub.com/ DoltHubを使ってみる 数は多くはないものの、すでにいくつかデータが登録されています。 もちろん、リポジトリはクローンすることが可能。ほとんどGithuライクに使うことができます。 こちらがプロジェクト

    RDBデータ・スキーマのバージョンを管理できるオープンソース「Dolt」
  • AWS、Azure、GCPが競争相手になるとき

    Greg Kogan エンジニアでもあり、B2BソフトウェアおよびAIスタートアップのグロースコンサルタント この記事は、著者の許可を得て配信しています。 https://www.gkogan.co/blog/big-cloud/ 誰かが会社のチャットにAWSのプレスリリースを投稿するところから始まります。 見出しには「AWSはFooBarを発表します」と書かれています。 一般的にお知らせは、具体的な技術には言及しないのですが、会社の製品が入った大変な量の専門用語が含まれています。顔をしかめるこの絵文字→😬でレスポンスする人もいれば、AWS FooBarが当社の製品とはまったく違うものだ、自分の製品の方が断然優れている‥‥というような内容のことを返信する人もいます。あらゆる反対の意見の嵐で、AWSのプレスリリースの話題はふっとびました。 確かに、その危惧は正しいです。 過去6年間、エンタ

    AWS、Azure、GCPが競争相手になるとき
  • マネージャーが把握しておくべき技術的負債を招く5つの論点

    Nicolas Carlo ソフトウェアクラフトマンシップに情熱を捧げ、アジャイルプロジェクト管理、フロント/バックエンドの知見もあわせ持つWeb開発者。 この記事は、著者の許可を得て配信しています。 https://understandlegacycode.com/blog/5-arguments-to-make-managers-care-about-technical-debt/ 経営陣はレガシーコードをリファクタリングさせません! あなたは自分の現在の状況を把握できていますか?すごくイライラする状況にいるのではないでしょうか。 開発者として、すでに問題が出ている点を修正することに興味がないマネージャーはたくさんいます。 新機能、緊急リリース、バグの修正…そのめちゃくちゃになっているコードベースのリファクタリングを先延ばしに言い訳はいくらでもあります 😭 正しいコードのメリットを説

    マネージャーが把握しておくべき技術的負債を招く5つの論点
    fumikony
    fumikony 2020/03/03
  • GitHubのCTOも注目する「grep.app」は正規表現を使ってGitHubリポジトリが検索できる

    grep.app https://grep.app/ 「grep.app」は、正規表現を使ってGitHubリポジトリを検索できるWebサービスです。 まだローンチしたてということで、検索できるリポジトリ数は50万。全体で1億リポジトリを抱えるGitHubにおいてはまさに一部のみであるが、GitHubのCTOも注目するサービスとあって話題にのぼっています。 GitHubリポジトリを検索してみる 機能はいたってシンプル。Regular expressionにチェックをつけて、正規表現で検索するだけ ヒットしたリポジトリ結果をみることができます。 例えば、このように通常のAnd検索にしにくい場合であっても、簡単に引くことができます。 Hacker News Jason Warner氏もクールな仕事っぷりを称賛しています。 もし、正規表現で困ったら・・・ 便利な検索ツールも、最大の課題は、正規

    GitHubのCTOも注目する「grep.app」は正規表現を使ってGitHubリポジトリが検索できる
    fumikony
    fumikony 2020/02/27
  • GitHubのプライベートリポジトリをサブスク化できる「XS:CODE」

    XS:CODE https://xscode.com/ XS:CODEの特徴 「XS:CODE」は、GitHubのプライベートリポジトリをサブスク化して、オープンソースの収益化に貢献するプラットフォームです。 今までの寄付やリワードに代わる第3の収益で、オープンソースを支えるイスラエル発のサービスです。 サブスクプロジェクトを作る では早速、サブスク化するプロジェクトを作っていきます。まずは、GitHubにプライベートリポジトリを用意しておきましょう。 XS:CODEにログインしたら、ダッシュボードの「Add Repository」に進みます。 まずはステップ1で、XS:CODEのアプリケーションをインストールします。 インストール先に、事前に準備したプライベートリポジトリを指定し実行。 続いて、名称やサブスクの月額費用など、XS:CODEで公開するリポジトリ情報を入力します。 以上で登録

    GitHubのプライベートリポジトリをサブスク化できる「XS:CODE」
  • Dockerコンテナ上で共同開発できるクラウド型のIDEサービス「goormide」

    goormide https://ide.goorm.io/ goormideの特徴 「goormide」は、Dockerコンテナ上で共同開発できるクラウド型のIDEサービスです。30以上のプログラミング言語をサポートしています。 ・クリックだけでDockerコンテナを構築 ・PythonKotlinReactRubyなど30以上の言語に対応 ・メンバーを招待して共同開発できる ・5コンテナまで無料で利用可能 ・(完璧ではないが)日語に対応 開発環境を構築する まずは新しいコンテナを構築します。 リージョンは、US/韓国から選択。Publicにすると、オープンアクセスリポジトリになるので注意してください。 次に開発に使う言語/フレームワークを選択します。 最後に、DBも付属させる場合はチェックをつけて完了。 あとはコンテナが構築されるのを待ちます。 ビルドする コンテナができると、

    Dockerコンテナ上で共同開発できるクラウド型のIDEサービス「goormide」
  • React+TypeScriptでできたミニマルな管理画面「react-admin-template」

    react-admin-template https://github.com/delprzemo/react-admin-template react-admin-templateの特徴 「react-admin-template」は、以下で構成されたオープンソースの管理画面です。巨大なリファクタリング/クリーニングを回避するため、コア機能のみ提供するコンセプトになっています。 ・React ・jQueryなし ・TypeScriptReact Hooks ・Redux react-admin-templateをインストールします $ git clone https://github.com/delprzemo/react-admin-template.git React-Admin-Template # リポジトリをダウンロード $ cd React-Admin-Template

    React+TypeScriptでできたミニマルな管理画面「react-admin-template」
  • パスワードを安全に共有できるオープンソースプロジェクト「Yopass」

    Yopass https://yopass.se/#/ Yopassの特徴 「Yopass」は、パスワードを安全に共有できるWebツールです。入力されたパスワード情報は、特定期間保持され、1度開くと破棄される仕組みでセキュアな受け渡しを可能にしています。 https://github.com/jhaals/yopass なおこちらオープンソースとしても提供されています。 パスワードを送信します まずは、パスワードと有効期限を設定し暗号化を行います。 URLが発行されたら、パスワードを共有したい相手に送付。 受け取った側がURLを開くと、復号化され入力されたパスワードを見ることができます。 さらにもう一度URLにアクセスすると、既にパスワードは見られなくなっています。 メールやSlackでパスワードを共有するシチュエーションで、ぜひ使ってみてください。 Yopass https://yopa

    パスワードを安全に共有できるオープンソースプロジェクト「Yopass」
  • Gatsbyでライブ編集機能付きCMSを構築できるツール「TinaCMS」

    ◆ TinaCMS https://tinacms.org 紹介 「TinaCMS」は、GatsbyおよびNext.jsサイトでつくるCMS構築ツールです。一般的なCMSと異なり、リアルタイムにコンテンツを編集できる機能が特徴です。 なお、こちらオープンソースで提供されています。 https://github.com/tinacms/tinacms $ git clone git@github.com:tinacms/tinacms.git Cloning into 'tinacms'... ・・・ Resolving deltas: 100% (12405/12405), done. まずは、TinaCMSをダウンロードします。 cd tinacms $ npm install && npm run bootstrap ・・・ ╭─────────────────────────────

    Gatsbyでライブ編集機能付きCMSを構築できるツール「TinaCMS」
  • すぐにChrome拡張機能開発できるオープンソースのテンプレート「Chrome Extension CLI」

    ◆ Chrome Extension CLI https://github.com/dutiyesh/chrome-extension-cli 紹介 「Chrome Extension CLI」は、npmを使って簡単にChrome拡張機能の初期セットアップができるオープンソースのテンプレートです。 $ npm install -g chrome-extension-cli /usr/local/bin/chrome-extension-cli -> /usr/local/lib/node_modules/chrome-extension-cli/index.js + chrome-extension-cli@0.2.0 added 21 packages from 11 contributors in 2.879s まずは、Chrome Extension CLIをインストールします。 $

    すぐにChrome拡張機能開発できるオープンソースのテンプレート「Chrome Extension CLI」