If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "[email protected]"
npm set init.author.url "http://yourblog.com"
npm adduser
If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "[email protected]"
npm set init.author.url "http://yourblog.com"
npm adduser
{% if template contains 'product' %} | |
<meta property="og:type" content="product"> | |
<meta property="og:title" content="{{ product.title | strip_html | escape }}"> | |
<meta property="og:category" content="{{ product.type }}" /> | |
{% for image in product.images limit:3 %} | |
<meta property="og:image" content="http:{{ image.src | product_img_url: 'master' }}"> | |
<meta property="og:image:secure_url" content="https:{{ image.src | product_img_url: 'master' }}"> | |
{% endfor %} | |
<meta property="og:price:amount" content="{{ product.price | money_without_currency | stip_html | escape | remove: ',' }}"> | |
<meta property="og:price:currency" content="{{ shop.currency }}"> |
For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.
Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon
with HyperThreading enabled, but it can work without problem on slower machines.
You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.
CREATE TABLE [state]( | |
[stateID] [int] IDENTITY(1,1) NOT NULL, | |
[stateCode] [nchar](2) NOT NULL, | |
[stateName] [nvarchar](128) NOT NULL, | |
CONSTRAINT [PK_state] PRIMARY KEY CLUSTERED | |
( [stateID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) | |
ON [PRIMARY] |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
People
![]() :bowtie: |
๐ :smile: |
๐ :laughing: |
---|---|---|
๐ :blush: |
๐ :smiley: |
:relaxed: |
๐ :smirk: |
๐ :heart_eyes: |
๐ :kissing_heart: |
๐ :kissing_closed_eyes: |
๐ณ :flushed: |
๐ :relieved: |
๐ :satisfied: |
๐ :grin: |
๐ :wink: |
๐ :stuck_out_tongue_winking_eye: |
๐ :stuck_out_tongue_closed_eyes: |
๐ :grinning: |
๐ :kissing: |
๐ :kissing_smiling_eyes: |
๐ :stuck_out_tongue: |
First of all, please note that token expiration and revoking are two different things.
A JWT token that never expires is dangerous if the token is stolen then someone can always access the user's data.
Quoted from JWT RFC:
["A# .NET","A# (Axiom)","A-0 System","A+","A++","ABAP","ABC","ABC ALGOL","ABLE","ABSET","ABSYS","ACC","Accent","Ace DASL","ACL2","ACT-III","Action!","ActionScript","Ada","Adenine","Agda","Agilent VEE","Agora","AIMMS","Alef","ALF","ALGOL 58","ALGOL 60","ALGOL 68","ALGOL W","Alice","Alma-0","AmbientTalk","Amiga E","AMOS","AMPL","APL","App Inventor for Android's visual block language","AppleScript","Arc","ARexx","Argus","AspectJ","Assembly language","ATS","Ateji PX","AutoHotkey","Autocoder","AutoIt","AutoLISP / Visual LISP","Averest","AWK","Axum","B","Babbage","Bash","BASIC","bc","BCPL","BeanShell","Batch (Windows/Dos)","Bertrand","BETA","Bigwig","Bistro","BitC","BLISS","Blue","Bon","Boo","Boomerang","Bourne shell","bash","ksh","BREW","BPEL","C","C--","C++","C#","C/AL","Cachรฉ ObjectScript","C Shell","Caml","Candle","Cayenne","CDuce","Cecil","Cel","Cesil","Ceylon","CFEngine","CFML","Cg","Ch","Chapel","CHAIN","Charity","Charm","Chef","CHILL","CHIP-8","chomski","ChucK","CICS","Cilk","CL","Claire","Clarion","Clean", |
["Vue.js","Rome","Aurelia","Ember.js","Stimulus","NativeScript","Relay","Cycle.js","Babylon.js","Flight","Kickoff","Onsen UI","Cylon.js","Jest","Feathers","R","AVA","Bootbox.js","PrimeUI","mixin.a.lot","Highcharts JS","Scripty2","Crafty","Modernizr","T3 JavaScript Framework","Processing.js","Raphaรซl","RequireJS","Snack","Zepto","Jasmine","QUnit","Mocha","soma.js","Move.js","sketch.js","Jaggery","Mithril","AngularJS","Enyo JavaScript framework","jQuery","Kango","Cappuccino","ZK","qooxdoo","Durandal","SproutCore","wakanda","Webix","React","Sammy","TodoMVC","Knockout","corMVC","Polymer","Matreshka JavaScript Framework","Socket.IO","Meteor","Ext JS","Famous Framework","The Opa Language","Vanilla JS","MEAN","Google Web Toolkit (GWT)","Ample SDK","Flatiron","scaleApp","MooTools","Minified.js","Javelin","RightJS","ripple.js","Sails.js","midori","Stapes.js","DHTMLX","Dojo Toolkit","MochiKit","Echo","Kendo UI","NuclearJS","Java Web Toolkit","PureMVC","D3.js","Handlebars.js","JavaScript Library Boilerplate","Ampersand. |
["Adonis","Strapi","Sails.js","CompoundJS","Geddy","Tesla.js","Agni","TrinteJS","Locomotive","josi","rAppid.js","Spine","Grasshopper","Twee.io Framework","Monorail.js","MVC","Node Web Modules","Aries","Roosevelt MVC Web framework","Tachi","Ni","Blueprint","RestMVC","Serenity/JS","AllcountJS","DerbyJS","Meteor","Yahoo Mojito Framework","Catberry","MEAN","Sane Stack","Chocolate.js","MEAN.JS","Nuke.js","Genji","SocketStream","COKE","Danf","Vorpal","actionhero.js","LoopBack","Restberry","Diet.js","KeystoneJS","percolator.js","Koa","RhapsodyJS","Restify","Noder.io","Facet","Socket.IO","turtle.io","StrongLoop","Restling","NestJS","We.js","Express","Hapi.js","simpleS","Flatiron","Total.js","Pintura","Bone.io","webjs","Spludo Framework","rapid-rest","Seki","Impress","Protos","Nombo","Polpetta","Archetype","Capsela","Omni.js","Meryl","Katana","Node-My-Eatz","Connect","Kassit","experimentsJS","salmon.js","WebdriverIO","Nightwatch.js","Frisby.js","Mocha","Chai","Sixpack","Should.js","Node quickcheck","cucumis","Express. |