![Microsoft、AI技術ベースのコーディング支援機能「IntelliCode」を一般リリース/「Visual Studio 2019」v16.1の一部ワークロードに標準搭載](https://cdn-ak-scissors.b.st-hatena.com/image/square/ee72d2e19c42a71cc3011b57f7039e104a20a9ca/height=288;version=1;width=512/https%3A%2F%2Fforest.watch.impress.co.jp%2Fimg%2Fwf%2Flist%2F1184%2F157%2Fimage1.jpg)
AWS Systems Manager パラメーターストアを利用してリージョンやエンドポイントの情報が取得できるようになったので紹介します。 こんにちは。サービスグループの武田です。 これまでAWSで提供されているリージョンや、各リージョンのエンドポイントを確認するためにはドキュメントを参照するしかありませんでした。これらの情報がAWS Systems Manager パラメーターストアから取得できるようになり、プログラムなどからも利用しやすくなりました。 AWS News Blogに次のようなポストがありましたので、これを参考にして取得方法などを確認してみました。 New – Query for AWS Regions, Endpoints, and More Using AWS Systems Manager Parameter Store | AWS News Blog 環境 次のよ
『諸外国の脅威ベースのペネトレーションテスト(TLPT)に関する報告書公表について』や『「脅威ベースのペネトレーションテスト」及び「サードパーティのサイバーリスクマネジメント」に関するG7の基礎的要素の公表について』が公開され、脅威ベースのペネトレーションテスト(TLPT)に関して最近、話題に上がることが増えてきたので、ご紹介したいと思います。 TLPTはThreat-Led Penetration Testの略で脅威ベースのペネトレーションテストです。まず、ペネトレーションテストという言葉ですが、多くの方からご相談をいただいており、認知度は高まっているのではないかと感じていますが、脆弱性診断(Webアプリケーション診断やNW診断など)と混同されているケースも散見されます。以下の通り、脆弱性診断とペネトレーションテストはそれぞれ目的が異なるため、目的に合わせてそれぞれのサービスを利用してい
「Gameboy.Live」は中国のソフトウェアエンジニアのAaron Liu氏がオープンソース開発するゲームボーイのエミュレーターです。Gameboy.Liveはゲームボーイ用のゲームROMをプレイできるほか、Telnetでサーバーにアクセスすることでクラウドゲーミングも可能となっています。 GitHub - HFO4/gameboy.live: ????️ A basic gameboy emulator with terminal "Cloud Gaming" support https://github.com/HFO4/gameboy.live Liu氏によると、Googleが開発したプログラミング言語のGoを学習する一環として、デスクトップ上でゲームボーイのゲームが遊べるGameboy.Liveを開発したとのこと。Gameboy.LiveはGitHubで実行可能ファイルが配布さ
レポート Windows TerminalとWSL 2はOSS版Windows 10の布石か? - 阿久津良和のWindows Weekly Report 既報のとおりMicrosoftの開発者向け年次イベントであるBuild 2019では、Windows 10に関する興味深い発表が行われた。その1つが「Windows Terminal」だ。 Windows 10は、これまでもコマンドプロンプトやWindows PowerShellで使用するWindowsコンソールの改良に取り組んできたが、下位互換性の観点からMicrosoftは「『世界を壊さずに』コンソールUIに有意義な改善を導入できない」と公式ブログで述べている。 「Windows Terminal」はFluent Design Systemを用いて、ウィンドウの透過機能などを実現している(公式ブログより抜粋) Windows Ter
TypeScriptはJavaScriptに静的型を導入したプログラミング言語で、登場から現在までその人気を増し続けています。 動的型付き言語であるJavaScriptに静的型の安全性(コンパイル時にバグ・間違いを発見することができる能力)を与えることで、TypeScriptはJavaScriptによる開発の効率を上げてくれます。 裏にJavaScriptがあるという特性もあり、TypeScriptは「部分的に静的型チェックをする」というような挙動をサポートしています1。詳しくは後述しますが、これによりJavaScriptからTypeScriptへの移行が可能となっています。TypeScriptは@ts-check(あるいは@ts-ignore)などを通じてこのようなユースケースも手厚くサポートしています。 このことの裏返しとして、TypeScriptを利用するときは注意すべき点があります
こんにちは、NTTの藤田です。 Dockerfileを書くのに疲れた?イメージサイズの縮小で1日が終わった?コンテナの起動が遅すぎる?コンテナ技術と悪戦苦闘する皆様のための新技術、アーキテクチャに依存しないポータブルなバイナリフォーマットと数十μsで起動するsandbox環境を実現する、WebAssembly System Interface(WASI)を試してみました。 WebAssembly System InterfaceとはWASIは、 WebAssembly(WASM)をウェブブラウザ以外の環境で実行するため、 ホストのファイルやネットワークなどの資源に安全にアクセスさせるための仕様です。 具体的には、POSIXに似たAPIが定義されており、WASMのバイナリが、OSが管理する資源にアクセスできるようになります。 WASMは、ネイティブコードなみの速度で動作する、ポータブルなバイ
今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作
Microsoft AzureでDNSの設定ミスによるネットワーク障害が発生していたとのこと(Publickey、Azureの「状態の履歴」ページ)。 障害が発生していたのは5月2日19時29分(UTC)から22時35分まで。Azureを利用しているサービスに加えて、Office 365などMicrosoftのクラウドサービスも利用できない状況になっていたという。 この障害はDNSの設定関連の設定ミスが発端。Azureでは各ゾーンに4つのDNSサーバーを設置しているが、その1つのみに対しアップデートを行ったという。その際に設定ミスがあり、結果的に空のゾーンが生まれしまったためにDNSが不適切な応答を行うことになってしまったようだ。
実践Rust入門 言語仕様から開発手法まで, κeen, 河野達也, 小松礼人を読みました。本書の特徴は以下の3つでしょう。 2018 Editionに対応している FFIについて日本語で書かれた書籍 実践 を意識した内容になっている 本記事では、特に3つ目の実践的という観点で感想を述べようと思います。 Rustの言語仕様という観点で言えば、プログラミングRustのほうが網羅性は高いでしょう。 しかし、Rustは入門のハードルがとても高い言語です。1 個人的な経験でいえば、mapやfilterでさえHaskellを勉強していなかったら、とっつきにくかったんじゃないかと思います。他言語の経験が豊富であればまだしも、いきなりRustを始めると挫折してしまうでしょう。 だからこそ、本書のような実践的な入門書は重要だと思います。「あれもこれもやらなきゃいけない」とならずに、実際に利用されるトピック
AWS Systems Manager パラメーターストアを利用してAWSのサービス一覧が取得できるのでは、と考え付いたのでやってみました。 こんにちは。サービスグループの武田です。 AWS Systems Manager パラメーターストアからリージョンやエンドポイントの情報を取得する方法について書きました。 AWS Systems Manager パラメーターストアに問い合わせてリージョンやエンドポイントの情報を取得する 書いている途中で、longName のパラメーターを使えばサービス一覧が作れるのでは?と考え付いたのでさっそくやってみました。 最初に思いついた愚直な方法 パラメーターストアのキーに使われるサービス名は、やはりパラメーターストア自身から取得できます。そのため、一覧取得をしたらあとは繰り返しlongNameを取得すればいいのかな。と考えました。つまり次のようなコマンドで
画像から1クリックで簡単に背景だけを切り抜くオンラインサービス「Remove.bg」がPhotoshopに対応したので紹介します。しかも無料で利用できます! Photoshopのエクステンションとして利用でき、1クリックで背景だけを画像から切り抜くことができます。下記の切り抜きも1クリックだけです。 写真: ぱくたそ Remove.bg for Photoshopの使い方 Remove.bg for Photoshopのインストール Remove.bg for Photoshopの使い方 Remove.bg for Photoshopをさっそく使用してみました。 操作は1クリックだけなので、説明することがほとんどありません。 まずは、画像を用意します。
4月に出版された「分散システムデザインパターン」を読んだ.サブタイトルに「コンテナを使ったスケーラブルなサービスの設計」とある通り,コンテナを設計/運用するときに,どのようなデザインパターンを知っておくと良いのか?という点を学べる内容になっている.関連情報と合わせて書評を書きたいと思う.なお,今回は貴重な機会を頂き,本書の出版レビューに参加することができた.オライリー本に自分の名前が載っている!という喜びもある. 分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計 作者: Brendan Burns,松浦隼人出版社/メーカー: オライリージャパン発売日: 2019/04/20メディア: 単行本(ソフトカバー)この商品を含むブログを見る 目次 1章 : はじめに 第 I 部 : シングルノードパターン 2章 : サイドカー 3章 : アンバサダ 4章 : アダプタ
この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基本的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういう本で勉強すればいいか、ぼくの知ってる本からまとめてみました。
Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは? CDNプロバイダとして知られるFastlyは先月(4月1日)、WebAssemblyのコンパイラとランタイムで構成される「Lucet」をオープンソースで公開。同社のエッジコンピューティング環境として開発を進めていることを明らかにしました。 WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 FastlyはこれをCDNのエッジにあるサーバ上で動作するように移植し、しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し
はじめに Vue.jsを使用したアプリケーションでのWeb API呼び出しのデザインパターンについて調べてみました。 しかし検索して出てくるチュートリアルやサンプルは、コンポーネント内でaxiosをインスタンス化していたり、Vuexの中でaxiosを使用するというサンプルがほとんどでした。 しかし実際のプロダクトでこれをしてしまうと コンポーネント内でAPIアクセスの直書きによって単体テストが困難に Vuex(actions)の肥大化(使い回さない処理はStoreに記述しないほうがいいとする文献もある) API通信部分をPureJSでモジュール化しても依存度がイマイチ下がらない(コンポーネントでモジュールをインポートするため)。 などなど問題になることが多そうでした。 ある日、Jorge氏が投稿した「Vue API calls in a smart way」という記事にたどり着きました。
今日、Facebookに「プログラマだったら当然知ってるよね?という知識一覧」という記事で、「データ構造」や「計算量」から「理論計算機」など幅広くコンピュータサイエンス(CS)の基礎をプログラマ知っているべきという論が展開されています。 私は経営学部だったのでコンピュータサイエンスについて学校で習ったことはないのですが、高校の頃から趣味で色々調べていて、この中だとグラフ理論と機械学習系以外は大体理解しています。 「Web系の人って、新技術ばっかり追いかけてCSの基礎とかちゃんと学んでないよね」っていう話は他でも時々聞く気がします。 一つがWeb系のエンジニアは情報系の大学を出てない人も多いことと、実際あまり役に立つシーンがないのではないかと思います。 実際、CSの基礎ができると多くのエンジニアにとって何のメリットがあるのでしょう? 一番は「先の技術を読めるようになる」ことです。 ITの世界
エンジニアにとって、正解が分かりづらいマネジメント業務ってとっつきづらいんですが、その良き羅針盤となってくれるテキスト「re:Work」の紹介です。 「エンジニア天国な会社にしたい。したくない?」 「したい。けど、どうやって?わっしょい的な雰囲気で?」 今年の6月あたり、クラスメソッドAWS事業本部コンサル部で合宿を予定しているんですが、その合宿でやるネタを考えているときに知ったのが、この「Google re:Work」。 正解が見えづらい組織運営において、「良いチームとはなにか?」「採用で気をつけるべき点」「ビジョンがもたらす効果」など、マネジメントの頻出課題をギュッと凝縮して詰め込んだこのコンテンツがむっちゃ有用だったので、紹介します。 Webコンテンツとして完全無料なので、今マネジメントで悩んでいる人も、これからマネージャー目指そうとしている人にも参考になる点多いと思うので、一度気軽
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く