深遠な理由*1によりファイルアップロードをSlack経由で行いたい。 アップロード先はAWS S3なのですが、ここではAWSの世界にファイルを持ち込むまでを書きます。 普通、ファイルアップロードしたいとなれば入り口としてWebサーバ的なものが必要ですが、 ちょっとした要件にはセキュリティコストが高くついて面倒。 SlackやGithubといった既に利用している外部サービスに乗っかればその辺のコストを省略できる、 というのが後付の狙い。 どうしたかというと、Slackのファイルアップロード機能でアップロードします。 その際にコメントに特定のキーワードを付与すると、 Hubotが裏でファイルダウンロードしてS3にアップロードします。 HubotはAWSの中にいる前提です。簡単・強引な仕様。 hubot-slackにはそういう機能はないので、生のAdapterで書きます。 要点抜粋のソースは以下
始まりはStack Over Flowのとある質問。 Can I automatically start a task when a folder is opened? Visual Studio Codeでフォルダーを開いたタイミングでタスクを実行できないか?という質問で、なんでそんなことをしたいかと言うと、gulpのウォッチをタスク実行しなくとも走らせたいということだった。 gulpでも、TypeScriptのトランスパイルで使うtscでも、ファイルの変更を自動でウォッチしてもらって、何か変更があったタイミングでビルドするというのは、一度タスクを走らせないといけなかった。 ところが、フォルダーを開いた時に自動でタスクが走ってくれゝば、そうした手間を減らせる。 規模の大きなプロジェクトだとどうなんだろうという気はするけれど、ウォッチを自動で始めてくれるなら確かに安心だな。 回答には、「今
Visual Studio Codeの拡張機能(エクステンション)開発に使えるAPIはよく考えられたものが取り揃えてある(何様)。 vscode名前空間から呼べる関数や型だけに限るとそう大層なことはできない印象を抱くかもしれないけれど、拡張機能のマニフェストファイル(package.json)も合わせると色々なことができる。 また、APIとして公開されていないけれども、Visual Studio Codeにプリセットされている機能(タスク実行や拡張機能のインストールなど)は、コマンドとして呼べるようになっている。 今回は、そこのところを含めて、コマンド系のAPIを紹介したい。 vscode.commands vscode.commands名前空間に、コマンドの登録/取得/実行をするための関数が1packageになっている。 コマンドを登録する – registerCommand regis
半年ほど前にソフトウェアエンジニア向けの求人募集ページに簡単なプログラミング系のパズルを出して、それが解けた人だけ応募できる仕組みにしよう、という話になった。 その時期は求人を拡大募集していたのだが、あまりにハズレな人が多かった。私もいくつか面談をしたのだが「CV(履歴書)には高いスキルって書いてるけど、言ってることがなんでこんなに変なの?」と感じてしまう応募者が多かった。これは私だけの意見でなく、他のエンジニア達からも不満が続出した。つまり履歴書のスクリーニングが効いてないということだ。日本よりも海外の方が履歴書を誇張する率が高い気がする。そこで考えたのが求人募集ページにエンジニア向けのパズルを出す、という発想。 言ってはみたもののどんなパズルにしようかと考えると案外難しい。 パズルの条件は以下の3つ。 簡単なパズルにすること。あくまでダメなエンジニアだけを門前払いするのが目的だから、変
短時間で効果的に英語とプログラミングを同時に勉強したい、となったらその方法として「英語でプログラミングの本を読むこと」がある。ただこれで私は何度も失敗した。失敗の原因は「本選びが悪い」に尽きるが、その主な理由として3つある。 英語が難し過ぎると訳が分からず頭に入らない。単に英語の字を目で追ってるだけ状態に入る。ネイティブとか英語上級者向けの本とは区別するべき。 プログラミングなどの技術書は陳腐化が激しく、その本を読む価値がたった数年で激しく減少する。「今さら○○に関する技術の本読んでもな。。」という気持ちで読んでも効果無い。 英語の初心者が苦労してさんざん読んだ後で「これダメだわ」となったときの労力、コスト、時間の損失がデカい。これは避けたい。 数々の失敗の末に辿り着いた結論は、英語とプログラミングを同時に勉強するなら「Practical Object-Oriented Design in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く