Rのおすすめパッケージをアップデートしてまとめた。定番の分析手法をはじめ、可視化やデータ処理に便利なものなど、幅広く紹介した。中にはマストというものもあるし、意外と知られていないがインストールしておくと便利なものまで、使い方の例も挙げて説明している。 ミドルウェア的なレイヤーのライブラリ(must) curl ファイルをwebからダウンロードするときに使う。 データファイルやパッケージのダウンロードが発生する処理で内部的に使われるライブラリで、他のパッケージのインストールの際に同時にインストールされることが多く、意識されることは少ないパッケージ。たまに依存関係の問題でも解決されずに未インストールの場合があるので、明示的にインストールする必要がある。 read.csv('https://...') などのために必要。 devtools GitHubからのインストールなど。ほとんどがGitHu
Nuxt.jsでGoogle Analyticsしたかったので、いろいろ調べたときの備忘録。 公式プラグインがあるらしい(Google Analytics Module) 中では、vue-analyticsを使っているので、基本vue-analyticsのドキュメントを見るっぽい。 インストール $ npm install --save @nuxtjs/google-analytics nuxt.config.jsでの設定 ID設定のみ modules: [ '@nuxtjs/google-analytics', { id: 'UA-xxxxx-x' } ], 他の設定もしたいとき modules: [ "@nuxtjs/google-analytics"], "google-analytics": { id: "UA-XXXXX-XX", }, ページのトラッキング 勝手にやってくれるっ
はじめに 本記事ではNuxt.jsのアプリケーションにAuth Moduleを使ってJWT認証を導入する方法を説明します。 作るもの ソースコード ソースコードはこちら バックエンドの準備 こちらにJWT認証のためのモックサーバを用意しました。起動手順は以下の通りです。(Node.js、npmが入っていることが前提です。) git clone https://github.com/windii-legend/express-jwt-mock.git cd express-jwt-mock npm install sudo node index.js http://localhost:8080/でサーバが立ち上がります。 このモックサーバは以下の2つのエンドポイントを持ちます /api/authenticate リクエストBodyの例 { "name": "tanaka", "passwor
注: 本稿は元はJSON Web Tokens(JWT)について書いたものですが、JWTはJavascript Object Signing and Encryption(JOSE)のサブセットであるため、以下の批評はどちらかというとJOSE全体に焦点を当てています。 もし既にJavascript Object Signing and Encryption(JOSE)を実装することを決めているなら、それがJSON Web Tokens、JSON Web Encryption(JWE)、JSON Web Signatures(JWS)のいずれであっても、その決断に疑問を持つべきです。間違いを犯そうとしている可能性があります。 この投稿に書いたことはすべて、RFC 7519、RFC 7515、そしてRFC 7516に則っています。将来、新規のRFCでは以下に挙げるような欠陥はなくなっている可能
Nuxt.jsでアプリ作るけど、やっぱり国際化大事。英語版と日本語版は作っておきたい。。 nuxt-i18nを使うと簡単に多言語対応できたので、その時の備忘録。 インストール $ npm install --save nuxt-i18n 設定 modules: [ ['nuxt-i18n', { strategy: "prefix_and_default", // デフォルトのlangも言語指定のパスを生成する設定 locales: [ { code: 'ja', iso: 'ja_JP' }, { code: 'en', iso: 'en_US' }, ], defaultLocale: 'ja', vueI18n: { fallbackLocale: 'ja', messages: { // メッセージはここで設定 "en": { "hello": "HELLO" }, "ja": {
Vue.jsとNuxt.jsでいろいろ作っているけれど、TypeScriptが素敵すぎる。。 create-nuxt-appだとTypeScriptがないので、TypeScript化するときにやることを整理したときのメモ TypeScriptが使えるように設定する 0. ディレクトリ構成 ディレクトリ構成はこんな感じ。 プロジェクトはcreate-nuxt-appで作成 Firebase Functionsも使うので、app配下をsrcDirに変更している . ├── app ... NuxtのsrcDir │ ├── assets │ ├── components │ ├── layouts │ ├── middleware │ ├── pages │ ├── plugins │ ├── static │ └── store ├── functions ... Firebase Func
JWT とは はじめに トークンを取得してみる トークンを使って認証が必要なAPIを実行してみる まとめ JWT とは Json Web Token の略。一言でいってしまうとJSONに署名したもの。こちらの記事で詳しく解説されています。 JSON Web Token の効用 - Qiita はじめに さっそく環境を作っていきます。最初はお決まりのプロジェクト作成です。 詳しい手順と説明はこちらの記事をご参照ください。 racchai.hatenablog.com Lightweight Django 作者: Julia Elman,Mark Lavin出版社/メーカー: O'Reilly Media発売日: 2014/11/04メディア: Kindle版この商品を含むブログを見る ではプロジェクトを作成します。 $ django-admin startproject racchai $
課題 「業務で使っているけど、よく知らない。けどとりあえず動いている」ということが非常に多いので、調べたこと、試したことをまとめていこうと思います。 今回はDjango REST framework JWT編です。 そもそもJWTって? 参考 https://tools.ietf.org/html/rfc7519 https://jwt.io JSON形式で認証・証明するための仕様 Header.Payload.Signatureからなる Headerにはトークンの情報と暗号化の情報、Payloadにはエンティティ(ユーザー)の情報、Signatureには署名が入っている これらをくっつけて暗号化したものを渡す 流れとしては、 ログイン成功するとサーバーからJWTが返される 以降、リクエストのAuthorizationに受け取ったJWTを含めると、制限されている処理が許可される DRFでど
JSON Web Token(JWT)について調べていたら、JWTは絶対に使ってはいけないとかいろいろ書かれていて、使ってよいか良くわからなかった。 なので以下の点を調べてみました。 - JWTはなぜ使ってはいけない、と言われているのか - JWTの代替案はあるのか なお、私はただのフロントエンジニアでセキュリティの専門家ではないので素人の個人的見解です。注意してください。 TL;DR JWTは間違えやすく、脆弱になりがち JWTの代替はPASETOが良さそう JSON Web Tokenとは JSON Web Token(JWT)はセキュアなトークンを発行するための標準仕様です。 個人的に以下の点が特徴的だと思います。 標準仕様 仕様がシンプル 任意のデータをトークンに含められる トークンの偽造、否認は出来ない 暗号化されていないので中身は簡単に見られる 署名アルゴリズムが選択可能 JW
はじめに 本記事では、Nuxt.jsにAuth Moduleを使ってGitHubのOAuth認証を導入する方法を解説します。 ソースコード ソースコードはこちらからどうぞ! Nuxtプロジェクトを作成する create-nuxt-app というツールを使ってプロジェクトを作成します。こちらを使うとNuxtプロジェクト作成時の複雑な手順をなくすことができます。まだcreate-nuxt-appを使ったことがない方向けに以下の記事にcreate-nuxt-appの導入方法をまとめたのでぜひご覧ください。 Nuxtがv2にアップデートされてますます盛り上がりを見せてますね。話題のNuxt開発を今すぐ始めるために便利なcreate-nuxt-appでプロジェクトを作成する手順を説明します。create-nuxt-appとはcreate-nuxt-appとはNuxtのプロジェクトを一瞬で立ち上げられ
この記事はCAMPHOR- Advent Calendar 2018 11日目の記事です。 このたびブログを新調しました。Nuxt + TypeScriptで作成したSingle Page ApplicationをGAEにホストして、Server Side Renderingも行っています。 ブログ移行の経緯や実装時のあれやこれやはまた明日別の記事でお話ししますが、その前段として本日はNuxt + TypeScriptのアプリケーションを作る時に自分がやったことを備忘録的に記録したいと思います。 また本記事で紹介しているソースコードはGitHubに公開しています↓↓ Embedded content: https://github.com/andoshin11/nuxt-typescript-example TypeScriptとは TypeScriptとはMicrosoftの主導で開発さ
利用技術 以下の技術を利用しています。 Vue.js Nuxt.js (1.3.x) TypeScript (2.7.x) Element (2.4.x) Vue.js Vue.jsはJavaScriptのフレームワークです。 なぜvue.js? ReactとAngularは開発しているプロダクトがありますが、Vue.jsだけ開発経験が無いからです。 また2018/07/09現在において、ReactやAngularに比べ、以下の理由から職場でも導入しやすいと思っています。 Vue.jsはコスパが良い(学習コストとできることのバランス) Vue.jsは日本語ドキュメントが充実している Elementで必要なことがほとんどできる ReactとAngularの経験も手伝ってはいますが、Vue.jsの習得コストは他の半分以下だと思います。 Nuxt.js Nuxt.jsはVue.jsアプリケーショ
See a full list on Vue Telescope U Can Stock - U.S. stock market information platform for Korean. readable.report - View all of your stats from all of your apps with a single easy-to-read report. homefinder.com - Nation-wide real estate portal in the US. Find or sell your home on HomeFinder! www.gamevix.com - GameVix: Swap Video Game Discs - Spend much LESS 💰, play much MOAR 🎮! (Nuxt.js + Vuetif
create-nuxt-appでNuxt.js+Expressのプロジェクトは簡単に作ることができますが、それで作成したプロジェクトをTypeScript化してみました。 TypeScript化の対応は、Nuxt.js側、Express側で別々となります。Express側はちょっと面倒なので、とりあえずNuxt.jsだけ先にやっておく、とかでも良いと思います。 Nuxt.js+Expressプロジェクトの作成は下記で紹介しているexpress-templateを利用おり、今回の記事はそちらの前提の説明となります。 Nuxt+Expressのプロジェクト作成で良さそうなのは? ※ 2018/8現在の情報です。ところどころNuxt.js1の情報が混じっていますので、下記も合わせて確認が必要な箇所があります。 Nuxt.jsのプロジェクトをNuxt.js2にバージョンアップしてみた Nuxt.j
TypeScript + VueなプロジェクトでESLintを使ってみて、現状必要なモジュールが複数あって少し複雑だったのでまとめておきます。 サンプルは以下です。 github.com 内容はどうでも良いんですが、こんな感じのすごく簡単なTODO風のアプリケーションです。 なぜEslintを使うか JavaScriptのためのLintingツールはたくさんありますが、Vueのroadmapにもある通り、Vueの公式スタイルガイドをサポートするESLintプラグインがESLintのメンテナによる公式プラグインとして作られています。 GitHub - vuejs/roadmap: Roadmap for the Vue.js project これからもVueの公式としてサポートされていくと思うので、特にこだわりがなければESLintを使うのが良いかと思います。 ESLint for Type
第4回「FirebaseAuthによるユーザ作成機能導入」@FirebaseAuth+Nuxt.js+Go(v1.11)+GAE開発シリーズGoFirebaseAuthvuetifyjsNuxtvuelidate お題 前回の記事でFirebaseAuthを使った単純なSignIn/Outを実装した。 今回は、SignUp(つまり、FirebaseAuth管理ユーザの新規登録)を実装する。 前回はFirebaseAuthのコンソール上で事前にログイン用ユーザを作成したけど、例えばある種の管理画面などではログイン可能なユーザの作成機能を持たせたりするものなので。 SignIn/OutはJavaScriptのSDKで実装したのでSignUpも合わせようと思うところだけど、JavaScriptのSDKでSignUpを行うと作った途端にそのユーザで自動的にログインした状態になるので、これは使えない
先日、こんな記事を書きましたが、とても好評で 調子に乗って、Pythonのフレームワークの比較も書きたいと思います!しかも2018年最新版という位置付けで書きます! PythonのFlaskフレームワークでWebを作る! では、始めましょう! Django Official Website | GitHub | PyPI | Awesome 特徴メモ DjangoはPythonのフレームワークでも最も有名なフレームワークです。 Pythonのウェブフレームワークと言ったらDjangoが定番と言って良いでしょう。 Flask Official Website | GitHub | PyPI | Awesome 特徴メモ FlaskはPythonのWebアプリケーションフレームワークです。 マイクロWebフレームワークの中でも人気のフレームワークです。中規模以上の開発にも対応しているということ
前提条件 【Vue/Nuxt】-Vuex編- 天気APIを使って一通りフロントを実装してみる 上記記事にて天気APIのデータを取得済み 見える側を作っていく! 前回の続き ForcastCard というコンポーネントを作ってみました。 イメージはこんな感じ。 <template> <section class="weather"> <h1 class="weather__title">{{ weather.title }}</h1> <ForcastCard v-for="(forecast, i) in weather.forecasts" :forecast="forecast" :key="`weather__forcasts-key-${i}`"/> </section> </template> <script> import ForcastCard from '~/compone
はじめに 天気APIを例に、自分が理解しにくかったVuex・テスト(jest)をメインに解説したいと思います。 単体の記事(Vuexだけとか)は良いものがたくさんあるので、一通り実装すると、こんなコードになるよー。というサンプル感を意識しました👍 環境 nuxt : 2.0.0 @vue/test-utils: 1.0.0-beta.26 vue-jest : 3.0.0 vuex-map-fields : 1.3.1 lodash : 4.17.11 axios : 0.18.0 目指すところ livedoorのお天気WebサービスAPI「Weather Hacks」を使って天気を取得 (http://weather.livedoor.com/weather_hacks/webservice ) 取得したデータをストア(Vuex)で管理 「今日」「晴れのち雨」「画像」部分をコンポーネン
シリーズバックナンバー 何も考えずに Emacs を使って Clojure の Luminus webframework を使う Luminus のサーバ側で手っ取り早くAPIを試したいメモ書き Luminus で re-frame 、ping-pong ボタンを追加してみるメモ書き Luminus で GCE 上の API を叩いてみる 急募:なんか見える Web サーバ建てたい 先日大学にてとある課題をチキンレースしまして、その際にこのような要求が生まれました。 具体的に何がしたかったかと言いますと、何らかの機能を果す機械学習APIをGCE上で複数動かしており、それを用いて何か目に優しい形にしてデモンストレーションをしよう、という事です。 なんのことはなしに Django でも使えば?という御方もいらっしゃいますでしょうが、私は Python コードを見ると Tensorflow や
序 開発マシンで用いられることも増えてきているChromebook。3万円ちょいで衝動買いしたが、フルHD 15インチディスプレイで重さ2KG以下、半日作業くらいはバッテリーだけでこなせるので、重宝しそう。 Chromebookは、近時、GUIアプリが動く仮想Linux環境(crostini)が提供されたことにより統合開発環境(IDE)も動くようになっている。だが、日本で安価に入手できるChromebookは、RAM容量が2GBまたは4GBといった構成となる(RAM容量が多く高速なCPUを積んだChromebookは、Amazon等を介して輸入することに)。そのため、コマンドラインインターフェイス(CLI)で少なめのRAMを活かした開発を行う方法をマスターしておいた方が良いよ、というエントリー。 Chromebrew Chromebookで開発者モードに入った場合、はじめにChromebr
はじめに アドベントカレンダー18日目、aptpodのしがないサーバーサイドエンジニアがお届けします。 前回はGoのトランザクションの話を書きました(こちら)。今回は筆者が大好きなエディタ 「Vim」 について書こうと思います。と、いっても宗教戦争するつもりもありませんし、マニアックなことを語るつもりもありません。そもそも語れないですし。表題の通り初心者向けの記事にしようと思います。 筆者のVimスキル 「Vim好き」と言っても、VimScriptはよくわかりませんし、素のVimもそこまで使いこなしていないような気がします。ですが、そんな筆者でもプラグインを活用しながら、とても便利にVimを使うことができています。そんな感じのVimスキルです。 ちなみに、Vimは2013年ごろから使っています。今は基本的にターミナルとVimとブラウザで生きています。 対象読者 Vim初めて触る人 Vimを
動機 GCEの操作のためにWindows上で上手いこと動くEmacsが欲しい! とある理由でGCEを用いる必要があったのですが、ssh接続をするターミナル環境があったほうが便利なので、それならEmacsを使おう となりました。 しかし直接 Windows で動かすと色々不便なことが多いので下地にLinuxが欲しくなり、結果以下の選択肢が得られました。 Bash on Ubuntu や WSL を使う Docker を使う しかし前者は既に別の目的(主にWindowsのファイル操作とOrg-modeを用いたレポート作成)でEmacsを使っているため、別の環境が欲しいなぁとなり後者を採用することになりました。 Docker-Toolbox for Windows のインストール さて Docker を使うにあたって、私は仮想環境関連では Virtual Box をメインに使っているので Doc
from django import forms class NameForm(forms.Form): name = forms.CharField(label='Your name', max_length=100) 上記の NameForm というFormのテストをpytestで書いてみます。 import pytest from .forms import NameForm @pytest.mark.parametrize('name,is_valid', [ ('name', True), (1, False), (None, False), ]) def test_nameform(name, is_valid): form_data = { 'name': name } form = NameForm(data=form_data) assert form.is_valid(
ある日CTOから僕に勅命が下りました。 テストコードを作成せよ... と、 環境はVue + Jestということで色々調べてみたものの、種類が多すぎる... ・https://vue-test-utils.vuejs.org/ja/guides/ ・https://lmiller1990.github.io/vue-testing-handbook/ja/#vue-js%E3%83%86%E3%82%B9%E3%83%88%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF ・https://jestjs.io/docs/ja/testing-frameworks どれみればええねん。 すでにJest-test-Vueのようなライブラリが入っていたのでこれを使うことにしました。 要件の設定 とりあえず、動くテストコードをとのお達しを受
はじめに ReactとPlayで認証はどのようにやればいいかと思い調べてみました。 認証の基本的な流れについてはこちらを参考にしました。認証サービスとしてAPIのエンドポイントを用意して、Reactアプリケーションから認証する方法です。 認証にはJWTを使用します。またJWT内にロールを入れることで認可機能を追加します。 WebアプリケーションフレームワークにはPlayを使用しています。 認証と認可のライブラリにはSilhouetteを使用します。一からだと分かりづらいのでplay-silhouette-seedのテンプレートを使用しています。 これを少し変えてJWT認証をしてみたいと思います。 Silhouetteの概要についてはこちらを参照しました。 使用したバージョンです。 - Play 2.5.4 - Silette 4.0 初期設定 Silhouetteのエンドポイントで使用する
前提条件 【Vue/Nuxt】-Vuex編- 天気APIを使って一通りフロントを実装してみる 上記記事にて天気APIのデータを取得済み 【Vue/Nuxt】-コンポーネント編- 天気APIを使って一通りフロントを実装してみる 上記記事にてコンポーネント、画面完成 【Vue/Nuxt】-テスト編(コンポーネント)- 天気APIを使って一通りフロントを実装してみる 上記記事にてコンポーネントのテスト完成 ストアのテストを書いてみる 前回 コンポーネントテストを書いた時 にprops-template.jsを用意したように payloadStub にモックのJSONを書いてあげます。 import { createLocalVue } from '@vue/test-utils'; import Vuex from 'vuex'; import { cloneDeep } from 'lodas
みなさん、フロントエンドのテスト書いていますか? Nuxt.js(Vue.js)でJestを使ってコンポーネントのテストについては情報がいろいろありましたが、VuexのStoreのテストについてあまり情報がなかったので、今回はVuexStoreのテストについてまとめました。 「Nuxt v2とFirebase(CloudFirestore)でPWA対応Webアプリ開発」で作成したアプリケーションをJestでテストする手順についてまとめていきます。 テストの準備 テストに必要なツール https://github.com/facebook/jest JestはFacebookが開発を進めるフロントエンドのテストランナです。 Facebook製なので当然Reactに対応していますが、その他JavaScriptアプリケーションのテストにも使用でき、Vue.jsでも利用できます。 RSpecライク
最新版=>フロントエンドのテストについて考える 現在、新規プロジェクトで、Nuxt.js+TypeScriptを使ったSPAの開発を行っています。この記事では、そういったケースにおいての、Nuxt.jsアプリケーションでのテストに対する考え方と、その方法を紹介します。 TL;DR ユニットテスト/結合テスト=>Jest UIテスト=>Storybookをベースに、Jestで足りない部分を補う プロジェクトの技術スタック Nuxt.js Vue.js Vuex TypeScript Docker テスト種別の整理 簡単に、今回登場するテスト種別の整理をしておきます。より詳しくは、ググったり書籍を読んだりするのをおすすめします。 ユニットテスト - 個別の関数やクラス、コンポーネントをテストする。 結合テスト - 複数の関数やコンポーネントをつなぎこんでテストする。 UIテスト - ブラウザを
JavaScriptで中規模開発を行うためにTypeScript3(とYarn, DefinitelyTyped, Jest, CircleCI)を導入するTypeScriptCircleCIJeststandard はじめに TypeScriptはJavaScriptに静的型付けを導入したスーパーセット(上位互換)な言語です。 静的型付けされるのでJavaScriptより大規模な開発に向いています。 僕自身が小規模案件より中規模案件を担当することが増えてきていて、今後ももっと中規模案件を管理するためにTypeScriptの導入を進めています。 新しい言語ということでまだまだ枯れていないTypeScriptなのですが「2018年現在、とりあえずTypeScript書きたいな」という場面のために何をすれば良いかをまとめてみました。 TypeScript本体は2018年8月時点でバージョン3.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く