Building Better People: How to give real-time feedback that sticks.
![超入門 SRE](https://cdn-ak-scissors.b.st-hatena.com/image/square/ed9a079fed10b485ef62e27360b00c71276cd0ca/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fa1b65c825bf34126a6d701c5d2687ddc%2Fslide_0.jpg%3F30761072)
OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。
今更聞けないDockerのしくみ(「Dockerとは?」から「docker-composeファイルを1人で作れるようになる」まで)RubyRailsDockerdockerfiledocker-compose はじめに なんとな〜くdockerを使い始めてはや4年ほど。 既存のプロジェクトにアサインされた場合はdockerファイルに何が記載されているかなんて意識せずコマンドを実行するだけで、何か自分で一から作る時は、誰かが作ったものをどこからか持ってきて済ませていた。 こんな感じなのでdockerをなんとなく扱えてはいるが細かいところを全く理解できてない。 今回は人に説明できるくらい理解できるようになろうとした男の記事です。 ハンズオン形式でやっていきますので一緒に手を動かしながらやってみていただけると嬉しいです。 対象とする読者 これからdockerをは0から理解したい人 なんとなくdo
Read this article in English. はじめに 見つけやすく、インストールしやすいソフトウェアパッケージは、開発者にとって使いやすいです。React、Ruby on Rails、Airflow のような有名な OSS は良い事例です。しかし、社内の非公開のコードは、企業秘密として世間から隠されることが多いです。権限を持っている人のみ見ることができて、オープンソースのように npm gem や pip で簡単にインストールすることもできません。 その結果、社内のコードがうまく再利用されなくなる(あるいはできなくなる)ことがあります。各チームはそれぞれ独立したコードベースを持ち、他のチームにコードを共有したくても、満足がいく解決策を導き出すことが難しかったりします。戦略を立てないままでは、それぞれの独立したコードベースを充実させ続け「社内共通のライブラリー」が遠い夢のよう
はじめに 今回はエンジニア向けのチートシート集のまとめを紹介していきます。 チートシートを利用することで 作業効率が上がる 概要が掴みやすい 学習にもなる といった恩恵が得られます。 ただし前提として毎回コードを書くたびに「チートシート集でカンニングすればええや」と思うのではなく「最初はチートシートでカンニングしつつ徐々に体で覚えていく」ことを意識して使うことが大切です。 最終的にはチートシートは見ずに「自分の使える技術」として定着させるための道具だと思って使ってください。 この記事の対象者 エンジニア初心者~中級者 作業効率を上げたい人 コードを書くテクニックを知りたい人 VsCodeチートシート はじめに紹介するのはエンジニアなら必ず使うであろうVsCodeのショートカットチートシートです。 VsCodeのショートカットは大幅に作業効率を上げてくれます。そのため早い内からショートカット
ソースのURL デモ動画 なぜOSSにするのか? 2021年7月〜11月にかけて、アーティストが独自の音楽ストリーミングアプリを作れるサービスを開発していました。 事業として上手くいかなそうで、事業撤退するのでOSSにします。 LPはこちらです。 -> https://origify.app/ このソース誰得? SwiftUIを使って音が流れるようなアプリケーションを作りたい人 なぜ作ったのか? 地元の山梨で活動している同じ中学だったアーティストが 「CDが売れない。ストリーミングの分配率が低い。」などの 悩みを抱えていたので、 その悩みを解決したいと思い、このサービスを作り始めました。 サービス名はOrigifyです。 事業がうまくいきそうだったら、VCから資金調達をして、サービスを始めようと思っていました。 なぜこの事業を撤退したのか? 権利関係が難しい Apple StoreとGoo
この記事について Webエンジニアになって早1年半。railsのデバッグをする時にはエディターのデバッガーでスマートにできていたが、javascriptになるといつもconsole.log();ばかりを使って原始的なデバッグをしていた。。。 そんな脳筋な過去の自分に教えてやるための記事です。 console.log({変数名}); 「いきなりconsole.log();の紹介かい!!!」って思われるかもしれませんが、この技を知ったときは「なんで知らんかったんや。。。」って思うくらい便利だったので最初に紹介します。 以下のようなHTMLがある場合 <form> <input type="text" value="名無しの権兵衛" id="name"> <input type="text" value="80歳" id="age"> <input type="text" value="バスケ"
米GitHubは8月11日(現地時間、以下同)、ソースコード共有サイト「GitHub」上でコードエディタ「Visual Studio Code」のWebブラウザ版を起動できる機能「Codespaces」のβ版を公開した。Twitterでは「便利すぎる」などと、ITエンジニアを中心に話題になっている。 ユーザーはGitHubのリポジトリ画面で「.」(ドットキー)を押すとVisual Studio Codeが起動する。個人ユーザーは当面無料で利用でき、チーム向けや企業向けのプランを利用している法人ユーザーも9月10日までは無料で試用できる。 法人向け料金は従量制で、計算に使用するCPUの性能と利用時間で変動する。最も安い2コアのCPUを使う場合は1時間で0.18ドル(約20円)。使用したデータの容量1GB当たり0.07ドル(約7円)も月額で別途請求する。 Visual Studio Codeは
Photo by Jexo on Unsplash はじめに Pythonは、主にそのシンプルさと習得のしやすさから、最近では非常に人気があります。 データサイエンスや機械学習、ウェブ開発、スクリプト記述、自動化など、幅広い分野で利用することができます。 この記事はかなり長いので、すぐ始めましょう。 1. forループのelse条件 今までにPythonのあらゆるコードを見てきたとしても、次のfor-elseは見逃している可能性があります。私も数週間前に初めて見ました。 これはリストを繰り返すfor-elseメソッドで、リストを反復処理しているにもかかわらずelse条件もあるという、非常に珍しいものです。これは、JavaやRuby、JavaScriptなどの他のプログラミング言語では見られません。 実際にどのようなものか、例を見てみましょう。例えば、リストに奇数がないか調べているとします。
自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。Unity や RPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実
今さらながら『Go言語でつくるインタプリタ』のとおりにMonkey言語を作ってみました。個人的に名著だと思います。 実際に買ったのはKindleの日本語版です。 英語版はこちら。 公式サイト↓には既に続編の「Writing A Compiler in Go」もありますので、こちらもそのうちやってみたいです(やってます)。 サイト: Writing An Interpreter In Go | Thorsten Ball サイト: Writing A Compiler In Go | Thorsten Ball 同書の特徴 同書の大きな特徴は「読みながら実際に作ってみる」ことを主眼においていることです。 それなりの規模のプログラミング言語を作ろうとすると、昔は(今でも)yaccやlexといったツールを使うことがよくあったようです(なおRubyの場合はbison(yaccの実装のひとつ)以外は
皆さん異世界転生ラノベをご存知ですか?チートし放題な主人公たち好き勝手しやがってとか思っています?最近は「初級魔法で無双する」「生活魔法で無双する」みたいな話流行ってますよね。 でも、別に異世界なんていかなくても、転生しなくても、プログラミングのチートスキルなんて簡単に身につけられるんですよ。 ※ここでいうチートスキルは本来の意味のチートではないのでご注意ください。そっちのスキル身につけるのは楽しいかもしれませんが、本筋ではありません。 ※ここでいう「初級魔法」はラノベ読まない人の想像する初級魔法ではないことがほとんどなのでご注意を 特定のプログラミングスキルを身につけると、派生スキルが勝手にポコポコ生えてきたり、派生スキルの習得コストが圧倒的に安くなります。 たとえば、なにか一つのプログラミング言語をマスターした人なら、他のプログラミング言語を覚えるときのコストが低くなるというのは直感的
前置き すごく手間のいる作業が存在していた。ざっくり スプレッドシートを複製 運用管理ツールからjsonを複数DL シミュレータ実行 シミュレータ実行結果をスプレッドシートに貼り付け 目視で結果確認(NGならリトライ) スプレッドシートからExcelファイルexport メール&Slackで報告 実質的な作業時間としては10~20min(リトライあるともっと)かかるが、色んなツールが必要だからとにかく面倒。 図にするとこんな感じ 環境 masOS Mojave ver10.14.6 Python 3.7.3 pip 19.2.2 激効率化(自動化)した結果 パラメータ指定なしのコマンド一つで、欲しかったExcelファイルが作成されるようにした 自動化のポイント 1. 運用観点 無駄は無くしていこうな方針で2点対応。 1-1. スプレッドシートの廃止 シミュレート結果の確認+Excelファイ
最近はすっかりFlutterエンジニアになってます。id:kikuchy です。 Diverseが提供するサービスの一つに、youbrideという婚活サービスがあります。 youbride.jp この6月に、youbrideはAndroidアプリのデザインリニューアルを行いました。 youbrideアプリのデザインが大きく変わりました! 変わったのは見た目だけではありません。 新アプリには、マルチプラットフォームフレームワークのFlutterを採用しています。 flutter.dev 近々、iOSアプリもFlutterで開発したバージョンに置き換える計画が進行中です。 そして、APIサーバーもRuby on Railsを使ったものに置き換えています。 rubyonrails.org サーバーとクライアント間の接続にはgRPCを使用しています。 grpc.io 構成はこうなっています なぜy
scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false
やりたいこと データを変形・加工するスクリプトをURL上にホストをして、 ポータブルで永続的でブラウザで完結するWebアプリを作れるようにします! Rubyはデータ加工に最適! Rubyは豊富なメソッドが標準で用意されていて、特にArray, Enumerator, Stringなどよくデータを加工したいときに使えるメソッドがとても豊富です。 メソッドチェーンでつなげていけるところが、人の思考にあっていて、どんどんデータを変えていけるところがRubyの良さだと思います。 そのためデフォルトの言語はRubyです。JavaScriptもオプションで選べるようになってます。 そこで、 データ加工に便利なRubyで書いた小さいWebアプリをURL上にホストします! URLにすべてのコードを載せてしまえば究極的にポータブルなWebアプリになるのではないかという発想です。Itty.bittyにインスパ
プログラミング未経験者にとって、どのプログラミング言語を選んだらいいのか?ということは、なかなか悩ましい問題です。 iOSアプリを作りたいのであればSwift、HPを作りたいのであればHTML&CSSから…と作りたいサービスが決まっていれば選びやすいですが、プログラミングって何なのかさっぱり分からないけど、とにかく勉強してみたい!という方も多いはず。 そこで、このプログラミング言語を勉強すればこんなサービスが作れるよ!という観点から言語を決めるために、初心者でもとっつきやすいProgateで実際に作れるWEBサービスやアプリをチェックしてみましょう! Progate -楽しく学べるプログラミング学習アプリ Progate 教育 無料 Rails TwitterのようなSNSサービスが作成できます。TOPページ、投稿画面、投稿一覧などがつくれます。 PHP PHPは料理注文サービスを作成でき
ref: https://www.lambdanote.com/collections/frontpage/products/ruby-ruby おかげさまで、ASCII.jp で連載していた『Ruby で学ぶ Ruby』が紙の本になる運びとなりました。わーい。『Ruby でつくる Ruby ― ゼロから学びなおすプログラミング言語入門』と微妙にタイトルが変わったので注意。 一番大切なことを先に言っておくと、書店に並ぶ予定はありません。ラムダノート株式会社という出版社の直販サイトで購入できます。アスキーじゃないの?と聞かないでください。追記:今はいろいろ購入方法が増えました。『Ruby でつくる Ruby』の購入方法をご参照ください。 ラムダノートは『型システム入門』のときにもお世話になった編集の鹿野さんが立ち上げた新しい出版社です。鹿野さんと高尾さんの編集コンビは、技術書については知る限
はじめに 趣旨 個人的にディープラーニングや機械学習を学習したいと思い、O'Reilly Japanさんから出版されているゼロから作るDeep Learningを読みました。 しかし、私自身に知識がなく、いまいちピンとこなかったので、簡単なものを作ってみようと考えました。 とはいえ、せっかくなら自分の趣味でもある麻雀に関わるところで作ろうと考えました。 筆者のスペック Python、機械学習ともに初心者 普段はPHPやRubyを使ったWebのお仕事 環境 Python 3.6.0 bottle 0.12.13 heroku 機能概要 作成したアプリは下記になります。 https://python-mahjang.herokuapp.com/index また、ソースコードは下記になります。 https://github.com/naoki85/python_mahjong 配牌と結果のみを学
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く