タグ

developmentに関するngyukiのブックマーク (121)

  • GitOps

    GitOps Since its inception in 2017 by Weaveworks, GitOps has caused quite some fuss on Twitter and KubeCon. This site aggregates the essence of GitOps to help clear up the confusion about the topic. We’ve written a short book on GitOps. Get it as a free PDF or ePub, or for a small fee as a Kindle eBook or paperback. What is GitOps? GitOps is a way of implementing Continuous Deployment for cloud na

  • CIOpsとGitOpsの話 - inductor's blog

    はじめに GitOpsという言葉が生まれたのが自分の知る限り2017年頃なのですが、世の中にあるCI/CDの仕組みはまだほとんどがCIOpsもしくは手動のオペレーションによって成り立っていると思っていて、かつては自分もそうだったのですが「Gitで管理されていればGitOpsなんでしょ?」という勘違いを払拭したくてこのエントリーを書いています。 GitOpsとCIOpsは全然違う まず前提としてGitOpsの明確な定義を知らないという場合、あなたの思う「Gitを契機とした自動デプロイの仕組み」は基的にはCIOpsです。GitOpsとCIOpsは思ったよりも大きな違いがあって、そもそもGitOpsの必要性が分かっていない場合、自動化によって成立しているデプロイはCIOpsが基です。 CIOpsとGitOpsの一番の違いは、Push型かPull型かである CIOpsの場合、例えばGitHub

    CIOpsとGitOpsの話 - inductor's blog
  • Martin Fowler's Bliki (ja)

    ここは、Martin Fowler's Blikiの日語翻訳サイトです。Martin Fowler氏人の許可を得て公開しています。データはGitHubで管理していますので、どなたでも翻訳に参加することが可能です。 ※現在、移行中につき、Markdown形式になっていないものが多々あります……。PRいただけると大変ありがたいです。 API design / agile / agile adoption / agile history / application architecture / application integration / bad things / build scripting / certification / clean code / collaboration / computer history / conferences / continuous deliv

  • TDDはゆるく実践しても大丈夫 - 千里霧中

    最近、TDDのテストコードは捨てても良いかみたいな議論を見ました。 これに対する自分個人の経験上の意見ですが、TDDは雑多にテストコードを使い捨てても効果を出せると思います。 もちろん、TDDで保守性が高く価値あるテストを書いて、捨てずにCIや中長期的なリファクタリングで再利用していくと、TDDの効果を増幅できます。ただ、それをするにはスキルや事前の工夫、労力が必要ですし、できる場面に限りがあります。 そういったことをやらず、もっとゆるい姿勢で取り組んでも、費用対効果をプラスにできる手法がTDDだと考えています。 今回は、そのTDDでゆるくしてもよいポイントを、実経験からまとめたいと思います。 TDDのテストは使い捨てでいい TDDのテストはプログラマのこまごまな課題に応じて累積的に作られるため、保守コストがかかるテスト・保守する価値の低いテストが生まれがちです。そのためテストの使い捨ての

    TDDはゆるく実践しても大丈夫 - 千里霧中
  • 早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) - Qiita

    ※ 色々と誤解を招くというご指摘を受けたためタイトルを変更しました 早すぎる抽象化の危険性 ↓ 早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) 元の記事の趣旨としては、 抽象化をするな という訳ではなく、 その抽象化は当に今すべきなのか一歩立ち止まって考えろ ということだと思っております。 何か不適切な点などございましたらご指摘頂けますと幸いですm(_ _)m ~~ 以下文 ~~ ちょっと前の記事なのですが とても印象深く 今後も気をつけていきたいと思い 自分なりにまとめてみました。 早すぎる抽象化とは? 問題になっていることを十分に理解する前に 可能性のあるすべてのパターンを把握しきる前に 抽象化をしてしまうこと ※コメントでのご指摘がありましたように 「早すぎる抽象化」はの結果として 「誤った抽象化」に陥ってしまうことが問題であり、 定義を下記のように修正しま

    早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) - Qiita
  • コードレビューを支える『褒め文化』 - エムスリーテックブログ

    コードレビュー、好きですか? エンジニアリンググループの山口です。 クラウド電子カルテ「エムスリーデジカル」を開発しています。 今回は、チームに根ざしている『褒め文化』についてお話しします。 ※この記事は、エムスリー Advent Calendar 2018 13日目の記事です。 『褒め文化』とは 簡単に言えば、コードレビューで褒める文化です。 コメントに対してコメントしている様子 とても簡単です。 とても簡単なのですが、前職(SIer)ではこういった経験が全く無かったため*1、join直後は(良い意味で)驚いたのが印象に残っています。 とにかく褒める けっこう安易に安直に褒められますし、褒めます。 アカウント名は一部加工 思ったことを素直にコメントにしてしまいます。 褒め文化の効用 ここからは「※個人の感想です」になってしまいますが、こうした褒め文化は、レビュア・レビュイどちらの立場でも

    コードレビューを支える『褒め文化』 - エムスリーテックブログ
  • ドメイン駆動設計 失敗したことと成功したこと

    その時は最善の実装だと思っていたことでも、月日が立つことで、それは間違いだったと気づくことがあります。 5年という歳月はそれを気づかせるには十分な時間で、 DDDをやり始めた初期の頃に書かれたコードは良くディスられたりしています。 そのコードは何を失敗していたのか?そして、それは改善するために改善した事とは? BIGLOBEにおける"今"のいいコードの書き方をできる限り具体的な事例を元に紹介します。

    ドメイン駆動設計 失敗したことと成功したこと
  • DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream

    DX: Developer Experience (開発体験)とは、あるシステムを「気持ちよく開発・保守できるかどうか」を示すもの 開発者は開発・保守という行為を通じたそのシステムのユーザーであり、DXUXの一種である DXがよいと日々の開発を楽しめるようになり、気持ちに余裕ができる 気持ちの余裕がでるとコードの品質があがり保守時のデグレも減らせる また、DXがよい事自体がDXを高める動機になり、正のスパイラルを見込める つまり、「定められたタスク」(=義務)以上のことを行うようになる DXが悪いと開発を楽しめず、「定められたタスク」以外のことをしたくなくなる DXは放置すると悪化するので、「DXがよくも悪くもない」プロダクトは時間が経つに連れ「DXが悪い」になる なので積極的にDXを良くしていく活動を奨励していくのがよい いくつか興味深いフィードバックがあったので記しておきます。 DX

    DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream
  • 超高速な開発ができるわけ | Yakst

    あるひとりの人がシステムを作ったが故にそのシステムに精通している場合に、最も生産的な開発が行われる。しかしこれは、ひとりの人がシステムの面倒を見ることを超えてシステムが成長する時には矛盾してしまう。 ある状況下において、特定の開発者たちが他の人の10倍生産性が高くなることがあるのはなぜかについて議論してみましょう。 ヒント : 開発者の話ではなく、状況が大きなカギ。 生産性が非常に高いことにウキウキした気分になるのはいつでしょうか。新しい機能が指先からあふれ出てくる時?それは、私たちが関わるツールのことを知り尽くしている時、あるいはもっと決定的に言うと、自分がシステムを変更しつつある時に起こるのです。自分のバックパック、それも自分で詰め込み、そしてひとつひとつの小袋の中まで何年にもわたる旅行を経て調整してきたバックパックの中身を知っているように、システムを知ることです。それぞれのモジュール

  • スタートアップに向く人、向かない人(エンジニア編)|えとみほ

    先日、機械学習エンジニアを募集する広告を出したところ、複数の人から「旦那に頼めばいいじゃん」と言われた(知り合い以外の方のために説明すると、私の夫は工学の博士号を取っているソフトウェアエンジニアである)。 確かにスキルマッチング的にはドンピシャではあるのだけど、夫とは実際に半年ほど働いてみて、すぐに一緒に働くのは無理だと断念した。少なくとも、今のスタートアップのフェーズでは、彼の能力や経験を生かしきれないと思ったからだ。 スタートアップに必要なのは「雑でもいいから速い人」先に少しだけ夫のバックグランドを話すと、彼は20代後半まで大学の研究室で働いており、その後私と出会ったVR系のベンチャー企業に転職し、30代前半でソーシャルゲームの会社に2回目の転職をした。職歴としては、そのソーシャルゲーム会社での経験が最も長いと思う。 ソーシャルゲームの会社では、ゲームの開発ではなく、不正なユーザーを

    スタートアップに向く人、向かない人(エンジニア編)|えとみほ
  • 「変数名などで state と status はどう使い分ければ良い?」(1) @ITクラブ Cafe - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    ngyuki
    ngyuki 2017/02/07
    state と status
  • 仕様や実装方針の相談をPullRequestで行う取り組み - $shibayu36->blog;

    これまで少し大きめな機能であれば、コードを書く前にまず仕様や実装の方針をissueのdescriptionにまとめ、それを先にレビューしてもらってから実装にとりかかるということをしていた。最近、その方針をそもそもrepositoryのファイルとして書いて、PullRequestしてレビューしてもらうようにしたら便利だったのでご紹介。 なぜコードを書く前に仕様や実装の方針をレビューするのか 前提としてなぜコードを書く前に仕様や実装の方針をレビューして欲しいのかについて書いておく。これはとにかく手戻りの量を少なくしたいという要求のためである。 実装に取り掛かろうとすると、実装の方針はいくつか思いつくが、どれが一番よいか迷うことはよくある。その場合に誰にも相談せず自分だけで判断し、コードを書いてからPullRequestを送った場合、もしその選択に重大なミスがあった場合全て書きなおさないといけな

    仕様や実装方針の相談をPullRequestで行う取り組み - $shibayu36->blog;
  • 信用できる社内 Wiki をつくるために守ってほしい、たったひとつのルール - 無印吉澤

    このページについて この記事は、以前書いた「社内Wikiに情報を書くときに守ってほしい、たったひとつのルール」の続編です。前回は、個々のページをどう書くべきかという話をしましたが、今回は社内 Wiki 全体を信用できるものにする方法について考えます。 muziyoshiz.hatenablog.com 想定する環境 この記事は、ソフトウェア開発プロジェクトに関する Wiki が社内にあって、そこに各人がドキュメント(仕様書や手順書など)を書けるようになっている環境を想定しています。 私自身、ソフトウェア開発のときしか Wiki を使わないので、具体例もそのような環境に寄っています。ただ、ある程度は社内 Wiki 全般に通じる話かと思います。 ルール:「更新され続ける」ページと「更新されない」ページをはっきり分ける ここ1年ほど社内プロジェクトをいくつか渡り歩いていたのですが、個人的には、こ

    信用できる社内 Wiki をつくるために守ってほしい、たったひとつのルール - 無印吉澤
  • 質の高いAPIを作るための7つの習慣

    今までのやり方を1つずつ改めて、どうやったら品質の高いAPIを素早く作れるのか。 受託を専門とする会社で、実際の仕事の中で改善していった取り組みについてお話します。 なるべくモダンなやり方で品質を落とさずにビジネスサイドからの要求に応えるにはどうしたら良いのか?

    質の高いAPIを作るための7つの習慣
  • gitの良さがいまだに分からない - 負け犬プログラマーの歩み

    ここ2年ぐらいで俺が働いた現場はみんなgitを採用している。就職エージェントと面談するときもgit経験の有無をよく訊かれるし、今ではVSSやCVSどころか、SVNですら時代遅れになってきて、SVNを使っている現場は「レベルが低い」「保守的・旧態依然」という雰囲気すら感じる。 俺としては4-5年前からgit(GitHub)を使っているし、gitを使うこと自体に抵抗はない。一通りの基操作はできるし、人並みにはできると言っても差し支えはない。 …が、正直gitの良さがあまり見えてこない。 もし俺が中規模以上のプロジェクトのリリースを格的に管理する側であれば全然違った感想を持ったかもしれない。でも一人の開発者として、せいぜい10人程度のプロジェクトで利用する限り、「gitで良かった」という状況があまり思い当たらない。 ではgitの何が気にわないのか書いていきたい。 ①gitは馬鹿には難しい

  • チームでコードを書き始めた後、「どうやらレビューってやつをした方が良いらしい」くらいの若手に向けた資料です。

    code_review_basics.md コードレビューの基 一番大事な事 ソースコードはプロジェクトの共同所有物である 誰かだけが触れるコードを無くす 自分だけが持っているコードを無くす 自分だけが触っている時間を短くする コードレビューで大事な事 コードレビューは... 相互学習型のプロセスである メンバが成長することが大事 相互学習とは レビュアーとレビュイーが、お互い学び合うこと 考え方を共有すること 質問することで学ぼう 一番できる誰かだけが教えるのではない 知識や経験の少ない人が何に躓いているのか学ぼう メンバの成長 同じミスをチーム内で繰り返さないことが成長 ミスを繰り返さないために 人の問題にしない 明日はわが身 仕事の正しい手順を覚えよう 道具の正しい使い方を覚えよう コードレビューの心構え 伝えることが大事 改善するまでがレビュー レビューにコストをかけ過ぎない

    チームでコードを書き始めた後、「どうやらレビューってやつをした方が良いらしい」くらいの若手に向けた資料です。
  • いつ突然会社をやめても問題ないという基準でコードやドキュメントを書くテクニック - $shibayu36->blog;

    blog.shibayu36.org 上の記事が思ったより読まれていたので、自分がこの基準を満たせるようにやっているテクニックも箇条書きで書いておく。 PullRequestを作ったら必ず自分でコードレビューをする コードを書いているとき、その一部一部はこれで完璧と思ってるけど、実は全体を見直すと分かりにくかったりする 1日寝てから見直す 1日経つとちょっと忘れて新鮮な気持ちで見れる 1週間後にもう一回見てみる 1週間くらい経つともうだいぶ忘れて、穴が見えてくる 穴があったら別PullRequestで直す もう一度同じところを担当することがあればチャンス。自分でもこれどういうことだっけってググり始めたら基準を満たせていない 自分が全く関わっていない部分のところを触りだしたらかなりチャンス。当にまっさらな頭で基準を満たすか見れる。他人がやったことだからとか思わずにちゃんとその時に直す やっ

    いつ突然会社をやめても問題ないという基準でコードやドキュメントを書くテクニック - $shibayu36->blog;
  • 良いデバッグログはプロジェクトの資産である

    http://eventdots.jp/event/591027 (2016-07-30追記:Rails 5.0からproductionでもDEBUGがデフォルトらしいです) (2020-09-23追記:https://github.com/rails/rails/pull/39707 INFOに戻りそう)

    良いデバッグログはプロジェクトの資産である
  • つらくないコードレビューの運用 - Speaker Deck

    All slide content and descriptions are owned by their creators.

    つらくないコードレビューの運用 - Speaker Deck
  • インフラを意識してコードを書くということ - Hatena Developer Blog

    チーフエンジニアの id:Songmu です。 4月に 新人エンジニア研修を行なった のですが、その際に、「インフラを意識したアプリケーションの書き方」という講義を担当しました。そこでおこなった講義の内容について整理しながら書き起こしていきたいと思います。 インフラを意識すると何が良いか 業務でWebアプリケーションを扱うと、個人ではなかなか扱えないトラフィックであったりデータ量を扱うことになります。小規模サービスでは考えなくてよかった多くのことを考慮する必要がでてきます。なかなか体験できないことでもあるので、楽しく、やりがいもあります。 また、そういった経験を通して、インフラを意識しコードをかけるスキルを身につけることは、Webエンジニアとしては大きな強みとなります。ISUCONで優勝できるかもしれません*1。 インフラを意識すると何が良いか 〜 中規模ベンチャーの場合 そもそも、はてな

    インフラを意識してコードを書くということ - Hatena Developer Blog