我有一台Ubuntu 9.10台式机,我在本地使用.我正在托管服务提供商上设置服务器.服务器将运行一个非常小的Ubuntu服务器LTS版本(只有LAMP和电子邮件服务器没有GUI).
我想编写一个脚本(安排为cron作业),允许我将本地文件上传到服务器上.出于安全原因,我想使用[SFTP] [1].
我是shell脚本的新手 - 但我想shell脚本就是这样做的方式(除非我弄错了).
任何人都可以向我提供有关如何编写此类脚本的初始指示,以便安全地将本地文件上载到服务器?
理想情况下,我想在传输之前压缩文件(以节省带宽)
[1]:http:// SSH文件传输协议
我正在用PHP编写一个badword过滤器.
我有一个数组中的坏词列表,方法cleanse_text()是这样写的:
public static function cleanse_text($originalstring){
if (!self::$is_sorted) self::doSort();
return str_ireplace(self::$badwords, '****', $originalstring);
}
Run Code Online (Sandbox Code Playgroud)
这对于完全匹配来说是微不足道的,但是我还要审查那些伪装成'ab*d'的词,其中'abcd'是一个坏词.事实证明这有点困难.
这是我的问题:
是一个值得打扰的坏词过滤器(它是专业人士的网站,所以需要一定的最低限度 - 我会想到)
是否值得尝试捕捉像'f*ck'这样的明显工作的喧嚣 - 或者我不应该尝试过滤掉那些.
是否有更好的方法来编写上面的cleanse_text()方法?
我正在编写一个简单的数据仓库,它允许我查询表以观察数据的周期性(比如每周)变化,以及数据变化的变化(例如每周销售额的每周变化).
为了简单起见,我将介绍我在这里使用的表的非常简化(几乎无关紧要)的版本.销售数据表是一个视图,具有以下结构:
CREATE TABLE sales_data (
sales_time date NOT NULL,
sales_amt double NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
出于这个问题的目的.我遗漏了你期望看到的其他字段 - 比如product_id,sales_person_id等等,因为它们与这个问题没有直接关系.AFAICT,将在查询中使用的唯一字段是sales_time和sales_amt字段(除非我弄错了).
我还有一个日期维度表,其结构如下:
CREATE TABLE date_dimension (
id integer NOT NULL,
datestamp date NOT NULL,
day_part integer NOT NULL,
week_part integer NOT NULL,
month_part integer NOT NULL,
qtr_part integer NOT NULL,
year_part integer NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)
哪个分区的日期为报告范围.
我需要编写允许我执行以下操作的查询:
在指定时间段内返回sales_amt 周的更改.例如,今天销售与销售N天之间的变化 - 其中N是正整数(在这种情况下N == 7).
返回指定期间sales_amt 变化的变化.对于(1).我们计算了一周的变化.现在我们想知道这种变化与上周计算的(周和周)变化有何不同.
然而,我在这一点上陷入困境,因为SQL是我最弱的技能.如果SQL主管可以解释如何以DB不可知的方式编写这些查询(即使用ANSI SQL),我将不胜感激.
我在Python中编写了一个小实用程序函数,它返回一个布尔值,表示今天是否在该月的第一周.
这是我到目前为止:
import calendar
import time
y, m = time.localtime(time.time())[:2]
data = calendar.month(y, m)
In [24]: type(temp)
Out[24]: <type 'str'>
In [25]: print temp
-------> print(temp)
July 2010
Mo Tu We Th Fr Sa Su
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Run Code Online (Sandbox Code Playgroud)
我想将此字符串打包到列表列表中.实际上,它只是我想要的第一行,因为它是第一周,但我可以推广该功能,这样我就可以检查我们是否在第n周,其中1 <n <5(取决于月份)当然).
一旦我有一个列表列表,我打算检查当前日期是否是列表中的元素.
任何人都可以展示如何将calendar.month()方法的输出转换为列表列表?
最后但并非最不重要,我可能会在这里重新发明轮子.如果有一种内置的方式(或者更多Pythonic的方式),有人请告诉我.
我有一个db模式,看起来像这样:
create table user (id int, name varchar(32));
create table group (id int, name varchar(32));
create table group_member (group_id int, user_id int, flag int);
Run Code Online (Sandbox Code Playgroud)
我想编写一个允许我这样做的查询:
给定有效的用户ID(UID),获取与指定的用户ID(UID)在同一组中的所有用户的ID,并且group_member.flag = 3.
而不仅仅是拥有SQL.我想学习如何像Db程序员一样思考.作为一名程序员,SQL是我最薄弱的环节(因为我对命令式语言比对声明性语言更为满意) - 但我想改变它.
无论如何,这里是我确定的必要步骤来分解任务.如果一些SQL专家可以演示简单的SQL语句(即原子SQL语句,下面是每个已识别的子任务一个语句),最后我将如何组合这些语句来制作实现所需功能的ONE语句,我将不胜感激.
这里(假设指定user_id [UID] = 1):
//Subtask #1.
Fetch list of all groups of which I am a member
Select group.id from user inner join group_member where user.id=group_member.user_id and user.id=1
//Subtask #2
Fetch a list of all members who are members of the groups I am a member of (i.e. …Run Code Online (Sandbox Code Playgroud) 我有以下功能(在IE6中工作,但在IE8中被破坏)
function implode() { var str = '';
for(item in globvars) //<- IE8 wets itself here ...
str+= '\n' + globvars[item]+';';
return str+'\n';
}
Run Code Online (Sandbox Code Playgroud)
这似乎是一个无害的小功能,但IE8非常小心.任何人都可以告诉我如何重写它,以便它在IE8(以及其他浏览器)中工作?
[编辑]
在脚本的开头(即标记之后的第一行,我已经定义了像这样的globvars:
var globvars = new Array(); // This should give globvars global scope
Run Code Online (Sandbox Code Playgroud)
IE8的错误是:
对象不支持此操作
我正在编写一个页面,它使用jQuery for AJAX进行大量的原位编辑和更新.
我遇到了一个问题,可以通过下面描述的工作流程进行总结:
问题出现在上面的第6点.我的主页面中的代码如下所示:
$(document).ready(function(){
$('img#inserted_form_btn').click(function(){
$.ajax({'type': 'POST', 'url': 'www.example.com', 'success': function($data){
$(data.id).html($data.frm);
}), 'dataType': 'json'}
});
});
Run Code Online (Sandbox Code Playgroud)
但是,事件未被触发.我认为这是因为首次加载文档时,页面上不存在img#inserted_form_btn元素(由于在页面上单击了一个元素(未在上面的代码中显示),因此将其插入到DOM中保持问题简短)
因此,我的问题是:如何让jQuery能够响应页面加载后添加到DOM中的元素中发生的事件?
我正在学习Python(我有一个C/C++背景).
我需要在学习的同时用Python编写实用的东西.我有以下伪代码(我第一次尝试编写Python脚本,因为昨天阅读了Python).希望该片段详细说明了我想要做的事情的逻辑.BTW我在Ubuntu Karmic上使用python 2.6.
假设脚本被调用为:script_name.py directory_path
import csv, sys, os, glob
# Can I declare that the function accepts a dictionary as first arg?
def getItemValue(item, key, defval)
return !item.haskey(key) ? defval : item[key]
dirname = sys.argv[1]
# declare some default values here
weight, is_male, default_city_id = 100, true, 1
# fetch some data from a database table into a nested dictionary, indexed by a string
curr_dict = load_dict_from_db('foo')
#iterate through all the files matching *.csv in the specified folder …Run Code Online (Sandbox Code Playgroud) 我可能会为这个问题采取一些热情.但我想知道如何解决这个问题.所以这里.
我用各种语言编程(不同级别的能力 - 不可否认).我已经涉足了C#,它似乎是一种非常好的语言(让我想起了很多Java和C++).问题在于,我所拥有的东西只能被描述为对雷蒙德公司所有事物的病态不信任 - 这是由于经验太多而无法在此列举.
我非常相信开源软件(GPLd或其他) - 并且是许多开源项目的狂热消费者和贡献者.
我的问题如下:
表面上可以使用单声道在Linux上运行.Net是否有人在生产中实际使用这样的设置?
在我看来,几乎每一个(半年?)左右,语言的新版本被推出 - (我不知道新版本是否可以向后兼容).无论如何,如果你采用其他语言,例如C/C++,Python等,那么'版本控制'之间的差别很小 - 因此它为开发人员提供了一个更"稳定"的环境.似乎(至少在我看来)学习/使用C#将是每六个月一次永无止境的学习曲线 - 我不确定我是否有足够的资金来对任何一种特定的语言做出如此大的贡献.
总而言之,我试图平衡学习/使用.Net(以及特别是C#,它看起来像一个漂亮的语言)的利弊,但如果我这样做,我想部署在Apache/Linux上(使用mySQL或PostgreSQL后端) - 而不是IIS/Windows/SQLServer.
这是一个梦想(在Linux上运行.Net/C#),还是有人在生产中实际使用它?
我正在写一个联盟系统,我想从网址生成一个独特的32个字符宽的令牌.
问题是URL最长可达128个字符(IIRC).有没有办法可以从给定的URL创建一个唯一的32字符宽的广告/令牌,没有任何"碰撞"?
我不确定这是编码,加密还是散列问题(可能是这三者的混合).
我将使用PHP实现这个"映射函数",因为这是我用来构建这个特定系统的语言.关于如何做到这一点的任何建议?
甚至可以将128个字符串字符串唯一映射到32个字符串中(即没有冲突?)...
[编辑]
我只是做了一些阅读,发现网址的最大长度实际上是2K左右.但是,我并不担心那种"愚蠢"的边缘情况.我很确定99.9%的时间,我强加的128个字符的限制应该足够了.
php ×2
python ×2
sql ×2
.net ×1
ansi-sql ×1
c# ×1
calendar ×1
compression ×1
dom ×1
encoding ×1
encryption ×1
filtering ×1
javascript ×1
jquery ×1
mono ×1
open-source ×1
postgresql ×1
sftp ×1
shell ×1
ubuntu ×1