初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる
初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる
本当はGo月Go日に書きたかったけど、ビール飲んで寝てしまったの今日(Go月6日)になりました。 Goのインタフェースは、明示的に実装する必要がなく、インタフェースが定義するメソッドリストをその型が持っていれば、そのインタフェースとして振る舞えます。 構造体に埋め込んだ型が持つメソッドについても、埋込み先の構造体のメソッドの一部としてみなすことができるため、インタフェースの実装の頭数に入れることができます。 インタフェースの実装と埋込みの関係についてはインタフェースの実装パターンという記事に詳しく書いているのでそちらを参考にしてください。 さて、埋込みによって構造体にインタフェース実装させるパターンは思ったよりも使えます。なぜなら、埋込みは単なる匿名フィールドに対して、インタフェースは実装を隠し、型を抽象化ができるからです。このパターンは、共通部分を抜き出して、それを複数の型で使う場合に非
こんにちは、食べログシステム本部長の京和です。 本エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 食べログではユーザーや飲食店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、
本記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています
AWS学習を始めようと考えている人 「AWSとは、概要や全体像、メリットデメリットが知りたい」 「AWSの学習方法が知りたい」 こういった疑問に答えます。 本記事のテーマ 【AWS初心者向け】AWS学習方法まとめ【15時間で達成できる】 AWS学習の始め方 AWSやクラウド初心者の方がAWSを学ぶための方法を纏めました。 ①クラウドを学ぶ ②AWSの概要を学ぶ ③知識の定着(AWS公式ハンズオン実施) ④AWS運用の現場に参画 知識定着のため、インプット、アウトプットのバランスを考えてまとめています。 IT基礎知識(基本情報技術者レベル)がある前提になっていますので、 インフラ基礎知識が足りていないと感じる方には下記の記事もおすすめです。 記事の信頼性 筆者はAWS経験5年程度です。AWS資格は5冠達成しました。 現在は大規模ECサイトのAWS運用を任されるようになっています。 今回紹介し
Go 1.13がリリースされ、Go 1.12 時代から Go Modulesを利用していたプロジェクトでは、go.modファイルのGoバージョンを変更したいですね。 go.modファイルはgo mod editで変更を加えることができます。go helpで使用方法を見ると、editing flagsというflagを指定することでどのように変更を加えたいかを指定します。 $ go help mod edit usage: go mod edit [editing flags] [go.mod] Edit provides a command-line interface for editing go.mod, for use primarily by tools or scripts. It reads only go.mod; it does not look up information
Dockerfileとは Dockerイメージの中身を定義する設定ファイルになります. Vagrantを利用した方がある方は,Vagrantfileを思い出して頂くとイメージしやすいかも知れません. 題材 https://github.com/tozastation/gRPC-Training-Golang を使って説明していきます.APIサーバのイメージ作りです. Dockerfileに記載する流れ ベースとなるイメージの指定 プログラムを動作するのに必要なパッケージの導入 ポート開放 プログラム起動コマンド Dockerfile(Multi Stage Build) 以下Dockerfileの例になります. FROMが2箇所あると思います. イメージを2個取得していることになりますが,これには理由があります. golang:latestというイメージの中にはGoの実行環境が入ってる訳だ
この記事はリクルートライフスタイル Advent Calendar 2015 - Qiita の17日目です。 こんにちは。現在、ホットペッパーグルメのエンジニアをやっている敷地@shikicheeです。 gitで英語のコミットメッセージどう書けばいいの? と思ったことはありませんか? 英語で書きたいなーって思っても、いざ書くとなると躊躇しますよね。 ネイティブはどう書いてるのでしょうか。 そこで、github上で実際に使われているコメントを解析し、 よく使われている例をまとめてみました。 解析したデータ github上で1万スター以上を獲得している169リポジトリのコミットメッセージを対象としました。 bootstrap、jquery、react、d3、docker、node、tensorflowなどの有名なプロジェクトばかりなので、良いコメントが期待できます。 解析するコミットメッセー
概要 ※この記事は弊ブログ記事(はてな)、Kubernetesの負荷試験で絶対に担保したい13のチェックリストと同内容です ここ最近、Kubernetesクラスタを本番運用するにあたって負荷試験を行ってきました。 Kubernetesクラスタに乗せるアプリケーションの負荷試験は、通常の負荷試験でよく用いられる観点に加えて、クラスタ特有の観点も確認していく必要があります。 適切にクラスタやPodが設定されていない場合、意図しないダウンタイムが発生したり、想定する性能を出すことができません。 そこで私が設計した観点を、汎用的に様々なPJでも応用できるよう整理しました。 一定の負荷、スパイク的な負荷をかけつつ、主に下記の観点を重点的に記載します。 Podの性能 Podのスケーラビリティ クラスタのスケーラビリティ システムとしての可用性 本記事ではこれらの観点のチェックリスト的に使えるものとして
この記事について この記事は、Docker Desktopのチュートリアルを和訳したものです。 公式のチュートリアルなので、安心して、かつ効率的に学習することができます。 Docker DesktopからDocker Hub、Docker Composeまで網羅されているので、初学者がDockerに初めて触れたり、中級者が基礎を振り返るのに最適です。 翻訳元のチュートリアルは、2021/10/7時点で最新のものです。長い時間が経過している場合、情報が古くなっている場合がございますのでご注意ください。 読者に誤解を与えない部分は、読みやすさを重視して適宜意訳しています。 DeepL等を使用して推敲は行っていますが、間違っているところやより良い表現があれば、編集リクエストをお願いいたします。 翻訳元 getting-started : https://github.com/docker/get
kubernetesでもぷよぷよがしたいので同じ色のPodが4個くっついたらdeleteされるcustom controller「くべくべ」を作ったGokubernetes Kubernetes使ってると、Nodeにえらい数のPodが溜まってくじゃないですか。消したくなりますよね。連鎖してほしいですよね。なりません?なので、4つ同じ色のPodが4個くっついたらdeleteされる、爽快感のあるカオスエンジニアリング用のcustom contollerを作りました。 deleteされるだけでは寂しいので、deleteされていく様子を見るためのkubectl pluginも作りました。合わせて使うとこんな感じになります。 左側の●のひとつひとつがPodです。Nodeが列に対応してます。6Node構成です。各色8個ずつpodを立てていて、右側にreplicasetの増減を置いてみました。 レポジト
JavaScript苦手・・という状況からJavaScript好きになれるロードマップ(多分) 全編ほぼ動画なので、とっても見やすい。挫折しづらい。 全体的な流れとしては、動画見る ▶︎ コードを書いて学習の流れです 個人的に好きなエンジニア系Youtuberのお二人の動画がメインになります Yahoo!出身のエンジニア しまぶーのIT大学さん Web万屋エンジニアチャンネルさん LEVEL ☆ JavaScriptってなに? そもそもJavaScriptって何?フロントエンドって何してるの?ってレベルを解消 フロントエンド基礎編 / 約40分 LEVEL ★ JavaScript入門編 JavaScriptをマスターするならHTMLを知っておかないかん by 弊社マネージャー HTMLの基礎から、JavaScriptの全体像を学習できます。 HTML入門編 / 約43分 JavaScri
「な、なんじゃこりゃあああぁあっtっt!!!!」 ・・・ ・・・ ・・・ 非同期処理を"ちゃんと"理解して使いたい 『非同期処理なんとなくの理解で書いている...』 『動いてるし、ヨシ!』 令和プログラマー*1である私自身、なるべく気を付けようと思っていますが、ついついなんとなくで書いてしまいそうになります。 (*1: 令和になってからプログラミングを知った人。初心者のこと。) ちなみに冒頭のコードは、「並列でいける処理をつい直列でやってしまっている」 例です。 実際に手を動かしながら非同期処理の理解を深める 本記事は以下の構成で、順を追って非同期処理を学習し、明日から自信を持って非同期処理が書けるようになるためのハンズオンです。 JSの非同期処理について知る Promise について知る Async / Await を使えるようにする 冒頭のコードがリファクタリングできるようになる 実際
最近Chrome DevToolsについて調べていて発見した便利機能を紹介します。 誰もが使える最高便利な開発マシンChrome DevToolsを使いこなして開発体験を変えましょう! 1. $0で選択中のDOM要素の取得 特定の要素に何かしたいという時には、要素のIDやclassを確認してConsoleでdocument.querySelector("#xxx")で取得するというのが一般的だと思います。実はそれはカーソル選択と$0で代替できます。 Classや、IDがついていない特定のDOMを取得したい時とかにも使えるので地味に便利です。 手順 カーソルで取得したい要素を選ぶ Consoleタブで$0を入力 最近知ったChrome DevToolsの便利機能① $0 での選択中のDOM要素取得 Elementsタブで選択状態のDOM要素は、Console上で $0 を入力することで取得で
ウェブ・セキュリティ基礎試験を受験してきました。 とてもいい資格なので少しでも合格者が増えるように勉強方法含め情報共有します。 ウェブ・セキュリティ基礎試験とは 徳丸本の愛称で有名な体系的に学ぶ 安全なWebアプリケーションの作り方の理解度を問う試験です。 問題作成をご担当されている徳丸先生にちなんで徳丸試験と呼ばれています。 Webアプリケーションを開発するにあたって、知っておくべきセキュリティや脆弱性の知識を身に付けることができます。 「徳丸本読まずしてWebアプリケーションを作るなかれ」と言うぐらい必須の知識です。(私が勝手に言ってるだけです。) 詳細は以下をご覧ください。 https://www.phpexam.jp/tokumarubasic/ 試験の基本情報 試験の形式は以下の通りです。(執筆時点)
概要 go-playground/validatorを用いたバリーデーションパターンをREST APIのリクエストパラメータでよく使われそうなケース別にまとめてみたのでご参考ください。 validatorはプリミティブな変数単位でも使用できますがここではリクエストパラメータを想定した構造体をメインに書いています。 go-playground/validatorとは https://github.com/go-playground/validator バリデーションに特化したgolangのOSS。 バリデーション対象の構造体にvalidateタグを付けてちょっとしたDSLっぽくバリデーション内容が書けるのが特徴的。 チェックできる内容は必須パラメータの有無、数値、文字数の範囲、任意のフォーマット等々。 validateで定義されている予約語についてGoDocを参照 自分でバリデーション用の予
0 はじめに プログラミングコンテストチャレンジブック (通称、蟻本) は日本の競技プログラミングの普及に多大な貢献を果たしています。多くの競技プログラマたちが蟻本を手に取りながらコンテストの世界に没入して行きます。しかしながら発売から 6 年以上経過する間に競技プログラミング界隈には大きな変化がありました。蟻本的に影響が大きいのは以下の点です: POJ が国内ではあまり使用されなくなった (計算速度が遅いなど) AtCoder 上で問題を解くことが盛んになった 今回はこの完全解決を試みます。具体的には、蟻本に載っている例題たち (ほとんどすべて POJ 上の問題です) を AtCoder 上でジャッジできる問題に対応付けようという試みです。今回は初級編を扱い、中級編、上級編は別記事に続きます。AtCoder 上で見つからなかったものは AOJ, yukicoder 上の問題も載せています
ウェブアプリケーション開発における、現代的なCSSの基礎技術についてまとめました。 ちまたには「CSSとは何か」を学ぶ教材はたくさんあっても、「CSSをどうやってうまく使うか」についてはあまり詳しく触れられません。 仕様をたくさん記憶したところで、いつになっても開発力はあがらないのです。 本記事は「CSSをうまく使う技術」に焦点をあてて、実際に現代的なウェブアプリケーションに求められるレベルのCSSを書くための知識を紹介します。 特に プログラミング経験はあるもののウェブフロントエンドの経験が浅い方 初級レベルのCSSはある程度理解したものの、次にどうしたらいいかわからない方 にお勧めです。 プロローグ CSSの書き方は一通りではありません。 好きな書き方を自由に選ぶことができます。 これは一見すると良いことですが、裏を返すと最適ではない書き方がたくさんあるということです。 この場において
はじめに 本記事はQiita夏祭り2020の 「 〇〇(言語)のみを使って、今△△(アプリ)を作るとしたら」のテーマ記事となります. 皆さん,シェルスクリプトは書いてますか? 私は最近になってシェルスクリプトを書くようになったのですが,触って見たら意外と面白いなと思うようになりました. そんなこんなで今回はシェルスクリプトでWebサーバ作ってみようかと思い立ちました. ネタとしては何番煎じかわからないくらいありきたりですがご容赦ください🙇♂️ 作ったもの ポート4000でHTTPリクエストを受けてstatic配下のhtmlファイルを返すWebサーバをShellScriptで作成しました. 拙いコードですがGitHubにコードをおいておきます. リポジトリへのリンク 実装方法 以下では最も初期の状態からどのように肉付けを行ったかを順に述べていきます. 開発環境はmacOSでシェルの動作は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く