我有这个函数以递归方式打印目录中的所有文件的名称.问题是我的代码非常慢,因为它必须在每次迭代时访问远程网络设备.
我的计划是先递归加载目录中的所有文件,然后再使用正则表达式遍历所有文件,过滤掉我不想要的所有文件.有人有更好的建议吗?
public static printFnames(String sDir){
File[] faFiles = new File(sDir).listFiles();
for(File file: faFiles){
if(file.getName().matches("^(.*?)")){
System.out.println(file.getAbsolutePath());
}
if(file.isDirectory()){
printFnames(file.getAbsolutePath());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这只是稍后的一个测试,我不打算使用这样的代码,而是我要将每个匹配高级正则表达式的文件的路径和修改日期添加到数组中.
我正在为这家夜总会工作,目前正在为他们建立一个网站,他们有很多活动,他们的网站围绕各种活动建立了很多,今天他们为每个活动制作了一个facebook活动,但是拥有一个"添加到我的日历"按钮,将其添加到您的iCal或Google日历(甚至可能是Outlook).
我已经设法弄清楚如何制作日历源,但随后它将被添加为新的日历,唯一的好处是人们可以"订阅事件"但是每个事件都有一个日历是非常混乱的.所以我想知道如何实现一个功能,让他们轻松地将它添加到他们的主日历.想想像mailto:链接,但是如果可能的话,可以用于日历.
此外,如果有人知道是否可以自动将Facebook中的事件导入WordPress或将事件从WordPress导出到Facebook,那将是很好的,但这并不是那么重要.
在Java中反转字符串的最有效方法是什么?我应该使用某种xor运算符吗?简单的方法是将所有字符放在堆栈中并将它们重新放回字符串中,但我怀疑这是一种非常有效的方法.
请不要告诉我在Java中使用一些内置函数.我有兴趣学习如何不使用有效的功能,但不知道为什么它有效或如何建立.
好的,所以我正在开发一个项目,我需要一个正则表达式,可以匹配*后跟1-4个空格或制表符,然后是一行文本.现在我正在使用.*在观察后进行测试.但是我可以让它明确匹配1,2或4个空格/制表符,但不能匹配1-4.我正在测试以下块
* test line here
* Second test
* Third test
* Another test
Run Code Online (Sandbox Code Playgroud)
这些是我正在测试的两种模式(?<=(\*[ \t]{3})).*
,它们按照预期工作并匹配第二行,如果我用1,2或4替换3,那么如果我用1,4替换它形成以下模式(?<=(\*[ \t]{1,4})).*
它不再匹配任何行和我老实说无法理解为什么.我试过谷歌搜索没有成功.我正在使用g(lobal)旗帜.
可以说我有一堆看起来像这样的代码:
if( !isset($this->domainID) && !$this->getDomainID() ){
return false;
}
Run Code Online (Sandbox Code Playgroud)
如果第一个语句是真的,第二个语句会运行吗?因为性能明智,如果我已经获得了ID,那么从数据库中获取ID将是愚蠢的,而且还有很多其他情况同样适用.如果不是我必须筑巢,我是对的吗?
我不知道在这些情况下是否有关于编程语言如何工作的标准,或者在其他语言中是否与php不同.我尝试使用Google搜索,但在这种情况下我真的不知道要搜索什么.正如你所看到的,我很难在标题中描述它.
假设我有一个函数接受一个值和任意数量的函数,让我们调用 chain_call 的函数。
如果没有类型,一个简单的实现将是:
def chain_call(input_value, *args):
for function in args:
input_value = function(input_value)
return input_value
Run Code Online (Sandbox Code Playgroud)
如你想象,将input_value可以是任何东西真的,但它总是一样的第一的第一个也是唯一需要的参数Callable
在*args: List[Callable]
。
从这里开始,Callable
第一个也是唯一必需的参数与前一项返回类型的类型相同。
到目前为止,我已经设法定义了一个非常通用的类型,但它太松散了。
def chain_call(input_value: Any, *args: List[Callable[Any], Any]) -> Any: ...
Run Code Online (Sandbox Code Playgroud)
我真正喜欢的是这样的
T = TypeVar('T')
def chain_call(input_value: T, *args: List[Callable[T, ...], tr]) -> tr: ...
Run Code Online (Sandbox Code Playgroud)
其中T
forCallable n+1
是tr
of Callable n
,最终返回类型是 tr of Callable n_max
。我不确定如何用类型系统表达这一点,并且希望得到任何指导。
我以前没有和oAuth合作,但现在我正在构建一个Web应用程序,它需要从gmail中的特定标签获取所有邮件,并且使用带有oAuth的IMAP似乎是正确的方法.我刚刚开始,但我已经用谷歌注册了我的开发域名,所以我有一个消费者密钥和秘密但是在"在这里测试你的AuthSub注册".链接在谷歌页面我只授予访问日历(我甚至不需要)我已经搜索了一些,但所有这些新的东西是非常混乱,我找不到使用什么范围参数,我试过将范围参数更改为https://mail.google.com,.. go ../ mail /,.. go ../ mail@user@gmail.com/imap/和..go ../ mail/imap/where ..go ..是https://mail.google.com和https://google.com
那么有人能指出我正确的方向吗?
我目前正在开发一个应用程序,其中包括在web gui中显示电子邮件的功能,现在我想知道在Web浏览器中显示电子邮件的最佳做法,首先我虽然我应该使用iframe但是在查看时他们似乎没有使用iframe的主要网络邮件客户端的来源,所以这就是我在这里问的原因.我担心来自邮件的样式和脚本会影响我的网站的其余部分(也是xss),但我仍然希望电子邮件以他们要显示的方式显示.
我目前正在开发一个基于Web的邮件服务(它不是一个邮件客户端,但需要解释很多).但是在此之前我从未使用oauth,但它似乎是要走的路,我已经将我的简单类基于sampel代码.但是,示例代码几次没有提供签名解决方案,或者我错过了它.
所以基本上我的问题是,每当我登录时,我需要再次授权gmail,而我已经看到其他服务你曾经这样做过,之后你只需登录并立即重新定向,而不再接受.
编辑:为了澄清,我正在使用oauth登录和IMAP,这是愚蠢的吗?我认为这是最好的方式,因为当我的所有应用程序真正做到的都是通过oauth围绕谷歌应用程序imap时,将OpenID和oauth连接到同一用户似乎很奇怪.我认为tungle.me以这种方式工作,因为我只需要在那里进行授权,下次谷歌立即重定向我,我希望我的应用程序以这种方式工作.
编辑2:进一步搜索后似乎授权是第一次然后我应该使用身份验证,因为英语不是我的第一语言我虽然他们的意思相同.所以问题就在于,当已经创建帐户的用户再次登录时,如何通过谷歌进行身份验证,这样我就不需要每次都生成新的令牌.
如何在java函数中返回向量.我想反序列化从文件加载的向量并返回函数但我得到错误.这就是我目前拥有的代码.
private static Vector<Countries> loadOB(String sFname) throws ClassNotFoundException, IOException {
ObjectInputStream oStream = new ObjectInputStream(new FileInputStream(sFname));
Object object = oStream.readObject();
oStream.close();
return object;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个脚本,在没有自定义标志的情况下下载某个文件夹中的所有邮件,现在让我们调用标志$ aNiceFlag; 在我收到邮件后,我想用$ aNiceFlag标记它.然而,在解决标志问题之前,我有一个问题是立即从邮件中提取我需要的内容.
这是我需要的信息:
我可以通过使用轻松获得主题$mailObject->subject
.我正在查看Zend文档,但这对我来说有点混乱.
这是我现在的代码,我不应该回应内容,但这只是暂时的测试:
$this->gOauth = new GoogleOauth();
$this->gOauth->connect_imap();
$storage = new Zend_Mail_Storage_Imap(&$this->gOauth->gImap);
$storage->selectFolder($this->label);
foreach($storage as $mail){
echo $mail->subject();
echo strip_tags($mail->getContent());
}
Run Code Online (Sandbox Code Playgroud)
我正在使用谷歌oAuth访问邮件.$this->label
是我想要的文件夹.它现在非常简单,但在使它变得复杂之前,我想弄清楚基本原理,例如将所有上面列出的数据提取到数组中的单独键中的合适方法.
php ×4
java ×3
html ×2
imap ×2
oauth ×2
web ×2
algorithm ×1
authsub ×1
calendar ×1
email ×1
file-io ×1
function ×1
gmail ×1
icalendar ×1
lookbehind ×1
performance ×1
python ×1
python-3.x ×1
quantifiers ×1
regex ×1
security ×1
string ×1
type-hinting ×1
types ×1
vector ×1
webclient ×1
zend-mail ×1