【AWS, GCP, Azure, OracleCloud, Firebase】無料で使えるクラウドのサーバリソースまとめ【2020年1月版】AWSAzureFirebaseoraclecloudGoogleCloud
【2020年1月】令和だし本格的にVSCodeのRemote Containerで、爆速の"開発コンテナ"始めようJavaPythonPHPJavaScriptGo VSCode の Remote Conainer で"開発環境+プロジェクト全部入りのコンテナ"からスタートダッシュをキメるッ!? 開発でVS Code の Remote Conainer使っていますか?単に既存のコンテナに入るだけなら Remote SSH でも構いませんが、"ローカル開発環境の一部"として、いやむしろローカルの開発環境=Remote Containerとして、ビンビンにRemote Container使っていきましょう。令和だし!(すでに2年だけどね・・・?) 特にMacを使っていると最初からPythonやらPHPやらRubyやらが入ってしまっているので開発環境があるのですが、これらは割とmacOSのエコシ
はじめに SnapcraftとはCanonicalが開発しているパッケージマネージャです。(昔はSnappyだったと思うんですが変わったんですかね?公式サイトがSnapcraftになっているのでここではそれに従います) 最近のUbuntuにはデフォルトで入っていたり、いろいろなlinuxディストリビューションに対応したりしているようです。 Rustのソフトウェアを配布する際に、Rustの開発者前提ならcargo installでいいのですが、一般には敷居が高いです。 そうすると「yumやaptといった普通のパッケージマネージャで入れたい」となるのですが、こちらは公式リポジトリに入れるのはすごく大変ですし、野良リポジトリというのも(開発者にとっても利用者にとっても)手間がかかります。 というわけで第三の選択肢として、Snapcraftのようなクロスプラットフォームのパッケージマネージャがあり
基本的な実装の仕方と、実装した場合 / しなかった場合、で実際にどういう動作をするか〜、について書きます。 Linux, Node.js 12.13.0, での話だけをします。 Graceful shutdown ? Express (Node.js) に限りませんが、Web サーバーを停止する際、クライアントから接続中のリクエスト (リクエスト受付してまだレスポンスしていない接続) はどうなるでしょうか? Graceful shutdown とは一般的に以下の停止を指します。 停止指示後に、新しい接続を受付しない 残った処理中の接続が完了するのを待ってから、プロセスを安全に停止する SIGNALs そもそも Web サーバープロセスはどうやって停止するかというと、 SIGNAL を用いて停止します。 具体的には下表の通り、コマンド等によって SIGNAL を送信できます。 SIGNAL
はじめに この記事はFlutter Advent Calendar 2019 6日目の記事です。 前日は @mkosuke さんのEffective Dartまとめでした。 Effective DartにはDartらしいコードを書くためのエッセンスが詰まっていますので、これが日本語で読めるのはとても素晴らしいことだと思います。 この記事ではFlutter開発でも使えるDartの自動コード生成のお話をします。 自動コード生成とは プログラムにソースコードを生成させる仕組みがあります。 Android開発をしている方なら、JavaではJSR-269またはapt、Kotlinではkaptが広く知られていますし、 iOS開発されている方の中でもSourceryやSwiftGenを使ったことがある方も多いかと思います。 また、gRPCやSwagger(OpenAPI)で生成されたコードを使用する機会
【TF2.0応用編】TFの例の強いデータセット機能で汎用的なDataAugmentationを並列化しハイスピードで実現した件PythonTensorFlowjoblibTensorFlow2.0 はじめに 今回の記事は、前回の記事「TensorFlowで使えるデータセット機能が強かった話」「【TF2.0応用編】tf.data.DatasetでDataAugmentationをクッソ早くする」で少し上がっていたDataAugmentationの、さらに強化版の話です。 tf.data.Datasetによる速度面での強化と、keras.preprocessing.image系を利用しながら 並列処理できるコードを実現することに成功しました。 実際の仕組みや、ここまでに至った経緯などはコードの次に載せようと思います。 以下にそのコードを載せます 環境整備 まずは実験環境を整備しましょう。 im
追記: 2019/01/08 この記事よりも @vvakame さんによるGraphQL APIスキーマの設計ガイドがあるのでそちらを参照することがおすすめです。 https://vvakame.booth.pm/items/1576562 また、GraphQLの設計について相談できるSlackグループを開設しているので、わからないこと・相談したいことがあればぜひ参加してください Slackグループ"GraphQLを使っている人たちの集まり"への招待リンク また、すべてのGraphQL API設計のベストプラクティスはGitHub API v4に詰まっているので、困ったらGitHubのマネをするというスタンスでいるのがよいです。 https://developer.github.com/v4/ GraphQL で実装するときに気をつけること ID は global で unique にする
クラウドワークス SREチームの @kangaechu です。アンタッチャブルのコンビ復活に目が離せないこの頃です。 クラウドワークス Advent Calendar 2019の4日目として、最近SREチーム内で使われるようになったツール、 aws-vault を紹介します。 背景 aws-vaultの話をする前に、少しだけAssumeRoleの話をします。 AssumeRole assumeは引き受けるなどの意味を持つ単語で、AWSを使用するユーザやリソースが本来持っている権限とは別の権限を引き受けることができるしくみです。ものすごいざっくりいうと、sudoコマンドのような感じです。AssumeRoleはどのようなときに便利なのでしょうか。 マルチアカウントでのIAMユーザ集約管理 リソースの分離や課金管理などを目的として、最近はAWS Organizationsを使用したマルチアカウン
諸事情でperfのソースコードを読んだのでせっかくなので簡単に解説。 今回はperfの中でもイベントの記録を担当するperf recordコマンドの処理を見ていく。特に近年はCPUがトレース機構を持っておりperfもその恩恵に預かっているため、本記事ではperf recordの中でもCPUのプロセッサトレース機構との連携部分に注目したい。 本音を言えば、perfよりIntel Processor Trace(Intel PT)やARM CoreSightといったプロセッサトレース自体に興味があるのだが、これらはLinux上ではperfイベントとして実装されているためperfコマンドの実装を皮切りに解析する腹づもりだ。 1. Perf アーキテクチャ 元々perfはPerformance counters for Linux (PCL)という名前の前身が存在しており、CPUの提供するパフォー
The Qiita Advent Calendar 2019 is supported by the following companies, organizations, and services.
はじめに データサイエンティストでなかったとしても、数値データを使って様々な解析をする際には CSV ファイル等ファイルを読み込み、数値の配列としてメモリに保持して、それらをループ等で利用して解析を行っておられると思います。 その際、配列は1次元目に行、2次元目に列、を格納するのが一般的です。多くのケースではこの方法で事足りるのですが、解析を行ううちに「列としてデータの固まりを扱いたい」「ラベル付けされた列を扱いたい」と感じる事が出てくると思います。 これを簡単にしてくれるのが「データフレーム」です。 データフレーム4種 本記事では Go 言語から扱えるデータフレームを4つご紹介します。 QFrame https://github.com/tobgu/qframe QFrame は、フィルタリング、集計、およびデータ操作をサポートするイミュータブルなデータフレームです。 QFrame での
株式会社デジサク がお送りするプログラミング記事、 今回はAI(機械学習)の具体的なコーディング手順を扱います。 ※ 無料セミナーも開催中なので、ぜひご覧になってみて下さい。 はじめに これまで「機械学習を仕事に使うには?」というテーマで記事をお届けしてきましたが、 第3回の今回は「Pythonのコーディング手順」をテーマに、具体的なプログラミングを紹介します。 バックナンバーも読んで頂くと機械学習の基礎からPythonのコーディングまで全体を理解できますので、ぜひご活用ください。 第1回:機械学習の目的を理解する 第2回:AI開発のプロジェクト全体像 SNS でも色々な情報を発信しているので、記事を読んで良いなと感じて頂けたら Twitterアカウント「Saku731」 もフォロー頂けると嬉しいです。 機械学習に必要なプログラミングスキル まず、機械学習を習得するために必要なスキルは下記
株式会社デジサク がお送りするプログラミング記事、 今回はAI(機械学習)について扱っていこうと思います。 ※ 無料セミナーも開催中なので、ぜひご覧になってみて下さい。 はじめに kaggleや学習サイトなど誰でも機械学習を学べる機会が増えてきました。 その反面、情報量が多すぎて全体感を掴めていない人が多いと感じています。 そこで、様々な参考書や記事で紹介されている機械学習で使用する手法を全公開しようと思います。 細かなコーディングはリンクを貼っておくので、そちらを参照されてください。 SNS でも色々な情報を発信しているので、記事を読んで良いなと感じて頂けたら Twitterアカウント「Saku731」 もフォロー頂けると嬉しいです。 機械学習の一連手順 まず、機械学習を習得するために必要なスキルは下記です。 実務の場では数段細かな作業が必要になりますが、最初は下記を勉強するだけで十分で
概要 AWS 認定ソリューションアーキテクト – プロフェッショナルに合格したので、その経験をもとに勉強方法や戦略について紹介します。 対象者はAWSを学び始めて1年前後で、ソリューションアーキテクトアソシエイトに合格できる程度の実力のある方です。 学習期間および学習時間 本エントリで紹介する内容をこなすのに70時間程度かかります。 筆者は学習期間として2カ月割きましたが、余裕を見て3カ月程度を見ておくことをおすすめします。 AWS公式が実施している下記の無料キャンペーンを利用することもおすすめです。 AWS公式の作成した学習スケジュールに基づいて、メールでリマインドしてくれたり、Googleカレンダーに予定をインポートしたりできます。 今から始める、12週間 集中プログラム 戦略 AWSの実務経験はそれほど無い人が、遠回りせずに試験に一発合格したい場合、利用すべき学習リソースは以下の通り
この記事について 事ある度に書いたり言ったりしている通り、2020年を迎えようとしている現在でも、信頼できるSpring関連書籍は下記の2冊しかありません。 Spring徹底入門 改訂新版Spring入門 2冊(以下「書籍」)とも超良書なのですが、どちらもリリースされたのが2016年で、対応しているSpringのバージョンが4.2と古くなっています。 2019年末時点での最新版はSpring 5.2です。この記事では、上記書籍を令和の今読む際、特に気をつけるべき点をいくつか紹介していきます。 4.x->5.xの差分すべてについては、GitHubのWikiを確認してください。 JDKは8以上を使うべし Spring 5.0以降から、JDKのベースラインが8になりました(Spring 4はJDK 6ベース)。今からSpringを使おうと言う人が、JDK 6とか7を使おうとはしないと思いますが・
はじめに 時はPlayStation2も そろそろ終わり。 PS2互換機がゲームセンター等で使われていた時代の事です 私は当時 超新人だったんだけどね ただ私は 大学を3ヶ月で光速中退して すぐにフリーランスになった変な経歴持ちです そんな時 ある人物が 掲示板に メモリマネージャやDMA、3DCGについて質問をしていた ちょうどその時期 仕事が楽だったので 光速で回答しました。 メモリマネージャ作りたいっていうので、簡単な方法として、連結リストでAllocateしていくと簡単だよ DMAについては 方向のふらぐがこーであーするだけだよ 3DCGについては DirectXを知識は入れてたので なんとなく回答 すると やり取りから1週間で 仕事してもらえますか? PS2の自社タイトルを作ってます。コアエンジニアが不足しています とメールアドレス宛にメッセージがきたので 請ける事に これがすべ
Kaggle Expertになったので、イキってポエムを書こうと思いました。 AIに興味あるけどプログラミングすらできないんだよねという人向けの参考になれば幸いです。 1. 初期スペック (2019年2月) 機械工学系修士卒。よくいるメカニカルエンジニア 線形代数も統計も正直そんなに好きじゃない。力学の方が得意。 AI?あれでしょ。将棋超強いやつでしょ? パイソン?スト2のボクサーみたいなやつ? 2. 現在のスペック (2019年12月) Kaggle Expert (微妙?) 機械学習コンペでそれなりの成績 (Kaggle Kuzushiji Recognition 7th,Signate tellus 3rd 5th) 機械学習:なんとなくコーディングできる。 深層学習:なんとなくコーディングできる。 関連論文読める。簡単なものは実装できる。 業務適用も見えてきた 3. 機械学習を学ん
はじめに 「巡回セールスマン問題 遺伝的アルゴリズム」でググるとたくさんヒットすることを自分でもやってみました。 理論編 Python コード編 実行結果編 概要 巡回セールスマン問題(Traveling Salesman Problem) 巡回セールスマン問題 とは、$N$ 個の点すべてを 1 回ずつ通って元の点に戻る最短の経路を探索する問題です。 $N$ 点を全て通って戻ってくる経路の総数は $(N-1)!/2$ 通りあります。 3 点であれば 1 通りです。 4 点であれば 3 通りです。 5 点であれば 12 通りです。 点が増えると経路の総数は爆発的に増えていきます。 その中から最短の経路を見つけようとすると膨大な時間がかかります。 しかし、条件付きであれば実用的な時間内で経路を見つけられます。 例えば、点が凸多角形の頂点にあると分かっていれば、最短経路はその凸多角形です。 また
この記事を読むと VSCode拡張機能を入れて、下記のようなことが実現します ・VSCodeとは別にterminal(Command Line)の画面を開かなくても、VSCode内から直接terminal操作ができる(例えばnpm run devも) ・全てのカッコ()[]{}が種類別に色分けされる ・インデントが一眼で分かる ・htmlタグの開始タグと終了タグを同時に修正できる ・Vue.jsやNuxt.jsの構造やファイル操作が楽になる etc... なぜこの記事を書いたのか VSCodeは素晴らしいテキストエディタです。 特に、Vue.jsやNuxt.jsを用いて開発している方にとっては最も有力な選択肢でしょう(そして、その選択は間違いではないと保証できます)。 さて、VSCodeはそのままでも素晴らしいエディタですが、使用するフレームワークや用途に応じて拡張機能を入れるとさらに、そ
package sample.junit5; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.DisplayName; class JUnit5Test { @Test void fail() { Assertions.assertEquals(10, 8); } static class StaticClass { @Test void fail() { Assertions.assertEquals(10, 8); } } static class StaticTest { @Test void fail() { Assertions.assertEquals(10, 8); } } class InnerTest { @Te
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く