並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 5012件

新着順 人気順

commitの検索結果1 - 40 件 / 5012件

  • 質の高い技術文書を書く方法 - As a Futurist...

    大学や大学院で論文の書き方を鍛え上げた人たちには遠く遠く及ばないが、僕の様なはぐれもの1でも最近は Amazon 社内で文書の質が高いと評価してもらえるまでにはなった。Software Engineer として、コードでのアウトプットはもちろん大事だけど、文書のアウトプット(およびそれによって得られた実際のアウトプット)は同じだけ重要である2。今回は自分が最近どういうところに気をつけて技術文書を書いているのか、ということについて数年後の自分が忘れてないことを確かめられる様にまとめておく。 そもそも文書とは? 英語だと document。ここで指す(技術)文書とは、人間が読む文体で書かれた技術に関連する情報、といったものだ。具体的に言うと以下の様なものを想定している: 新しいプロジェクトの骨子を説明する資料 会議の叩き台となる 1 枚ペラ 本番環境に変更を加えるにあたっての包括的な情報や具体

      質の高い技術文書を書く方法 - As a Futurist...
    • 天才プログラマー・オードリーさんがたった200行で効果的なアプリを作れる秘訣

      天才プログラマー・オードリーさんがたった200行で効果的なアプリを作れる秘訣 オードリー・タン台湾デジタル大臣との対話 - 未曾有の危機に幅広く使える未来思考(後編) 2021年1月19日、『コロナ vs. AI 最新テクノロジーで感染症に挑む』(翔泳社刊)が発売されました。医師の起業家からAIの研究者・ITの先端技術コンサルタントによって執筆されており、コロナ対抗策としてのAIの社会実装事例・AI研究事例・医療研究事例をわかりやすくまとめられています。今回本書の発売を記念して、収録されている台湾のデジタル大臣、オードリー・タンさんへの特別インタビューから、一部内容をご紹介します。株式会社キアラ 代表取締役の石井 大輔氏による寄稿です。(前編はこちら)。 石井:今回の私の質問は少し技術的なことです。オードリーさんは天才プログラマーとして有名です。GitLab Taiwanのエンジニア友人か

        天才プログラマー・オードリーさんがたった200行で効果的なアプリを作れる秘訣
      • 【必見】2020年に話題になったイケてるWebサービス・アプリまとめ

        あけましておめでとうございます。 今回は、2020年に話題になったイケてるWebサービス・アプリを紹介します。 多数リリースされているもののなかから、チェックし直しておいたほうがよさそうなサービスをピックアップしました。 2020年は新型コロナウイルスの流行もあり、世界が大きく変わりました。 それに伴い、生活様式にも変化が生まれ、リリースされるWebサービスやアプリも時代に則したものが多いように感じました。 冬休みのあいだに、ぜひおさらいしてみてください。 【その前に】毎月更新する本シリーズについて 2020年はしばらくお休みをいただいておりましたが、本年より更新を再開します。 引き続き、毎月末に更新となります。 また、新たに無料メルマガも開始します。 メルマガでは、運営者が気になったり、業界的に知っておいたほうが良さそうなWebサービスやアプリの紹介を不定期に紹介していく予定です。 最新

          【必見】2020年に話題になったイケてるWebサービス・アプリまとめ
        • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

          この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

            マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
          • 知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation

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

              知っておきたかったLinuxサーバ設計、構築、運用知識まとめ - hiroportation
            • コードレビューの目的と考え方 - osa_k’s diary

              まえがき コードレビューの目的 大目的 小目的 チェックリスト 優先度高(大きな損失を生む問題・後からの修正が困難な問題) 優先度中 優先度低(システムに大きな影響を与えない問題・後からの修正が容易な問題) レビューを負担にしないために レビューサイズのコントロール 誰がレビューをするか 議論をどうまとめるか 批判と個人攻撃 レビュワー向けアドバイス Code author向けアドバイス 参考文献 まえがき コードレビューの有効性が説かれるようになって久しい。しかし、コードレビューをするべきという観念ばかりが先立ってしまい、何のためにコードレビューをするのか、どのような点をレビューするべきなのかといった、目的や進め方に対する意識が曖昧なケースも数多くあるように思われる[6]。コードレビューの目的を理解せずに惰性でレビューしているだけでは、いずれレビューそのものが形骸化し、単に承認のハンコを

                コードレビューの目的と考え方 - osa_k’s diary
              • ChatGPT使い方総まとめ - Qiita

                こんにちは!sakasegawaです! ( https://twitter.com/gyakuse ) 今日は今流行のChatGPTについて紹介します! ChatGPTとは OpenAIが開発するGPT-3(※)というめちゃくちゃすごい言語モデルをベースとしたチャットアプリです。 色んな質問にすぐ答えてくれます。 この記事ではさまざまな使い方を紹介します。 https://chat.openai.com/ ちなみにGPT-3関連では、noteの以下記事も便利なのでぜひ読んでみてください AIがコミットメッセージ自動生成!神ツール『auto-commit』『commit-autosuggestions』の紹介 ※正確にはGPT-3.5シリーズと呼ばれています ChatGPTの仕組みを考えながらプロンプトを作る手法はこちらに別途まとめています 文章 質問-応答 〜について教えて Wikiped

                  ChatGPT使い方総まとめ - Qiita
                • ぼくの考えた最強のMac環境 | DevelopersIO

                  こんにちは、クラスメソッドの岡です。 先日MacBookProにコーヒーをこぼしてしまい、見事に壊れました。 電源はつくけどバックアップが取れない。。しかし不幸中の幸いで直前にGoogleDriveにデータを移していて、gitにもpushしていたので復元する必要はあまりないかも、、? ということで、環境の見直しも兼ねて新しいMacをまっさらな状態からセットアップすることにしました。 今回はセットアップも兼ねて自分のお気に入りのツール等を一部ご紹介させていただこうと思います。 環境 macOS Catalina 10.15.6 アプリケーション 1Password: パスワード管理 Googleアカウントのパスワードすら覚えてないのでとりあえず1Passwordを入れます。 他にサインインしているデバイスがあれば、環境設定→アカウント→その他のデバイスを設定でセットアップ用のQRコードが出せ

                    ぼくの考えた最強のMac環境 | DevelopersIO
                  • ChatGPT プラグイン機能一覧|しおぱん

                    こんにちは。しおぱんです。ChatGPTのプラグインがあまりに多すぎて大変だったので、プラグイン機能一覧を作りました。 【お知らせ】 プラグインの増加速度が早すぎるため、記事作成が追いついておりません🙇 お急ぎの方はこの記事作成でも利用しております、こちらのプロンプトを使ってみてください🙌 【カテゴリ検索の方法】 ブラウザの検索バーに [カテゴリ名] を入力すると絞り込みできます🙆 Mac: Command + F / Windows: Ctrl + F 【カテゴリ一覧】 [エンタメ] [音楽・音声] [画像・動画] [学習] [学術] [語学] [プログラミング] [ビジネス] [マーケティング] [ファイナンス] [ニュース] [ツール] [リサーチ] [ウェブアクセス] [天気] [旅行] [レストラン] [ショッピング] [医療・健康] [不動産] [求人] [ユーティリティ

                      ChatGPT プラグイン機能一覧|しおぱん
                    • 2020年現在のNewSQLについて - Qiita

                      Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

                        2020年現在のNewSQLについて - Qiita
                      • プログラミングスクール生へ、採用の現場より

                        こんにちは。 プログラミングスクールに通う方や、スクールそのものの在り方について増田やはてブで度々話題に上がるけど、 現役エンジニアの諸先輩方ではなく、いち採用側の目線で少しメッセージを残しておきたい。 (ここでいうエンジニアとは主にwebやアプリにおけるソフトウェアエンジニアを指します。わかったかはてなー!) ■前提自分は非エンジニアだよ HTML、CSS、JSの基礎は習得し、WordPressを使いイチからDockerを駆使して開発環境の立ち上げや、GitおよびGithubでのRepo管理やcommit、本番サーバーで運用できる程度の知識人事職は2年目 本業は別で、社内で掛け持ちしている形なのでプロではないよ書類選考〜早い段階での面接がメイン、書類だけなら職能関わらず4000人程度に目を通したよプログラミングスクールそのものの是非は語らないよ 7期目を迎えた中小IT企業だよ 弊社エンジ

                          プログラミングスクール生へ、採用の現場より
                        • Docker完全に理解した | IIJ Engineers Blog

                          九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。 Docker完全に理解した? 【エンジニア用語解説】 「完全に理解した」 製品を利用をするためのチュートリアルを完了できたという意味。 「なにもわからない」 製品が本質的に抱える問題に直面するほど熟知が進んだという意味。 「チョットデキル」 同じ製品を自分でも1から作れるという意味。または開発者本人。 — 伊藤 祐策(パソコンの大先生) (@ito_yusaku) September 20, 2018 ということで、Docker完全に理解したので、自分なりの「これからDockerでコンテナを始める時のポイント」をいくつかご紹介したいと思います。 申し遅れましたが、九州支社技術部(九州・中四国事業部)所属のy-m

                            Docker完全に理解した | IIJ Engineers Blog
                          • もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita

                            はじめに 仕事に追われる日々から解放され快適に楽しく働くことができる環境を実現するためには、自己管理が重要です。ここでいう「仕事に追われず快適に楽しく働ける状態」とは、自分自身で意思決定を行い、仕事の進行を自らコントロールする能力を身につけることを意味します。 多くのエンジニアは仕事の量や複雑さに圧倒され、自分のペースで仕事を進めることができないという状況に直面しています。しかし、自己管理スキルを身につけることでこれらの課題を乗り越え、より自分起点な働き方が可能になります。 この記事では、よく起きがちな問題とあわせて自己管理を強化するための具体的な方法を示します。 1. 他の人から見て何をやっているかわからない問題 主要なポイント 「あれってどうなってます?」って聞かれていませんか? これを頻繁に聞かれる場合、確実に何やっているかわからない人だと思われています タスクの状態は、必ず聞かれる

                              もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita
                            • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

                              - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

                                pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
                              • 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%減)まで削減した時の勉強メモ
                                • コミットはスナップショットであり差分ではない

                                  Git は紛らわしいという評判です。用語や言い回しが意味するものと、そこから想像する挙動が違ってユーザーが混乱すると言われます。これは、git cherry-pick や git rebase のような「履歴を書き換える」コマンドに最も顕著です。私の経験では、この混乱の根本的な原因は、コミットは 差分 であり順番を入れ替えることができるという解釈にあります。しかし、コミットはスナップショットであって、差分ではありません! Git がリポジトリデータをどのように保存しているかを見てみると、Git を理解しやすくなります。このモデルを調べた後に、この新しい視点が git cherry-pick や git rebase のようなコマンドを理解するのにどのように役立つのかを探っていきます。 本当に深く 掘り下げたいのであれば、Pro Git という書籍の Git Internals の章を読むと

                                    コミットはスナップショットであり差分ではない
                                  • Command Line Interface Guidelines

                                    Contents Command Line Interface Guidelines An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. Authors Aanand Prasad Engineer at Squarespace, co-creator of Docker Compose. @aanandprasad Ben Firshman Co-creator Replicate, co-creator of Docker Compose. @bfirsh Carl Tashian Offroad Engineer at Smallstep, first e

                                      Command Line Interface Guidelines
                                    • 「ブラックリスト」「マスター/スレイブ」というプログラミング用語が「人種差別的」として言い換えられつつある

                                      「ブラック・ライヴズ・マター(BLM)」を合い言葉に黒人差別への抗議を訴える運動が2020年5月から急速に広がっています。その中で、プログラミングの世界で使われている「マスター/スレイブ」や「ブラックリスト/ホワイトリスト」などの言葉が言い換えられ始めていることが報じられています。 GitHub to replace "master" with alternative term to avoid slavery references | ZDNet https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/ 特定のユーザーや言葉を拒否する「ブラックリスト」、そして逆に許可するユーザーや言葉をまとめた「ホワイトリスト」という言葉が人種差別的だ

                                        「ブラックリスト」「マスター/スレイブ」というプログラミング用語が「人種差別的」として言い換えられつつある
                                      • 見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました

                                        見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました SecretlintというAPIトークンなどの機密情報がファイル内に含まれているかをチェックできるツールを書いています。 Secretlintはコマンドラインツールとして動くので、主にCIやGitのpre-commit hookを利用して、リポジトリに機密情報が入るのを防止できます。 SecretlintでAPIトークンや秘密鍵などのコミットを防止する | Web Scratch 一方で、実際のウェブサービスなどは機密情報がファイルにハードコードされているわけではなく(Secrelint自体がこういうハードコードを防ぐツールです)、環境変数やDatabaseに保存していると思います。 このような場合にも、コードのミスなどによって公開するべきではない情報(秘密鍵、APIトークン、Sl

                                          見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました
                                        • Nature に筆頭で出して、英国でパーマネントの職も得たけど、やりがいがなくなったので辞めます - biochem_fanのブログ

                                          はじめに 専門家としてのアイデンティティ 分野の雰囲気の変化 コモディティ化と専門家の役割の低下 商業化・特許・ブラックボックス シェアの低下 計算資源の不足 新しい IT 技術を習得できない 小回りがきかない 同僚や分野の関心との乖離 他人事になってしまった 自分の存在意義を信じられない 今後の方針 可能性 1: 日本の電顕施設での解析支援とその問題 可能性 2: 電顕施設ではなく(生)化学系グループへ所属する 可能性 3: 仕事だと割り切って企業に行く おわりに 追記とコメント返信 変更履歴 はじめに 筆者*1は構造生物学(X 線回折と電子顕微鏡単粒子解析)のためのプログラム開発とデータ処理を専門としている。昨年、英国の研究機関にて任期なしの investigator scientist ポストに昇進し、Nature に筆頭著者として論文を出し、年間被引用数 1850 以上、h-ind

                                            Nature に筆頭で出して、英国でパーマネントの職も得たけど、やりがいがなくなったので辞めます - biochem_fanのブログ
                                          • Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々

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

                                              Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々
                                            • 入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita

                                              自分が実際に企業で働くうえでよく使ったコマンドや役に立った設定をまとめてみました。 Git入門系に関しては飽和していると思いますが、ちょっとした応用編としてご覧いただければ幸いです。 自分の環境 ファイルの数や行数が膨大 複数の案件が同時進行することが多く、質問などに答えたりするためにブランチ移動をすることが多い プロジェクト内に複数文字コードが混在している(Shift-JISとUTF-8) コマンド編 基本のコマンド書きなぐり $ git clone <ブランチ名> <ディレクトリ名> # clone先のディレクトリ名まで指定してcloneする $ git pull # pullする。必要に応じて -u や、 remote名、ブランチ名を打ち込む $ git diff # 差分見る $ git diff master HEAD # 現在の状態とmasterを比較する $ git chec

                                                入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita
                                              • Linus Torvalds 氏の理想の git 運用と GitHub

                                                Note 本記事の内容は Linus 氏の発言が人を傷つける場合に筆者がそれを良しと考えるといった意図はございません 少し古い記事になるが、 Linus Torvalds 氏 の GitHub に対する苦言が記事になっていた。 LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言 - ZDNet Japan Linus 氏が GitHub について苦言を呈するのは今に始まったことではない(後述)が、 別に GitHub のすべてを否定しているわけではない。[1] では一体何が不満なのか。Linus 氏の理想とする git の開発フローを考察した上で、整理してみたい。 Linus 氏の理想 結論からいうと、 「意味あるコミットを作れ」「コミットを大事にしろ」 という思想が伺える。 では 「意味あるコミット」「大事にされたコミット」 とは何なのか。 筆者な

                                                • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

                                                  要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事でJava + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

                                                    100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
                                                  • 「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン

                                                    この記事は DeNA 20 新卒 Advent Calendar 2020 19日目の記事です。 はじめに MySQLやPostgreSQLに代表されるRDBMSではトランザクションと呼ばれる仕組みが提供されています。多くのWebアプリケーションエンジニアはこのトランザクションを駆使してDBとやりとりをするロジックを組み立てることになります。 しかし不整合を起こしたくない処理があるからといって闇雲にトランザクションを張ったり、トランザクションが張られているからと安心してアプリケーション側で闇雲にロジックを組み立ててしまうと思わぬバグを生むことになってしまいます。 このエントリでは、「トランザクションを張っておけば大丈夫」という考え方は危険な場合もあるということを、ありがちな実装例を交えて紹介していきます。 並列に処理されるトランザクション そもそも、トランザクションは全て直列に処理されるわ

                                                      「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン
                                                    • コードレビュー虎の巻 - Qiita

                                                      レビューガイドライン(Review GuideLine) ここで述べているレビューはピアレビューについての方法です。 (作業成果物の欠陥と改善の機会を探すレビュー) 「最悪を最初に」を基本としてレビューすべき、 たとえば、仕様やアルゴリズムに欠陥があるのに、typoにこだわってもしょうがないので、なにが最悪かを考え、それを防ぐための物からレビューをします。 誤りがプロダクト全体に影響し、手戻りのコストが高くつく、あるいは失敗するようなリスクがないかを考慮にいれてレビューの対象を選択します。 たとえば、基本的な初期フェーズの要求仕様や、クリティカルな決定の基礎になる仕様、使用頻度が高いモジュールなどを重点的にレビューします。 以下に書く項目はレビュアーに負担をかけないようにするのが前提なのでレビュアーに出す前にそもそもテストしたい項目です。 参考: あなたのおっしゃるレビューってどのことかし

                                                        コードレビュー虎の巻 - Qiita
                                                      • Build your own React

                                                        We are going to rewrite React from scratch. Step by step. Following the architecture from the real React code but without all the optimizations and non-essential features. If you’ve read any of my previous “build your own React” posts, the difference is that this post is based on React 16.8, so we can now use hooks and drop all the code related to classes. You can find the history with the old blo

                                                          Build your own React
                                                        • アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey

                                                          はじめまして。そーだい(@soudai1025)です。私は普段は技術コンサルティングや受託開発を請け負う合同会社HaveFunTechの代表として、また、予防治療の自社サービスを展開する株式会社リンケージのCTOという二足の草鞋を履き、日々、さまざまなWebサービスの開発に携わっています。 これまでの開発経験のなかで、データベース設計に関わるさまざまな問題に遭遇してきましたが、本稿ではとくに、アジャイル開発時に発生しやすい問題とその対処についてお伝えしたいと思います。開発の現場で目にしやすい実装におけるアンチパターンを示しつつ、アジャイルという指針を維持しながら、対処となるデータベース設計についてご紹介します。 会員登録のアンチパターンと処方箋 イージーな実装とシンプルな実装 Userと言う名の罠 拡張と破綻 データベースは変化に弱い 仕様変更とテーブル変更 Addで変化に追従する 正規化

                                                            アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey
                                                          • (ネット)署名という仕組みに否を突き付けている人が多くて困惑している - 発声練習

                                                            以下のツイートのブックマークコメントの多くに困惑している。少なくともネット署名、広ければ署名という仕組みに否をつきつけている人がこんなに多いとは。ネット署名や署名の仕組みや目的からして本人確認は無理でしょ。 本オープンレターへの賛同において他人の氏名を勝手に使用する悪戯があったと判断したため、該当の氏名を削除しました。このような悪戯に対して強く抗議します。賛同した覚えがないのにお名前が掲載されている方はレターに追記したメールアドレスまでご連絡ください。https://t.co/waQ53XObZK— KOMIYA Tomone (@frroots) 2022年1月19日 b.hatena.ne.jp 批判が多い「女性差別的な文化を脱するために」の賛同者に賛同した覚えがないのに名前が載っているので困っている人や不快感がある人がいるのはわかる。そして、その人は賛同者から名前を削除してほしいと希

                                                              (ネット)署名という仕組みに否を突き付けている人が多くて困惑している - 発声練習
                                                            • Webフロントエンド開発で役立つサービスまとめ - Qiita

                                                              この記事では、Webフロントエンド開発において役に立つと思われるサービスやツールをまとめます。 全般 Can I use 指定した特定の機能が、どのブラウザのどのバージョンで利用可能かを確認するためサービスです。新しいJavaScriptのAPIやCSS3の機能を使ってモダンなWeb開発を行う場合、必須とも言えるくらい利用することになります。 指定した国におけるブラウザのシェア情報をもとにして、特定の機能が何割のユーザーで使用可能かを調べることもできます。 npm / webpack BUNDLE PHOBIA 指定したnpmパッケージのサイズを調べるサービスです。近年のWebではページの表示速度が非常に重要視されており、Webサービスにバンドルするパッケージのサイズも極力小さくすることが求められています。パッケージのサイズを調べる方法は多々ありますが、このツールの場合はパッケージ自体のイ

                                                                Webフロントエンド開発で役立つサービスまとめ - Qiita
                                                              • MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                こんにちは。クラウド運用チームで SRE をしている飯塚です。 今回は、MySQL のレプリケーション機能を約10年もの間ずっと使ってこなかった私たちが、レプリケーションを使った高可用性構成に移行するための取り組みの中で学んだことについて紹介します。 背景 巨大なテーブルへの primary key の付与 トランザクションサイズが大きい場合には tmpdir に注意 mysqldump で絵文字が消えていないか要チェック mysqldump が Error 1412: Table definition has changed... で失敗する mysqldump したデータのリストアが Duplicate entry 'xxx-yyy-PRIMARY-n_diff_pfx01' for key 'PRIMARY' で失敗することがある mysqldump したデータのリストア時のディスク

                                                                  MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • Oh Shit, Git!?!

                                                                  Gitって難しい。簡単にぐちゃぐちゃの状態になっちゃうし、失敗を直す方法を知ろうとしたところでまじくそ不可能。Gitのドキュメンテーションって卵とニワトリの問題みたいなところがあって、ハマりから抜け出すために知ってないといけない事柄の名前をあらかじめ知っていないと、どうやって問題を解決したらいいのか検索することすらできないんだよね。 だからここに、私が遭遇したことのあるよろしくない状況から、最終的にどうやって抜け出したかをフツーの日本語で書いていこうと思う。 くっそー、超絶やらかした。お願い、Gitには魔法のタイムマシンがあるって言って? git reflog # こうすると、Gitでやったことがすべてのブランチに渡って全部見えるよ! # どのブランチにも HEAD@{index} ってインデックスがあるはずだから # やらかす前のやつを見つけて git reset HEAD@{index

                                                                  • GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング

                                                                    Advent Calendar day 7 担当の vvakame です。 予告では Apollo Federation Gateway Node.js実装についてポイント解説 としていましたが、社内各所のご協力によりAdvent Calendarの私の担当日に間に合う形で公開できる運びとなりました。そのため告知とは異なりますが GitHub上のsensitive data削除の手順と道のり をお届けしていきたいと思います。 メルペイVPoE hidekによるday 1の記事で振り返りがあったように、今年、弊社ではCodecovのBash Uploaderに係る情報流出という事案が発生しました。当該インシデント対応において、プレスリリースにも記載のある通り、ソースコード上に混入してしまった認証情報や一部個人情報などの機密性の高い情報(sensitive data)について調査を実施し、対応

                                                                      GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング
                                                                    • Oh My Git! – git の使い方を学べるゲーム

                                                                      Oh My Git! は、バージョン管理ツール git の使い方を学ぶためのゲームです。 中央にgitツリーのグラフが表示され、手元にはgitコマンドを表すカードが配られます。 カードを使わずに右側のターミナルでコマンドライン操作することも可能。お題で出てきた課題を満たすためのカード/コマンドを正しく実行すると、右側の達成項目が緑に反転し、すべて達成すればそのレベルはクリアです。 commit を指定し、そこにカードを捨てることでカード上のコマンドを適用。 levels にあるステージ一覧から、好きな項目について遊ぶことが可能です。 カードを使っても解けますが、コマンドラインで解くと右端のボックスを黄色にすることができます。 ソースコードは GitHub で公開されていて、バイナリ版も Windows, MacOS, Linux 向けに提供されています。 テキストファイルで新たなlevel

                                                                        Oh My Git! – git の使い方を学べるゲーム
                                                                      • 開発生産性について議論する前に知っておきたいこと - Qiita

                                                                        はじめに 事業としてソフトウェア開発を行う企業にとって、自分たちの開発チームの生産性が十分に高いのか、あるいはそうでないのかについては大きな関心があります。 そのこと自体は、何かを計測し、改善するというのは営利企業としては健全です。一方で、ソフトウェアエンジニアリングの世界で「生産性の高さ」だと主張できる汎用性の高い指標は存在しません。こういった状況の中で、「生産性」を巡る議論は経営やビジネス部門とエンジニアチームとの間で繰り広げられ、場合によっては大きな不和や不信感につながることも珍しいことではありません。 今回は、エンジニアの開発生産性について、さまざまなステークホルダーと議論する上で把握しておきたいさまざまな論点について解説します。それによって、「我々が本当に議論すべきテーマは何か」についての共通認識をつくるための土台を構築することを目的としています。 もしかしたら改善したいことは「

                                                                          開発生産性について議論する前に知っておきたいこと - Qiita
                                                                        • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

                                                                          どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

                                                                            リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
                                                                          • 「なんのために作るか分からへん」と愚痴っていたらPMさんが救ってくれた話 - Qiita

                                                                            ※今回はほぼ実話です。 システム開発会社勤務 プログラマーワイ ワイ「さあ、今日も開発をしていこか」 ワイ「とあるWebサービスの管理画面を作らなアカンのや」 ワイ「今日は、どんな機能を作らなアカンのやったかな」 ワイ「せや、クライアントさんからもらった機能一覧.xlsを見てみよか」 ワイ「あとは、デザインデータも見ながら、詳細設計書でも作っていこか」 ワイ「・・・ふーむ、作るべき機能の一覧は書いてあるんやけど」 ワイ「なんか、やる気が出ぇへんなぁ」 ワイ「仕方ないから、社内のSlackで愚痴っとこか」 ワイ「今のプロジェクト、誰のために何を作ってるのかがイマイチ分からんから」 ワイ「モチベーションが上がらへんなぁ」 ワイ「この管理画面を使って、どんな課題を解決したいのか」 ワイ「どういう風にユーザーさんの業務をうまく回したいのか」 ワイ「そんなんがピンと来てないから、作るべきモノもはっき

                                                                              「なんのために作るか分からへん」と愚痴っていたらPMさんが救ってくれた話 - Qiita
                                                                            • DBMSをGoで実装してみた - Sansan Tech Blog

                                                                              こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義

                                                                                DBMSをGoで実装してみた - Sansan Tech Blog
                                                                              • マイクロサービス設計原則: SOLIDではなくIDEALS

                                                                                キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte

                                                                                  マイクロサービス設計原則: SOLIDではなくIDEALS
                                                                                • Reactを自作しよう

                                                                                  この記事は Build your own React を翻訳したものです。 Reactを1から書き直していきます。 実際のReactコードのアーキテクチャに従いますが、最適化機能と必須ではない機能は今回は実装しません。 Step 1: createElement関数 Step 2: render関数 Step 3: 並列モード Step 4: ファイバー Step 5: Render Phase と Commit Phase Step 6: 差分検出 Step 7: 関数コンポーネント Step 8: Hooks Step 0 復習 最初にいくつかの基本的な概念を確認しましょう。 React、JSX、およびDOM要素がどのように機能するかをすでに理解している場合は、この章はスキップしても構いません。 今回は、次のわずか3行のコードをReactアプリの例として使用します。 const ele

                                                                                    Reactを自作しよう