Upgrade your software delivery with Harness' innovative DevOps tools.
Upgrade your software delivery with Harness' innovative DevOps tools.
morishitaです。 Cloud Functions と並ぶ(?)Google のサーバレスな JavaScript 実行環境といえば Google Apps Scripts(GAS)です。 GAS ってあの Excel で言う VB スクリプト環境のようなものでしょう? と思ったあなた! このエントリでその認識が変わると思います。 以前は使いやすいとは言い難かったGASですが、最近は使いやすくなってきました。 といっても、GAS 自体がアップデートされたのではなく周辺ツールが整備が進み開発・運用しやすい状況が整ってきたからです。 そして、なんと最近Typescript でとても実装しやすくなったので、それをご紹介したいと思います。 google/clasp 以前の GAS は Web エディタ上でしか実装できず、コードを VCS で管理することもままならない状況でしたが、Google
The latest news from Google on open source releases, major projects, events, and student outreach programs. Cross-posted on the Google Security Blog At Google, many product teams use cryptographic techniques to protect user data. In cryptography, subtle mistakes can have serious consequences, and understanding how to implement cryptography correctly requires digesting decades' worth of academic li
って話をbuilderscon 2018でします。 builderscon.io 当日利用する資料はこちら。 speakerdeck.com 私のセッションはbuildersconの最終セッション。 皆さん素晴らしいセッションが並ぶ中で選択肢に迷ってる方も居ると思います。 だから先に公開しておきますのでこれをご覧になって、他のセッションに行くというのも有りだと思います。 あと事前に去年のトークを見てくれると当日はより理解が深まると思います。 同じ話を2回しても皆さんにとって勿体無いのでリファクタリングの細かい前提の話は当日はしません。 soudai.hatenablog.com 動画はこちら。 www.youtube.com これを見て、面白そうだなって思ったらぜひ、遊びに来てください。 僕が知ってるRDB設計、そしてRDBの歩み方を全てお伝えします。 あなたの新しい道の一歩目をご用意しま
FirebaseのRealtimeDatabaseを使ったときに失敗したことがあったので書きます。 なお、この体験はハッカソン等での個人の体験であり、 実サービスとは関係ありません。 また、関わったエンジニアの方々を馬鹿にしたいわけでなく、同じ失敗を繰り返さないために自分用のメモとしても載せております。 わかること Firebaseを利用するときの失敗例から導入すべきかどうか 責任問題やできることできないこと 工数は本当に下がるのか 要件 即反映したい、システムを作るという要件があった 投稿 -> (何かしら操作) -> (何かしら操作2) -> 反映 といういろいろ経由するけどなる早がいいとのこと 件数は数1000万件?ほど予想であり、webのpub/subやwebSocketでも良かったが、「サーバーサイドの負荷が楽になる+フロントエンドも実装が楽になる+かっこいい」という見込みを立て
# 第8回 DOM-based XSS その3 前回および前々回で、DOM-based XSSに関する基本的な内容および対策方法の原則について説明しました。今回も引き続きDOM-baed XSSに関する話題を続けますが、これまでに説明した内容より応用的な話題を取り上げます。 一部のタグを許容してHTMLを組み立てる3つの場面 JavaScriptを使用して複雑なHTMLの操作を行うようなWebアプリケーションにおいては、「一部のタグを許容してHTMLを生成する処理をJavaScript上で行う」という場合もあるかもしれません。タグを許容しつつHTMLを生成するという場面は、たいていは以下のいずれかのような状況でしょう。 サーバ側でHTML断片となる文字列を生成し、ブラウザ上でHTML内に流し込む あらかじめ定まった構造のHTMLをJavaScriptにて生成し、その一部にデータを当てはめ
前回は、DOM-based XSSの原因と対策についての概略を解説し、DOM-based XSSを引き起こすシンクの事例としてinnerHTMLへのHTMLの代入やlocationオブジェクトへのURLの代入をとりあげました。今回は、innerHTMLやlocationオブジェクトほど頻繁ではないものの、実際にDOM-based XSSの原因として見かけるシンクの代表的なものについて説明します。 document.write/document.writeln~できるだけ使わず、代替手段を利用する DOMのレンダリングを遅延させるなどの理由から、以前に比べるとdocument.writeの使用される頻度は減っていますが、それでもなお広告用のJavaScriptなど一部では根強くdocument.writeが使われています。document.writeやdocument.writelnでは、引
JavaScriptによるブラウザ上での処理量およびコード量の増加に伴い、JavaScript上のバグが原因で発生する脆弱性も増加しています。そのような脆弱性の最も代表的なものが、DOM-based XSSです。今回から数回に分けて、DOM-based XSSについて説明していきます。 DOM-based XSSとは 本連載第2回で説明したような一般的な反射型および蓄積型のXSSのほとんどは、Webアプリケーションがサーバ上でHTMLを生成する際に、攻撃者が指定した文字列のエスケープが漏れていることが原因で発生します。一方、DOM-based XSSは、サーバ上でのHTMLの生成時には問題はなく、ブラウザ上で動作するJavaScript上のコードに問題があるために発生します。 たとえば、以下のようなJavaScriptコードがあったとします。 // bad code div = docum
A LT slide for builderscon 2018
「海賊版サイトをブロッキングする代わりに、権利者が海賊版サイトに直接DoS攻撃を仕掛ける」――国内のIT関連団体を束ねる日本IT団体連盟が、政府の知的財産戦略本部の勉強会で行ったこんな提案について、同連盟に所属する日本インターネットプロバイダー協会(JAIPA)が9月5日、「全く賛同するものではない」との声明を出した。 提案は、政府の知的財産戦略本部が8月10日に開催した、「インターネット上の海賊版対策に関する勉強会」で、日本IT団体連盟政策委員会の別所直哉委員長が行ったもの。ブロッキングに代わる海賊版サイト対策として、権利を侵害された権利者自身が海賊版サイトにアクセスを集中させてつながりにくくする、いわば「権利者による海賊版サイトへのDoS攻撃」を提案する内容だ。 提案資料(PDF)がWebで公開されると「犯罪行為では」「同じサーバを使っている他のサイトにも影響が出る」などと批判が起きた
こんにちは!技術開発部の浅沼です! 先月、Forkwellさん とのコラボイベント「How Ruby performed Higher」を開催しました。 そこでは、『RubyでPub/Sub messaging 〜 Multi Process, Daemonizesしたアプリケーション開発の事例』と題して、 IDCFクラウドのサービスを実現しているバックエンドシステムのアーキテクチャと開発事例を紹介しました。 IDCFクラウドRDBやインフィニットLBのバックエンドシステムは、Rubyで開発したPub/Sub messaging を用いたアプリケーションが稼動しています。 RubyというとRuby on Railsを利用したMVCなWebアプリケーションを思い浮かべると思いますが、今回は Multi Process, Daemonizes を活用したスケーラブルかつハイパフォーマンスを目指
builderscon tokyo 2018『Electronによるアプリケーション開発事情2018』
builderscon tokyo 2018 で静的解析の基礎について話してきました。 この発表では、事前知識ゼロの状態から実用的な静的解析を実装できるようになる ことを目標に設定しています。ぜひ、静的解析でいろいろやってみたい!という方に読んでほしいです。 スライド このスライドの知識さえあれば、実は静的解析の実装や既存のライブラリのコードリーディングは難しくありません。そのような資料としてつくったつもりです。 反省点 内容が多すぎて駆け足になってしまいました。大変申し訳ありませんでした。 発表で語れなかったことなんですが、本当は再帰下降法のバックトラックありなら Parser Combinator を主軸に説明したかったのです。しかし、第1級関数がまだ浸透していない言語があることやコードが追いづらくなるという欠点があり、断念しました。ただ、これだけは言いたかったのですが、 Parser
みてねのMeetup #2 for サーバーサイド/SRE September 5, 2018
はじめに 2020年の東京オリンピックに向けたサマータイム導入の是非について、主にIT業界を中心に(?)世論が白熱する今日この頃。 私のタイムラインに、こんなツイートが飛び込んできた。 サマータイムの議論を見て最近思うのは、世界中みんなUTCで暮らすのもアリなんじゃないかということ。元号をやめて西暦で統一しようとする流れと似たものを感じる。勿論すぐには無理だけど、日本時間(UTC)という併記で徐々に慣れつつ、数十年後には、、という案。— 坂井 恵(SAKAI Kei) (@sakaik) 2018年9月2日 正直、目から鱗だった。 サマータイムを止めるかどうかの議論の前に、そもそも時差の概念をなくしてしまう。 ――例えるならば、争いにどう勝つかを考えるのではなく、争いそのものをなくしてしまう。 そんな発想の転換を感じた。 直観的にこれは筋が良さそうなアイディアだと思ったのだけど、だからこそ
AWS News Blog Extending AWS CloudFormation with AWS Lambda Powered Macros Today I’m really excited to show you a powerful new feature of AWS CloudFormation called Macros. CloudFormation Macros allow developers to extend the native syntax of CloudFormation templates by calling out to AWS Lambda powered transformations. This is the same technology that powers the popular Serverless Application Model
[2021/06/10追記] 2021年5月31日よりガソリンスタンドで利用いただけるようになりました。詳細は次の記事をご覧ください。 blog.kyash.co Kyashサーバーエンジニアの井上です。 Kyash Visaカードは、実は一部店舗でご利用いただけません。 その理由をカード決済の仕組みと合わせてご説明します。 ちなみにサポートページで利用できない店舗を載せているので、こちらもご覧ください。 カード決済の流れ カード決済の仕組みが大きく関係しているので、まずクレジットカードとプリペイドカードの決済の流れについて説明します。 クレジットカード決済 クレジットカード決済には、主に オーソリゼーション(仮売上)※ と 売上(実売上) という処理があります。※以下オーソリ オーソリ(仮売上) はクレジットカードの利用限度額の確保を行う処理のことで、決済実行時に処理されます。 売上(実
Charlie Osborne (Special to ZDNET.com) 翻訳校正: 編集部 2018-08-09 11:44 セキュリティプロトコルの「WPA」および「WPA2」を無効にする新たな手法が、新しい「WPA3」規格を調査中の研究者によって偶然発見された。 この攻撃手法を利用すれば、WPA/WPA2で守られたルータに侵入し、「Pairwise Master Key Identifier (PMKID)」機能を有効にしているWi-Fiパスワードを破ることができる。 セキュリティ研究者で、パスワードクラッキングツール「Hashcat」の開発者でもあるJens「Atom」Steube氏がこの手法を発見し、8月にHashcatフォーラムで公表した。 Steube氏はその時、新セキュリティ規格であるWPA3を攻撃する方法を調べていた。業界団体のWi-Fi Allianceが1月に発表
extendJSON.md JSONが対応していない値をJSONに保存する方法 JSONは NaN / Infinity / -Infinity や Date 型等に対応していない。 しかし、JavaScriptのJSONは、これらを解消する仕組みを持っている。 それは JSON.parse の第二引数の reviver とJSON.stringify の第二引数の replacer だ。 注意が必要なのは、 Date 型は toJSON メソッドを持つため replacer に値が渡る前に文字列になってしまうこと。 これに対応するには toJSON メソッドを一時退避してしまえば良い。 これらを上手く駆使すれば、JSONに型を保ったまま値を保存し復元することができる。 こんな感じ。 var original = { 'nan': NaN, '+inf': Number.POSITIVE_
Engineering Manager の @ohbarye です。 このたび"Quipper Web Engineer 東京オフィス採用面接ガイド"を Quipper Handbook*1 の一部として公開しました。 Quipper Web Engineer 東京オフィス採用面接ガイド (2019-10-09 追記: Quipper iOS Engineer 東京オフィス採用面接ガイド も公開しました!) (2020-01-16 追記: Quipper Android Engineer 東京オフィス採用面接ガイド も公開しました!) 本記事では同ガイドについてご紹介させてください。 採用面接ガイドとは? Quipper東京オフィスで行っている採用プロセスについてより多くの方に知っていただくためのドキュメントです。とりわけ面接に訪れる方を読者として想定しており、候補者には面接の日程調整時に
PackerBuild and manage images as code
なんかこのブログに記事書くの、ほんと久々だなと思うんですが。 最近ずっと思ってたことがあったので、つい勢いで書きなぐってしまいました。若干炎上商法かもしれませんが、まぁたまには?いいや。 長文ですがお付き合いください。特に、ソフトウェア工学の研究している皆さん。 昨日、とあるソフトウェア工学のシンポジウムにて、機械学習モデルをWebサービスにデプロイするためのハンズオン、という企画がありました。 僕が運営委員やってるMLSEとの共同企画で、僕は発案者の1人ですが、当日は1人の参加者として中に混じっていました。 4人グループに分かれての作業だったんですけども、僕以外の3人は、いずれもソフトウェア工学の研究をしている修士の学生さんでした。 で、ハンズオンも後半になって「Dockerの使い方」の演習になったのですが、その3人ともDockerに触ったことがなさそうな雰囲気でした。いちいち確認したわ
はじめに はじめまして、福岡オフィスで働いている前平です。 セキュアスカイ・テクノロジーでは、すでにいくつかのカテゴリのブログを発信していますが、技術を気軽に発信したり、エンジニアが普段の業務でどのような技術に触れているのかを紹介したりすることを目的として、新しく「エンジニアブログ」が立ち上がりました。 本記事では、最近になってようやく (汗) 検証した Vue.js でのクロスサイト・スクリプティング (XSS) について紹介します。 なお、本記事の内容は私見に基づくものであり、所属組織を代表するものではありません。 前提 本記事では Vue.js を使って XSS の脆弱性を作ってしまうようなケースを説明しますが、その他の JavaScript のライブラリ/フレームワークを使った場合でも同様のリスクがある可能性があります。 検証で利用したバージョン Vue.js v2.5.16 (サ
builderscon 2018 tokyo の資料です
このブログ「いつもていねいに」を書いている 小田やかた です。 プロフィールはこちら、Xのアカウントはこちらです。 前回の以下の記事で書いたとおり、読書ノートを約10年続けているのですが、使うツールはアナログのノート→Evernote→WorkFlowy→Evernoteという変遷をたどっています。 10年間「読書ノート」が続いている私の読書ノートの作り方 WorkFlowyを使った読書ノートもよかったのですが、Evernoteで作る読書ノートも悪くありません。 Evernoteで作る場合、本の表紙の画像をノートに表示できますし、デフォルトの機能として文字に色やマーカーをつけることができますので、見返しやすくなります。読書ノートは、キレイに見栄えよく作ると、後で見返すときのモチベーションにつながります。 では、実際、現在、私がEvernoteで作っている読書ノートの作成手順を紹介します。
「プライベートでは一切勉強したくない」と言っていた社員のことという記事が話題になりました。この記事に対しては賛否両論あると思いますが、 勉強しない人は勉強する人には勝てませんという部分に関しては否定する人はいないと思います。前に記事で書いたんですが、僕は新卒でSIerにエンジニアとして入社して、これまでの2年半で10個の技術系資格を取得しました。(プログラミングはほとんど未経験だったので、最初は基本情報すら持っていませんでした) ・1年目4月 基本情報技術者 ・1年目7月 Oracle Certified Java Programmer Silver ・1年目10月 応用情報技術者 ・2年目5月 VBAエキスパートスタンダード Excel ・2年目6月 Oracle Certified Java Programmer Gold ・2年目9月 Oracle Master Bronze ・2年
kennethreitz.org Artificial Intelligence Essays Music Photos Poetry Random Software Talks Contact Kenneth Reitz My Family A Concise List of Personal Values This website is a work–in–progress; it is a place where I share my thoughts, ideas, and projects with the world. Thanks for stopping by! I am a software engineer, writer, and speaker, and I am passionate about technology, open source, and educa
Testing in ProductionとMonitoring Driven Developmentについて調べたまとめ サーバーレス開発部の阿部です。 今日はサーバーレス開発のテストにつきまとう課題について調べていたらたどり着いた言葉であるTesting in ProductionとMonitoring Driven Developmentを取り上げてみようと思います。 【背景】サーバーレス開発のテストにつきまとう課題 以前、Serverless ArchitectureとMicroservice Architectureの違いに触れた時に、Serverless Architectureの特徴としてマネージドサービスを使い倒すことをあげました。 マネージドサービスは便利なのですが、使い倒すという観点になるとこれがなかなかに曲者です。以前サーバーレス開発部の和田もこのような記事を書いてお
Netflixの企業文化や社員の行動規範を定めたカルチャーガイドが公開されており、FacebookのCOOのシェリル・サンドバーグが「シリコンバレーから生まれた最高の文書」と評価しています。 そのカルチャーガイドはもともと2009年にスライドとして公開され、最新版はNetflixの採用ページ上に掲載されています。今回は許可を得て翻訳することにしました。 Netflix Culture (原文) (目次) 本物の価値観 判断力 コミュニケーション 好奇心 勇気 情熱 無私無欲 イノベーション 一体性 誠実 影響力 ドリームチーム 自由と責任 情報に通じたキャプテン 統制ではなく前後関係 高度に整列し、緩く結合する 卓越性を探し求める まとめ 最後に エンターテインメントは、友情のように、人間が基本的に必要としているものです。エンターテインメントは私たちの感じ方を変え、私たちに共通点をもたらし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く