我一直在研究一些Node应用程序,我一直在寻找一种存储与部署相关的设置的良好模式.在Django世界(我来自哪里),通常的做法是拥有一个settings.py包含标准设置(时区等)的文件,然后是一个local_settings.py用于部署特定设置的文件,即.什么数据库交谈,什么memcache套接字,管理员的电子邮件地址等.
我一直在寻找类似Node的模式.只是一个配置文件会很好,所以它不必被其他所有东西堵塞app.js,但我发现有一种方法可以在一个不在源代码控制中的文件中进行特定于服务器的配置.相同的应用程序可以在不同的服务器上部署,具有完全不同的设置,并且必须处理合并冲突以及所有这些不是我的乐趣.
那么是否有某种框架/工具,或者每个人都自己一起破解某些东西?
我无法在网上找到这个问题的好解决方案(可能因为交换机,位置,列表和Python都是这样的重载词).
这很简单 - 我有这个清单:
['title', 'email', 'password2', 'password1', 'first_name', 'last_name', 'next', 'newsletter']
Run Code Online (Sandbox Code Playgroud)
我想切换的位置'password2'和'password1'-不知道他们的确切位置,只知道他们是对彼此相邻并password2是第一.
我用一些相当冗长的列表下标来完成这个,但我想知道它可能会提出一些更优雅的东西吗?
我有这样的代码:
var client = new mysql.Client(options);
console.log('Icanhasclient');
client.connect(function (err) {
console.log('jannn');
active_db = client;
console.log(err);
console.log('hest');
if (callback) {
if (err) {
callback(err, null);
}
callback(null, active_db);
}
});
Run Code Online (Sandbox Code Playgroud)
我的问题是Node运行时会立即终止.它打印'Icanhasclient',但没有调用回调内的console.log.
(本例中的mysql是node-mysql.
有没有什么可以让node.js在退出之前等待回调完成?
如何将整数转换为基数62(如十六进制,但使用这些数字:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ').
我一直在努力为它找到一个好的Python库,但它们似乎都在转换字符串.Python base64模块只接受字符串并将一个数字转换为四个字符.我正在寻找类似于URL缩短器使用的东西.
我正在尝试这样的查询:
DELETE FROM term_hierarchy AS th
WHERE th.parent = 1015 AND th.tid IN (
SELECT DISTINCT(th1.tid)
FROM term_hierarchy AS th1
INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015)
WHERE th1.parent = 1015
);
Run Code Online (Sandbox Code Playgroud)
你可以告诉我,如果同一个tid有其他父母,我想删除1015的父关系.但是,这会产生语法错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS th
WHERE th.parent = 1015 AND th.tid IN (
SELECT DISTINCT(th1.tid)
FROM ter' at line …Run Code Online (Sandbox Code Playgroud) 我们知道node.js为我们提供了强大的力量,但强大的力量带来了巨大的责任.
据我所知,V8引擎不做任何垃圾收集.那么我们应该避免哪些最常见的错误,以确保没有内存从我的节点服务器泄漏.
编辑: 对不起我的无知,V8确实有一个强大的垃圾收集器.
我一直在寻找网络,试图找到学习PostgreSQL的过程编程语言PL/pgSQL的良好资源.
到目前为止,我唯一能够设法挖掘的是PostgreSQL文档中的教程.虽然这很好,但我一直在寻找更深入的东西.你能推荐一下吗?
使用ES2015语法,我们有了新的导入语法,我一直在试图弄清楚如何将从一个文件导出的所有内容导入另一个文件,而不必将其包装在一个对象中,即.就好像它们是在同一个文件中定义的一样.
所以,基本上,这个:
// constants.js
const MYAPP_BAR = 'bar'
const MYAPP_FOO = 'foo'
Run Code Online (Sandbox Code Playgroud)
// reducers.js
import * from './constants'
console.log(MYAPP_FOO)
Run Code Online (Sandbox Code Playgroud)
这不起作用,至少根据我的Babel/Webpack设置,这种语法无效.
这样可行(但如果你需要输入的东西多于一些东西,那就很长而烦人):
// reducers.js
import { MYAPP_BAR, MYAPP_FOO } from './constants'
console.log(MYAPP_FOO)
Run Code Online (Sandbox Code Playgroud)
就像这样(但它将对象包装在一个对象中):
// reducers.js
import * as consts from './constants'
console.log(consts.MYAPP_FOO)
Run Code Online (Sandbox Code Playgroud)
是否有第一个变体的语法,或者您必须按名称导入每个东西,还是使用包装器对象?
为了检测hstore中是否存在密钥,我需要运行如下查询:
SELECT * FROM tbl WHERE hst ? 'foo'
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一个PDOException:
PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound: SELECT * FROM tbl WHERE hst ? 'foo'
Run Code Online (Sandbox Code Playgroud)
有没有办法逃避问号,所以PDO不会把它作为占位符拿起来?我尝试过多达四个反斜杠,以及一个双问号(??),但似乎没有任何说服PDO单独留下问号.
node.js ×3
php ×2
postgresql ×2
python ×2
sql ×2
base62 ×1
ecmascript-6 ×1
in-subquery ×1
javascript ×1
list ×1
math ×1
memory-leaks ×1
mysql ×1
optimization ×1
pdo ×1
plpgsql ×1
sql-delete ×1
subquery ×1