我正在设计一个在端口30000上工作的p2p应用程序.我的路由器不是UPnP所以我需要将端口转发到路由器.但Skype是另一个p2p应用程序在我的电脑上没有端口转发.当我用wireshark分析它时,我发现它使用的是UDP端口48980,58544.我正在使用c ++.
在Python库在这里它会为纳特即插即用路由器.是否可以以编程方式将端口转发到路由器,而不管路由器和操作系统的类型如何.用c ++或任何其他语言做什么的方法应该是什么.
有没有办法使用mod_rewrite为许多URL 主动提供Apache的默认内置404页面?不是自定义错误文档,而是像
RewriteCond %{REQUEST_URI} ^/dirname/pagename
RewriteRule -- serve 404 page -----
Run Code Online (Sandbox Code Playgroud)
我知道如何构建一个发送404标头的PHP页面,并mod_rewrite重定向所有的URL,但我更喜欢mod_rewrite仅基于的解决方案.
我刚想到了重定向到一个不存在的地址:
RewriteCond %{REQUEST_URI} ^/dirname/pagename
RewriteRule .* /sflkadsölfkasdfölkasdflökasdf
Run Code Online (Sandbox Code Playgroud)
但这会在错误页面上给用户提供"/sflkadsölfkasdfölkasdflökasdf不存在"的消息,这看起来有点不专业.
我正在构建一个新的站点,它将包含动态和静态页面的混合.
我想尽可能少地为这些页面添加评论功能.我很好奇PHP中是否存在这样的解决方案.
理想的功能集将是:
<ul><li>....周围的网站可以设计出漂亮,干净的输出理想的整合将是这样的:
<?php show_comments("my_page_name"); ?>
Run Code Online (Sandbox Code Playgroud)
这将1.显示一个表单,添加一个自动关联的新评论my_page_name; 2.使用此ID显示通过此表单发表的所有评论.
有人知道这样的解决方案吗?
赏金
我正在设置赏金,因为虽然有一些好的建议,但它们都指向外部服务.我真的很好奇,看看周围是否有任何自我托管.如果这还不存在,那么将它视为一个开源项目肯定会很棒.
在PHP中,您可以使用以下表示法快速初始化具有值的数组:
$array = array("name" => "member 1", array("name" => "member 1.1") ) ....
Run Code Online (Sandbox Code Playgroud)
有没有办法为STDClass对象做这个?我不知道比沉闷更短的路
$object = new STDClass();
$object->member1 = "hello, I'm 1";
$object->member1->member1 = "hello, I'm 1.1";
$object->member2 = "hello, I'm 2";
Run Code Online (Sandbox Code Playgroud) 我正在寻找检索记录的下一个和上一个记录而不运行完整查询的最佳方法.我有一个完全实现的解决方案,并想知道是否有更好的方法来实现这一点.
假设我们正在为一个虚构的蔬菜水果商建立一个网站.除了他的HTML页面,他每周都希望在他的网站上发布特别优惠列表.他希望这些商品位于实际的数据库表中,用户必须能够以三种方式对商品进行排序.
每个项目还必须有一个详细信息页面,其中包含有关提供的更多文本信息以及"之前"和"下一步"按钮."上一个"和"下一个"按钮需要指向相邻条目,具体取决于用户为列表选择的排序.
alt text http://www.pekkagaiser.com/stuff/Sort.gif?
显然,"西红柿,第一类"的"下一步"按钮必须是第一个例子中的"苹果,第1类",第二个中是"梨,第一类",第三个中没有.
详细信息视图中的任务是确定下一个和上一个项目,而不是每次都运行查询,列表的排序顺序是唯一可用的信息(假设我们通过GET参数得到它?sort=offeroftheweek_price,并忽略安全隐患) .
显然,简单地将下一个和前一个元素的ID作为参数传递是第一个想到的解决方案.毕竟,我们现在已经知道了ID.但是,这不是一个选项 - 它可以在这个简化的例子中工作,但在我的许多现实世界的用例中都没有.
我在CMS中的当前方法是使用我命名为"排序缓存"的东西.加载列表时,我将项目位置存储在名为的表中的记录中sortingcache.
name (VARCHAR) items (TEXT)
offeroftheweek_unsorted Lettuce; Tomatoes; Apples I; Apples II; Pears
offeroftheweek_price Tomatoes;Pears;Apples I; Apples II; Lettuce
offeroftheweek_class_asc Apples II;Lettuce;Apples;Pears;Tomatoes
Run Code Online (Sandbox Code Playgroud)
很明显,该items列实际上填充了数字ID.
在详细信息页面中,我现在访问相应的sortingcache记录,获取items列,将其展开,搜索当前项ID,并返回上一个和下一个邻居.
array("current" => "Tomatoes",
"next" => "Pears",
"previous" => null
);
Run Code Online (Sandbox Code Playgroud)
这显然很昂贵,仅适用于有限数量的记录并创建冗余数据,但我们假设在现实世界中,创建列表的查询非常昂贵(确实如此),在每个详细视图中运行它都是在问题,需要一些缓存.
我的问题:
您是否认为查找不同查询订单的相邻记录是一种很好的做法?
您是否了解性能和简单性方面的更好实践?你知道一些让它完全过时的东西吗?
在编程理论中,这个问题有没有名称?
名称"Sorting cache"是否适用于此技术并且可以理解?
是否有任何公认的常见模式可以解决这个问题?他们叫什么?
注意:我的问题不是建立列表,或者如何显示详细信息视图.这只是例子.我的问题是当重新查询不可能时确定记录的邻居的基本功能,以及到达那里的最快和最便宜的方式.
如果不清楚,请发表评论我会澄清.
开始赏金 - 也许有更多关于此的信息.
我下面的一个基本的教程在斯威夫特构建一个简单的iOS应用.
它是用Swift 2.x编写的,我使用的是XCode 8 Beta和Swift 3.
本教程建议使用NSFileManager查找数据目录.类名已更改,因此自动修复的Swift 3如下所示:
static let DocumentsDirectory = FileManager().urlsForDirectory(.documentDirectory, inDomains:.userDomainMask).first!
static let ArchiveURL = DocumentsDirectory.URLByAppendingPathComponent("meals")
Run Code Online (Sandbox Code Playgroud)
但是,Xcode现在抱怨说
Value of type 'URL' has no member 'URLByAddingPathComponent'
Run Code Online (Sandbox Code Playgroud)
我无法找出现在调用的方法.
该NSURL类引用不包含任何提示如何从斯威夫特3解决这一问题
什么是新方法名称?
我在哪里可以找到Swift 3的完整类引用(或者,类的Swift 3接口URL定义了类 - 我仍然不完全理解命名法)所以我可以在将来自己研究这些?
我目前正在将Web应用程序从基于数据库的国际化方法(每个单词在翻译表中有一个条目,以及实际翻译)迁移到基于Zend_Translate和CSV文件的方法.
我需要提供一种最终用户友好的方式来快速轻松地更新这些翻译.理想情况下,为了最大限度地降低破坏内容的风险,用户不会直接编辑CSV文件,而是显示带有字段的漂亮表单.
您是否知道一个独立的,基于PHP的,最终用户兼容的转换前端,它支持其中一个适配器Zend_Translate必须提供 - 理想情况下是gettext或csv?
像Python的/ Django的Rosetta, 但在PHP?Rosetta正是我所需要的:

