Skip to content

Instantly share code, notes, and snippets.

@lqqyt2423
lqqyt2423 / ali_sdk.py
Created March 11, 2019 10:55
python 调用阿里云 sdk 示例
# -*- coding: utf8 -*-
# 调试模式
# DEBUG=sdk python3 main.py
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkcdn.request.v20180510 import DescribeCdnServiceRequest
@lqqyt2423
lqqyt2423 / .md
Created March 3, 2019 13:19
electron quick start
ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" npm i electron --save-dev

package.json

{
  "name": "tmp",
#!/usr/bin/env node
'use strict';
// 合并文件内容
const fs = require('fs');
const path = require('path');
const { log } = console;
#!/usr/bin/env node
'use strict';
// 删除文件
const fs = require('fs');
const path = require('path');
const { log } = console;
@lqqyt2423
lqqyt2423 / require.js
Created March 1, 2019 06:11
node require
(function (exports, require, module, __filename, __dirname) {
// code
})
@lqqyt2423
lqqyt2423 / .js
Created February 27, 2019 04:08
更健壮的 master worker
// master.js
'use strict';
const fork = require('child_process').fork;
const cpus = require('os').cpus();
const server = require('net').createServer();
server.listen(1337);
@lqqyt2423
lqqyt2423 / .js
Created February 27, 2019 02:44
udp 父子进程
// server.js
'use strict';
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
server.on('error', err => {
console.log(`server error:\n${err.stack}`);
@lqqyt2423
lqqyt2423 / .js
Last active February 27, 2019 03:07
node 多个子进程监听相同 http 端口
// 连接随机选择任一一个子进程
// 由于独立启动的进程互相之间并不知道文件描述符,所以监听相同端口时就会失败。
// 但对于 send()发送的句柄还原出来的服务而言,它们的文件描述符是相同的,
// 所以监听相同端口不会引起异常
// 多个应用监听相同端口时,文件描述符同一时间只能被某个进程所用。换言之就是网络请求
// 向服务器端发送时,只有一个幸运的进程能够抢到连接,也就是说只有它能为这个请求进行服务。
// 这些进程服务是抢占式的。
@lqqyt2423
lqqyt2423 / .js
Last active February 27, 2019 02:29
node 父进程共享TCP server 给子进程
// 连接随机触发父进程或子进程的 connection handler
// parent.js
'use strict';
const sub = require('child_process').fork('sub.js');
// Open up the server object and send the handle
@lqqyt2423
lqqyt2423 / .js
Last active February 26, 2019 12:16
进程间通信 node
// IPC
// parent.js
'use strict';
const cp = require('child_process');
const n = cp.fork('./sub.js');
n.on('message', function (m) {