えにしテックさん15周年記念イベントでのトーク資料です。
![えにしテックさん15周年に寄せて〜万葉と私のこれまでの学び〜](https://cdn-ak-scissors.b.st-hatena.com/image/square/916280acc270f27ba6151cd6be3a067c9b264e5a/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F8914b4e75662493baa84424b5e1497c4%2Fslide_0.jpg%3F30806866)
どうも。小林です。 みなさん、自動化してますか? 私の課では特定の顧客のシステムを多数運用しています。 かなり多くのシステムがあり、顧客側の担当者も異なるため、弊社側でも複数のチームを組んで手分けしてシステムを担当しています。 チームも顧客担当者も異なるとなれば、当然運用のやり方はシステムごとに変わってきます。その一方で統一できる部分は統一しておかないと全体の統制は効きづらくなってしまいます。 そこで「標準化チーム」を発足し、チーム間で共用するシステムのアカウント管理やその申請ルール、顧客報告やメンバーの勤怠管理といったものの標準化を進めています。 標準化の恩恵のひとつとして、「作業が単純化できて自動化しやすくなる」という点が挙げられます。 例えばアカウント発行の申請フォーマットを統一すると、「フォーマットにしたがって記載されたテキストをバッチに読み込ませてアカウントを自動的に発行する」と
このマニュアルでは、Webアプリケーション全般におけるセキュリティの問題と、Railsでそれらの問題を回避する方法について説明します。 このガイドの内容: 本ガイドで取り上げられている問題に対するあらゆる対策 Railsにおけるセッションの概念、セッションに含めるべき項目、有名なセッション攻撃 Webサイトを開くだけで(CSRFによる)セキュリティ問題が発生するしくみ ファイルの取扱い上の注意、管理インターフェイスを提供する際の注意事項 ユーザーを正しく管理する(ログイン・ログアウトのしくみ、あらゆるレイヤにおける攻撃方法) 最も有名なインジェクション攻撃方法の解説 1 はじめに Webアプリケーションフレームワークは、Webアプリケーションの開発を支援するために作られました。フレームワークの中にはセキュリティを比較的高めやすいものもあります。実際のところ、あるフレームワークは他のよりも安
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rewriting the Ruby parser | Rails at Scale 原文公開日: 2023/06/12 原著者: Kevin Newton サイト: Rails at Scale | The Ruby and Rails Infrastructure team at Shopify exists to help ensure that Ruby and Rails are 100-year tools that will continue to merit being our toolchain of choice. 日本語タイトルは内容に即したものにしました。 なお、本記事では「パーサー」(parser: 構文解析器)はカタカナで、lexer(字句解析器)は英ママで表記します。 参考: 構文解析 - Wikip
「リーダブルなテストコードについて考えよう ~VeriServe Test Automation Talk No.3~」で使用したスライドです。 https://veriserve-event.connpass.com/event/243280/ 登壇動画はこちらで公開されています。 https://vimeo.com/742517199/e001ac43ac <参考リンク> Twitter https://twitter.com/jnchito Blog https://blog.jnito.com/ Qiita https://qiita.com/jnchito プロを目指す人のためのRuby入門[改訂2版] https://gihyo.jp/book/2021/978-4-297-12437-3 Everyday Rails - RSpecによるRailsテスト入門 https://
NECサイバーセキュリティ戦略本部 セキュリティ技術センター インテリジェンスチームの郡司です。今週のセキュリティブログでは、プログラミング言語のパッケージ管理ツールに潜む危険性に関する話題をお届けします。 最近のプログラミング言語にはたいてい「パッケージ管理ツール(およびパッケージリポジトリサービス)」があります。自分が作成したライブラリをパッケージという形にまとめてリポジトリに公開したり、逆に他人が作成したライブラリをリポジトリからパッケージとして追加したりといったことが簡単にできるプラットフォームが提供されています。たとえばプログラミング言語PythonではPyPI[1] 、Node.jsではnpm [2]、RubyではRubyGems [3]などです。自分が欲しいと思っている機能を誰かがすでに実装してパッケージとして公開しているのであれば、機能を一から開発しなくても、誰かが作ったパ
English version 要約 dockerはデフォルトでセキュリティ機構(Spectre脆弱性の対策)を有効にします。この影響で、RubyやPythonのようなインタプリタは速度が劣化します。特にCPU律速なプログラムで顕著に遅くなります(実行時間が倍くらいになることがあります)。 現象 Rubyで1億回ループするコードを、直接ホスト上で実行する場合と、docker上で実行する場合で実行時間を比較してみます。 直接ホスト上で実行した場合: $ ruby -ve 't = Time.now; i=0;while i<100_000_000;i+=1;end; puts "#{ Time.now - t } sec"' ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] 1.321703922 sec docker
こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 今日は、WANTEDLY TECH BOOK 6 から「gRPC Internal」という章を抜粋して Blog にします。 「WANTEDLY TECH BOOK 1-7を一挙大公開」でも書いた通り、Wantedly では WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布する事にしました。Wantedly Engineer Blogでも過去記事の内容を順次公開予定であり、この Blog もその一環となっています。 Wantedly における Go 導入にまつわる技術背景 | Wantedly Engineer Blog (本記事は Go Conference 2019 Autumn にて無料配布した冊子『WANTEDLY TE
For the past three years, I've been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optim
はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby
Format Apache Arrow defines a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware like CPUs and GPUs. The Arrow memory format also supports zero-copy reads for lightning-fast data access without serialization overhead. Learn more about the design or read the specification. Libraries Arrow's libraries implement t
オートマトンを実装するための方法として、ある状態において、どの文字を受け取ったら、次の状態がどれであるかを表で表現する事ができます。今入力として1バイト受け取ることを考えると、1バイトは0-255の256通りなので、状態を整数で表すとして、以下のように2次元配列で表現できます。 static const signed char trans[][0x100] = { { /* S0 0 1 2 3 4 5 6 7 8 9 a b c d e f */ /* 0 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, /* 1 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, /* 2 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, /* 3
「ゼロからわかる Ruby🔰超入門」という本を書きました。共同執筆での作業を効率的に進められるように、編集者・レビュワーさんを含め、みんながいつでも最新の原稿を確認できるように環境を整えました。ここでは、技術面・環境面で工夫したこと、得た知見を共有します。書籍に限らず、技術文書の作成にも使えます。 はじめに この本は、 @igaiga さんと共同で執筆しました。イラストを描いてくれた @becolomochi さんを含めて、3人での共同作業でした。原稿を書いてから公開するまでのフローはこんな感じです。プログラミングでの開発に似ています。 原稿を書く (Asciidoc, Atom, Visual Studio Code) 共有する (GitHub, Slack) HTML/PDF形式に変換する (Rakefile, CircleCI) 限定公開する (docker, nginx) Ste
Wireshark という強力なプロトコルアナライザーがあります。多くのプロトコルをサポートし、「どんなパケットが流れているか分からないが、プロトコルスタックの深いところまで解析したい」場合には 非常に頼りになります。 この記事では、いくつかのプログラミング言語上のバイト列を libwireshark を使ってパケット解析してみます。 直面している問題 ネットワーク運用のために、sflow をきちんと解析したいと思っています。netflow では、ネットワークの制約により 欲しい統計が取れないことがあるためです。 トラフィック制御のために、Q-in-Q、IPIP、GRE などのトンネルプロトコルの出番が増えた バックボーンを流れるときには、さらにMPLS ラベルやSegment Routing Header がつく このようにプロトコルスタックが深い場合、高価なASICであったとしても ネ
With the release of Dart Sass 1.0.0 stable last week, Ruby Sass was officially deprecated. I'll continue to maintain it over the next year, but when 26 March 2019 rolls around it will reach its official end-of-life. I encourage all users to start migrating away sooner rather than later. The Deprecation Period Over the next year, I'll continue to work on Ruby Sass in a limited capacity. I'll triage
こんにちは、技術広報を担当している外村です。 2018年2月10日にエンジニア向けのカンファレンス、Cookpad TechConf 2018を開催しました。当日はたくさんの方に参加いただき、活気あるカンファレンスになりました。ご来場の皆様本当にありがとうざいました。 新しい試みとして、当日の司会をAmazon Pollyの音声合成で行なったのですが、こちらもみなさんにお楽しみいただけたようでした。 講演資料・動画 当日の講演資料および動画を公開いたしましたので是非ご覧になってください。 基調講演: 毎日の料理を楽しみにする挑戦をし続けた20年 by 橋本 健太 コーポレート戦略部本部長の橋本による基調講演でイベントはスタートしました。クックパッドはテックカンパニーとしてどのように成長してきたか、グローバル展開をどのように行ってきたか、現在取り組んでいる新プロジェクトについての話などがあり
背景 Skinny Controller, Fat Model Railsではスキニーコントローラー、ファットモデル(Skinny Controller, Fat Model)という方針のもと、 コントローラーのコード量を少なくして、モデルを分厚くするという書き方が推奨されていました。 10 Ruby on Rails Best Practices — SitePoint Rails Best Practices 1: Fat Model – Skinny Controller このような背景から、ファットモデルという設計が目指すべき設計という認識となりました。 「ファットモデル問題」の登場 ところが、原因はわかりませんが、次第にファットモデルが問題があるものとしてみられるようになりました。 界隈では「ファットモデル問題」として取り上げて解決するという方法が紹介されるようになります。 20
ProductSecurityIntroducing security alerts on GitHubLast month, we made it easier for you to keep track of the projects your code depends on with the dependency graph, currently supported in Javascript and Ruby. Today, for… Last month, we made it easier for you to keep track of the projects your code depends on with the dependency graph, currently supported in Javascript and Ruby. Today, for the o
2017年11月25日紙版発売 2017年11月25日電子版発売 伊藤淳一 著 B5変形判/472ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-7741-9397-7 ただいま弊社在庫はございません。 →本書の新版が発行されています。 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 Rubyの文法をサンプルコードで学び,例題でプログラミングの流れを体験できる解説書です。 ほかのプログラミング言語で開発経験のある人が,Rubyを学ぶ際に効率的に学べる内容を詰め込みました。 プログラミング未経験者向けの「変数とは」「配列とは」といったプログラミング基礎知識の説明は最小限にし,そのぶんRubyの特徴(他プログラミング言語との違い),Rubyにおけるリファクタリングの要点,テスト駆動開発やデバッグのやり方など開発現場で必要になる知識を解
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く