但出于服务器设置原因,我非常希望继续使用PHP.
SimplePO看起来正朝着正确的方向发展,但过于简单 - 它似乎无法处理多种语言和目录以及复数形式.
随着时间的推移,CSS样式表有一个变大和乱的习惯.
有很多规则,提示和思想流派有助于实现更清洁的CSS.(例如这里)然而,所有这些都需要持续的警觉性,活动和维护者的大量纪律,并在现实世界中取得成功.正如Nicole Sullivan所说的那样:
事实上,在大多数情况下,我们认为最佳实践的事情会导致我们试图避免的不良后果.我意识到(尽管它可能不受欢迎),我们不能通过更努力地努力使它运作良好.每次我们开始一个新项目时,我们都会想"这一次,我将保持代码清洁.这一次,该项目将成为CSS可以做些什么的光辉榜样."随着时间的推移,随着更多内容和功能被添加到网站中,代码变得意外重复和不可预测性.
是否有任何努力创建某种语言,严格的结构规则和无情的编译器,强制执行严格的规则,以防止样式表成为意大利面?编译的最终结果将是CSS.
我不知道这样的语言是什么样的,并且考虑到大量的可能性和组合,这是一个可解决的问题.
这个领域有没有研究?有什么要试试的吗?
一个非常有趣的相关工具是CSS Lint,但我要问的是甚至更远.
编辑: LESS和SASS绝对走向正确的方向,但它们不是我想要的.他们介绍了一些非常好的功能,并且对于CSS开发人员来说是天赐之物,但是我所询问的内容甚至更深入到了定义的强制结构中.
我正在对批处理脚本进行最后的修改,该脚本将本地编辑的网站的内容传输到Internet.
该脚本在控制台窗口中打开,并输出管理员需要查看的大量内容,以防出现问题.但是,在这种情况下,输出将作为电子邮件发送,因此无需显示输出并使不必要地运行更新的用户感到困惑.我只需要显示几行(比如"开始同步......"和"同步完成").
任何人都可以想到一种在批处理脚本中停止输出的方法吗?有点"回声"?
一个简单的
my_batch_file > nul
Run Code Online (Sandbox Code Playgroud)
不会削减它,因为正如我所说,我需要展示一些事情.
我有一种情况,我必须更新共享主机提供商的网站.该网站有一个CMS.使用FTP上传CMS的文件非常简单.
我还必须导入一个大的(相对于PHP脚本的限制)数据库文件(大约2-3 MB未压缩).Mysql因外部访问而关闭,因此我必须使用FTP上传文件,并启动PHP脚本进行导入.遗憾的是,我无法访问mysql命令行函数,所以我必须使用本机PHP解析和查询它.我也不能使用LOAD DATA INFILE.我也不能像phpMyAdmin一样使用任何一种交互式前端,它需要以自动化的方式运行.我也不能用mysqli_multi_query().
有没有人知道或者有一个已编码的简单解决方案,可以将这样的文件可靠地拆分成单个查询(可能有多行语句)并运行查询.我想避免自己开始摆弄它,因为我可能遇到很多问题(如何检测字段分隔符是否是数据的一部分;如何处理备忘录字段中的换行符;等等上).有必须是这个现成的解决方案.