DenoとNode.jsは両方ともV8をバックエンドにしたサーバーサイドJavaScriptランタイムだが、そこには大きな違いが存在するkeroxp.icon
DenoとNode.jsは両方ともV8をバックエンドにしたサーバーサイドJavaScriptランタイムだが、そこには大きな違いが存在するkeroxp.icon
ICANN, the Internet Corporation for Assigned Names and Numbers, requires us to ask you as a Registrant of a domain name to verify your contact information for this domain with your provider. As a Registrant of a domain name, a new domain registration or changes to the first name, last name, contact address or email address of an existing domain name, requires verification of the information within
February 21, 2018Securing Your GraphQL API from Malicious Queries With GraphQL you can query exactly what you want whenever you want. That is amazing for working with an API, but also has complex security implications. Instead of asking for legitimate, useful data, a malicious actor could submit an expensive, nested query to overload your server, database, network, or all of these. Without the rig
(Hey, we're having problems showing images in RSS right now, so if you want a better reading experience, consider viewing this article online [here](https://zellwk.com//blog/endpoint-testing. We hope to fix this soon!). I played around with testing lately. One thing I tried to do was to test the endpoints of my Express application. Setting up the test was the hard part. People who write about test
Supertest Jest Testing NodeJs/Express API with Jest and Supertest This is part three of building API using Express, Sequelize, and Postgres. In part two, we built simple API endpoints to demonstrate CRUD operations in Sequelize. In this article, we'll be focusing on writing end-to-end tests for the API endpoints created in part two. Explanation of terms End-to-end testing - a type of test which te
LCP and low-entropy images In this article we take a look at how to see if an image has low-entropy for LCP calculation. Compare how different image formats load on the web WebP, AVIF, JPEG XL, Progressive JPEG - how do these image formats compare in terms of their load speeds and how can we measure it? In this article we review a small app that gives us a visual answer. Google Chrome introduces a
Interested in reading this tutorial as one of many chapters in my GraphQL book? Checkout the entire The Road to GraphQL book that teaches you to become a fullstack developer with JavaScript. In this chapter, you will implement server-side architecture using GraphQL and Apollo Server. The GraphQL query language is implemented as a reference implementation in JavaScript by Facebook, while Apollo Ser
前回の続き。 nomusiclife.hatenablog.jp 作成したGraphQLサーバをモニタリング可能な状態にする。 Apollo Engine Apollo Engine | The GraphQL Gateway with essential features like caching and performance tracing. GraphQL caching Query execution tracing Error tracking Trends などの機能を備える モニタリングしたいだけなのでcachingは今回使わない アラートは有償版でのみ有効 有償版は$99/mo~(割と高い) プラン一覧 導入 最初にGraphQLのスキーマをアップロードする npm i -g apollo apollo schema:publish --endpoint=<your gr
前回の続き nomusiclife.hatenablog.jp ZEIT Nowにデプロイする Deploying Node.js Apps - ZEIT Documentation 詳しい方法は公式ドキュメントに譲るとして... 一般的なnode appは特に設定をしなくてもプロジェクトディレクトリで now コマンドを実行すればデプロイされ、利用可能な状態になる。 npm scriptsの "start" がエントリーポイントになるので、以下のように設定しておく。 "scripts": { "start": "ts-node src/index.ts" }, now.json また、設定なしでデプロイした場合URLにプロジェクトディレクトリ名が勝手に入ってしまうため、 now.jsonの "name" で明示的にプロジェクト名を設定しておくとよい。 { "name": "graphql
モックサーバの実装 前回 nomusiclife.hatenablog.jp 1. 型の定義を行う import { ApolloServer, gql } from 'apollo-server' const typeDefs = gql` type Person { id: ID name: String phone: String } type Query { people: [Person] } ` const mocks = { Query: () => ({ people: () => new MockList([2, 5]), // 2~5件の[Person]が返る }), } const server = new ApolloServer({ typeDefs, mocks, playground: true, }) const port = 4004 server.lis
GraphQLのモックサーバを作る際に使うものをメモ 使うもの TypeScript ts-node, ts-node-dev apollo-server, apollo-engine Zeit Now TypeScript 型があったほうが書きやすい 最近はクライアント(React)も全てTypeScriptで書いてるし... apollo-serverのパッケージには型情報が含まれている ts-nodeとts-node-dev 本番はともかく、パフォーマンスを必要としないdevでいちいちコンパイルしてから実行するのはめんどくさい ts-nodeを使えば.tsをそのまま実行できる とある案件のdev環境でしばらく使っているが安定稼働している ローカルで開発を行う際にはts-node-devを使う --respawn オプション付きで起動するとファイルの更新を検知して再起動する Apoll
bunyanbunyan is actually the first module I tested. But maybe I don’t fully understand the API, configuring a logger is pretty troublesome. It doesn’t seem to have a central config in bunyan (even bunyan-config doesn’t solve the problem) Bunyan doesn’t do hierarchical logger names. Maybe log.child can solve the above problem? But I think requiring a parent logger to be passed around is a counter-i
こんにちは。バックエンドエンジニアの西尾です。 スペースマーケットではAPIサイドは主にRailsを利用していますが、最近は一部サービスでNode.js+Typescriptを使い始めました。 個人的にはまだ触れていなかった領域であったのでお勉強がてら簡単なコードを書いてみたいと思っていました。 また、Node.jsの他にもう一つ最近気になり始めていたものにClean Architectureという設計思想があり、Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んでいます。 本の概要は、アプリケーションが成長するに従い徐々に改修コストが上がってしまう、これを防ぐためにはうまい方法、つまり良い設計を知っている方法があるという導入から始まり、設計の歴史、原則とそれを実現するための1手段としてClean Architectureという設計思想について語られています。
Monorepoとは何か npmで管理する複数のpackageを、まとめて一つのgitリポジトリで管理すること。 具体的に 例えば、 npm上にBabelは108以上のパッケージがある。 babelはpluginを追加していくスタイルなので、 babel-core, babel-cli, babel-preset-es2017, babel-preset-flow .... と、たくさんのパッケージがあり npm install babel-preset-flow 等々して取り込んでいく。 従来、npmでは「1リポジトリ=1パッケージ」が標準だったが、多数パッケージを管理するBabelのようなプロジェクトでは多数リポジトリを扱うことになり、混乱が大きい。 そこで、単一リポジトリの /packages 以下にたくさんパッケージを作り(フォルダとpackage.jsonを多数作り)、管理するの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く