我正在使用http://apidocjs.com/为我正在构建的Express.js API创建公共文档.我的问题是,如何使用Express.js来路由和提供文档?
这是我的Express服务器设置:
/** Load config into globally defined __config
* @requires fs */
var fs = require('fs');
__config = JSON.parse(fs.readFileSync('config/config.json'));
/** Custom Logging Moduele
* @requires ninja_modules/jacked-logger */
log = require('./ninja_modules/jacked-logger');
/** Configure the Express Server
* @requires express
* @param {function} the callback that configures the server */
var express = require('express');
var app = express();
app.configure(function() {
/** Sets default public directory */
app.use(express.static(__dirname + '/public'));
/** Sets root views directory */
app.set('views', __dirname + …Run Code Online (Sandbox Code Playgroud) 我正在开发一个cron脚本(在PHP PDS中用于MySQL数据库),它将从数据库中删除超过30天的数据.香港专业教育学院尝试加入和删除cascaded在我的表和语句,但他们没有成功,所以我采用更简单的方法来使它工作,但我知道这不是最有效的处理器方法.
请注意,其中一些表(尤其是链接表)有数十万行,这就是为什么我想要比我在这里更聪明一点.
表结构很简单,有一个表键表,有一个时间戳和一个id.该id在所有表中重复为tablekey_id.
我目前的cron工作如下.
/* Cron script to delete old data from the database. */
if (@include dirname(dirname(dirname(__FILE__))) . '/dbconn/website_connections.php') {
$conn = $connectionFromOtherFile;
$keyTable = 'table_key';
$linksTable = 'links';
$domainsTable = 'link_domains';
$terms = 'searched_domains';
$query = $conn->query("SELECT `id` FROM `$keyTable` WHERE `timestamp` < (NOW() - INTERVAL 30 DAY)");
$query->setFetchMode(PDO::FETCH_ASSOC);
while($row = $query->fetch()) {
$conn->exec("DELETE FROM `$linksTable` WHERE `tablekey_id` = $row[id]");
$conn->exec("DELETE FROM `$domainsTable` WHERE `tablekey_id` = $row[id]");
$conn->exec("DELETE FROM `$terms` WHERE `tablekey_id` = $row[id]");
$conn->exec("DELETE …Run Code Online (Sandbox Code Playgroud) 背景 -
我在项目上使用自动引用计数.根视图是表格视图(主/细节设置),显示"幻灯片放映"列表.单击一个表格单元格,您将进入详细视图,其中包含一个带有视图的滚动视图(viewController.view)(这是"幻灯片放映").每个幻灯片都有一个前盖和后盖(相同的视图控制器格式不同),夹着可变数量的页面.以下是加载幻灯片放映的代码:
- (void)loadScrollView
{
// The front and back cover are set in Interface Builder because they
// are reused for every slide show, just labels are changed.
[self.scrollView addSubview:self.frontCoverViewController.view];
[self.frontCoverViewController setCoverTitle:_data.name creationDate:_data.creationDate isFrontCover:YES];
[self.pagesArray addObject:self.frontCoverViewController];
for (int i = 0; i < [self getTotalNumberOfComps]; i++)
{
PageViewController *pageView = [[PageViewController alloc] init];
pageView.data = [_compsArray objectAtIndex:i];
[_scrollView addSubview:pageView.view];
pageView.data.imgView = pageView.imageView;
pageView.slideShowViewController = self;
[_pagesArray addObject:pageView];
}
[self.scrollView addSubview:self.backCoverViewController.view];
[self.backCoverViewController setCoverTitle:_data.name creationDate:_data.creationDate isFrontCover:NO];
[self.pagesArray addObject:self.backCoverViewController];
[self.scrollView bringSubviewToFront:_frontCoverViewController.view]; …Run Code Online (Sandbox Code Playgroud) 我在使用 javascript 的正则表达式时遇到了一些困难;
这是我的小提琴:http : //jsfiddle.net/6yhwzap0/
我创建的函数是:
var splitSentences = function(text) {
var messy = text.match(/\(?[^\.\?\!]+[\.!\?]\)?/g);
var clean = [];
for(var i = 0; i < messy.length; i++) {
var s = messy[i];
var sTrimmed = s.trim();
if(sTrimmed.length > 0) {
if(sTrimmed.indexOf(' ') >= 0) {
clean.push(sTrimmed);
} else {
var d = clean[clean.length - 1];
d = d + s;
var e = messy[i + 1];
if(e.trim().indexOf(' ') >= 0) {
d = d + e;
i++;
} …Run Code Online (Sandbox Code Playgroud)