ブックマーク / qiita.com/gold-kou (7)

  • GoのGCを10分で学ぼう  - Qiita

    はじめに GoのGC(Garbage Collection)を調べる中で学んだことをなるべく分かりやすく簡潔にまとめたものです。 GCのアルゴリズムやメモリ割り当てについてまとめています。 記事内で使われている「オブジェクト」という用語はGoにおいては適切でないかもしれませんが、説明のしやすさから使用しています。 概要を把握しやすいように単純化しているため細部は正確でない部分があります。 GC基 用語集 前提となる用語です。 ルート ルートとは、オブジェクトが到達可能か(生存しているか)を判定するための始点です。 プログラミング言語にもよりますが、基的にメモリのスタック領域がルートになります。 フラグメンテーション フラグメンテーションとは、使用可能なメモリが断片化し途切れ途切れになっている状態です。 フラグメンテーションになってしまうと、総量的にはメモリが空いていてもアプリケーション

    GoのGCを10分で学ぼう  - Qiita
  • いまさらだけどgRPCに入門したので分かりやすくまとめてみた - Qiita

    はじめに gRPCという言葉自体はよく聞いていたのですが、「RESTと同じような立ち位置なんだよね?何が違うの?」という状況だったので調べてまとめてみました。 モダンな技術を採用している企業では、既にサービスで当たり前のように活用されている技術ですので、gRPCの基レベルで自信無い方は目を通してみてください。 gRPCとは gRPCGoogle謹製のHTTP/2を利用したRPCフレームワークです。 Protocol Buffersを利用し、データをシリアライズして高速なRPCを実現します。 (Protocol Buffers以外も利用可能ですが、デファクトスタンダードとなっているため、記事ではProtocol Buffersを前提に説明します。) protoファイルと呼ばれるIDL(Interface Definition Language)にAPI仕様を記述します。 また、IDLか

    いまさらだけどgRPCに入門したので分かりやすくまとめてみた - Qiita
  • いまさらだけどCircleCIに入門したので分かりやすくまとめてみた - Qiita

    はじめに 今度入社する会社では、JenkinsでなくCircleCIを使っているということなので、1から勉強した内容を初心者向けにまとめました。 また、最新バージョン2.1(2018/12時点)の新機能も記事では触れています。 ※2019/8/8追記 Slack連携に関する記事も書きました。 SlackCircleCIからカバレッジレポート通知を受け取る設定手順 ※2020/4/2追記 https://twitter.com/CircleCIJapan/status/1245253320551399424 CircleCIさんより、記事を紹介いただきました! なお、記事は初回投稿時(2018/12)の情報がメインのため、ご留意いただきますようお願いします。 前提知識 CI/CDに関する入門レベルの知識 ymlファイルに関する入門レベルの知識 コンテナに関する入門レベルの知識 未学習

    いまさらだけどCircleCIに入門したので分かりやすくまとめてみた - Qiita
  • いまさらだけどDockerに入門したので分かりやすくまとめてみた - Qiita

    はじめに 今更ながらDockerに入門したのでまとめます。 全てのコマンドの細かいオプションとかまではやりません。 Dockerコマンド体系はv1.13以降の新系です。 ここではクラスタ管理(KubernetesやSwarm)については対象外です。別記事でそのうちまとめます。 ※記事は投稿された2018年08月08日時点の情報が主になります。 勉強背景 この記事から強い危機感を覚えました。 Dockerは世の中では当たり前の技術。せめて、少し触ってみて基的な知識くらいは身につけなければ。。。。 TL;DR(5行) Dockerは既存のLinuxカーネル機能から成り立っている イメージを共有していろんな人がいろんなところで簡単にイメージからコンテナを起動できる Dockerコマンドでコンテナを1つ1つ命令する Dockerコマンドめちゃ叩くのはだるいからDockerfileで楽しちゃおう

    いまさらだけどDockerに入門したので分かりやすくまとめてみた - Qiita
  • いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita

    はじめに Gitをそこそこ使いこなすにあたって必要な基礎知識やコマンドをまとめました。 Gitは少しかじったけど挫折したくらいの人が対象レベルになるかと思います。 当方、Subversionをまともに触ったことないゆとり世代なので集中管理型との違いとかはよく分かりません。 一部諸事情のため、XXXXXで情報を隠蔽しています。 この記事長いです。。。 Gitとは 分散型バージョン管理システム。 今時ソースコードなどをバージョン管理するってなったらGitを使うことになるでしょう。 GitHub(Enterprise含む)とかGitLabとかGitBucketとかBitBucketとかGitのサービスは複数ありますが、どれを使うかはチーム事情や会社事情などから決まる。 ローカルにリモートリポジトリの複製を作成するため、複数人が各々のローカルで変更履歴を利用して自由にファイルの編集やローカルコミッ

    いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita
  • 【Python入門】いまさらだけどパイソニスタとして必要な文法を網羅してみた - Qiita

    はじめに Pythonの対象バージョンは3系です。(2系でも通じるものは多いはず) 対象読者レベルは他言語を軽くでも触ったことある人です。「あー、Pythonだとこれはこう書くのねー」が網羅的に分かるようにまとめたつもりです。 ここではWEBアプリケーションフレームワーク(DjangoとかFlaskとか)に関してはほぼ触れません。 @shiracamus 多くの有益なコメントと編集リクエストありがとうございます。 Python開発環境構築 下記(私の記事ですが)はWindowsでの構築となっていますが、Macでもほぼ同じ通りにできます。 今からWindowsでベストなPython開発環境を構築する手順 Pythonについて 今最も勢いに乗っているプログラミング言語。 オブジェクト指向。Pythonでは全てがオブジェクト。 動的言語(スクリプト言語)のため、変数宣言時に型を明示的に定義しない

    【Python入門】いまさらだけどパイソニスタとして必要な文法を網羅してみた - Qiita
  • 認定スクラムマスターの俺が正しいスクラムの理論をまとめてみた - Qiita

    はじめに いきなり質問ですいません。 「アジャイルの反対」ってなんでしょう? ・・・ ・・・ ・・・ もし、「ゆっくり」とか「ウォーターフォール」みたいな単語が頭に浮かんだ方はこの記事で学べることが多くあるかもしれません。 質問の答えは最後に記載しています。 参考文献 アジャイルソフトウェア開発宣言 アジャイル宣言の背後にある原則 スクラムガイド スクラム入門 Scrum Boot Camp 認定スクラムマスター研修 アジャイル スクラムの前にアジャイルに触れておく。 アジャイルとは アジャイルとは、より良い解決方法を探している状態である。 "状態"なので、よくある「アジャイル開発をやろう!」というのはおかしくて、振り返ってみて「あれはアジャイルだったなー」ってなるものだ。"Don't just do agile, be agile."という名言があるくらい。だから、極端な事を言うと、より

    認定スクラムマスターの俺が正しいスクラムの理論をまとめてみた - Qiita
  • 1