小编Chr*_*ung的帖子

使用Java在Gmail帐户上发送电子邮件

我知道这个问题之前会被问到,但我认为这是2 - 3年前,事情发生了变化.现在没有任何代码示例正在运行.我在Java 1.6中尝试以下代码:

Properties props = new Properties();
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.debug", "true");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("uname","password");
    }
});
session.setDebug(true);
Transport transport = session.getTransport();
InternetAddress addressFrom = new InternetAddress("abc@gmail.com");
MimeMessage message = new MimeMessage(session);
message.setSender(addressFrom);

for (int j = 0; j < 20; j++) {
    message.setSubject("Testing javamail plain"+Math.random());
    message.setContent("This is a test", "text/plain");
    String sendTo [] = …
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
3498
查看次数

验证网址| 预先http://

我想检查用户提交的URL与正则表达式,如果url不以http://或https://开头,那么我想先将http://添加到开头然后保存它.

我有一些代码,但我不知道如何将它合并到我的应用程序中.这段代码会起作用吗?并且我会在允许用户创建链接之前将其合并到我的应用程序中以检查URL.

我已经附上了下面的代码和文件.谢谢

def add_http(link)
  if (link =~ /http[s]?:\/\//)
    link
  else
    "http://#{link}"
  end
end
Run Code Online (Sandbox Code Playgroud)

控制器https://gist.github.com/1279576

_form https://gist.github.com/1279580

型号https://gist.github.com/1279582

ruby regex model-view-controller ruby-on-rails ruby-on-rails-3

2
推荐指数
3
解决办法
2064
查看次数

strcat()新行,重复字符串

我正在编写一个函数来获取系统的路径环境变量,分割每个路径,然后在其他一些额外的字符上连接到每个路径的末尾.

一切正常,直到我使用该strcat()功能(见下面的代码).

char* prependPath( char* exeName )
{
    char* path = getenv("PATH");  
    char* pathDeepCopy = (char *)malloc(strlen(path) + 1);
    char* token[80];
    int j, i=0; // used to iterate through array

    strcpy(pathDeepCopy, path);

    //parse and split

    token[0] = strtok(pathDeepCopy, ":"); //get pointer to first token found and store in 0
    //place in array
    while(token[i]!= NULL) { //ensure a pointer was found
        i++;
        token[i] = strtok(NULL, ":"); //continue to tokenize the string
    }

    for(j = 0; j <= i-1; j++) …
Run Code Online (Sandbox Code Playgroud)

c string

1
推荐指数
1
解决办法
7652
查看次数

在NTFS中创建磁盘大小与实际大小之间的差异

我一直在寻找大小为10kb但磁盘大小为10gb的文件.试图弄清楚这是如何完成的,任何人都有任何想法?

ntfs

1
推荐指数
1
解决办法
732
查看次数

如何在Java中将给定String的UTF-8编码的字节的MD5哈希的前8个字节表示为long?

如何在Java中将给定String的UTF-8编码的字节的MD5哈希的前8个字节表示为long?

java byte

1
推荐指数
1
解决办法
952
查看次数

如何将一个返回闭包的Scheme函数转换为等效的Common Lisp函数?

我正在将一些Scheme代码转换为Common Lisp.我不知道Scheme.我知道一点Common Lisp.

我想我理解这个Scheme代码:

(define (make-cell)
    (let ((local-name '()))
       (define (local-add-name name)
           (set! local-name name))
        (define (me message)
            (cond ((eq? message 'add-name) local-add-name)
                  ((eq? message 'name) local-name)))
     me))
Run Code Online (Sandbox Code Playgroud)

使用该功能,我可以制作两个单元格:

(define a (make-cell))
(define b (make-cell))
Run Code Online (Sandbox Code Playgroud)

然后我可以在每个单元格中存储一个名称:

((a 'add-name) 'a)
((b 'add-name) 'b)
Run Code Online (Sandbox Code Playgroud)

然后我可以检索存储在每个单元格中的名称:

(a 'name)
Run Code Online (Sandbox Code Playgroud)

=> a

(b 'name)
Run Code Online (Sandbox Code Playgroud)

=> b

a-cell在其中存储了名称"a".b-cell在其中存储了名称"b".我可以查询a-cell的名称,然后返回"a".我可以查询b-cell的名称,然后返回"b".

到目前为止,我是否正确理解?

现在我想使用Common Lisp实现相同的功能.这是我创建的make-cell函数:

(defun make-cell ()
    (let ((local-name nil))
        (defun local-add-name (name)
            (setf local-name name))
        (defun me (message)
            (cond ((eq message 'add-name) #'local-add-name)
                  ((eq message 'name) local-name)))))
Run Code Online (Sandbox Code Playgroud)

显然这是错误的,因为它没有给出所需的行为,正如我接下来所示. …

scheme common-lisp

1
推荐指数
2
解决办法
299
查看次数

需要重构解决方案

我有一个页面,我必须根据用户选择动态加载控件.让我们说我有这样的事情:

public static readonly Dictionary<string, string> DynamicControls = new Dictionary<string, string>
        {
            { "UserCtrl1",  "~/Controls/UserCtrl1.ascx" },
            { "UserCtrl2",  "~/Controls/UserCtrl2.ascx" },
            { "UserCtrl3",  "~/Controls/UserCtrl3.ascx" },
            { "UserCtrl4",  "~/Controls/UserCtrl4.ascx"}
};
Run Code Online (Sandbox Code Playgroud)

现在让我们说,而不是在加载控件的页面上,代码是这样的:

protected void Page_Load(object sender, EventArgs e)
        {
            SomePanel.Controls.Add(GetControl());
        }        

        private Control GetControl()
        {
            string dynamicCtrl = CurrentItem.DynamicControl;
            string path = SomeClass.DynamicControls[dynamicCtrl];

            Control ctrl = null;            

            //TODO: find a better way to load the controls
            switch (dynamicCtrl)
            {
                case "UserCtrl1":
                    {
                        ctrl = (UserCtrl1)LoadControl(path);
                    }
                    break;
                case "UserCtrl2":
                    {
                        ctrl = (UserCtrl2)LoadControl(path); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net refactoring

0
推荐指数
1
解决办法
209
查看次数

为什么这个通用接口堆栈不起作用?

我有一堆通用接口和类

public interface IElement {
// omited
}

class Element implements IElement {
// omited
}

public interface IElementList<E extends IElement>  extends Iterable {
   public Iterator<E> iterator();
}

class ElementList implements IElementList<Element> {

    public Iterator<Element> iterator() {
       // omited
       }
}


public interface IElementListGroup<E extends IElementList<? extends IElement>> {
    public E getChosenElementList();
}


class ElementListGroup implements IElementListGroup<ElementList> {
    public ElementList getChosenElementList() {
        // omited
    }
}
Run Code Online (Sandbox Code Playgroud)

然后是一个简单的代码

ElementListGroup group;

for(Element e : group.getChosenElementList())
{
 // omited
}
Run Code Online (Sandbox Code Playgroud)

而对于关键字throwe的行"无法从元素类型Object转换为Element"编译器错误.

提前致谢.

java

0
推荐指数
1
解决办法
184
查看次数

帮我消除python中的for循环

必须有一种更快的方法来做到这一点.

这里有很多东西,但打开包装相当简单.

这是相关的python代码(来自scipy import*)

for i in arange(len(wav)):
    result[i] = sum(laser_flux * exp(-(wav[i] - laser_wav)**2) )
Run Code Online (Sandbox Code Playgroud)

有一堆数组.

  • 结果 - 长度数组(wav)
  • laser_flux - 长度数组(激光)
  • wav - 长度数组(wav)
  • laser_wav - 长度数组(激光)

是的,在指数范围内,我正在逐个(逐个元素)平方标量值和laser_wav数组之间的差异.

一切都按预期工作(包括缓慢)任何帮助,你可以给我消除这个for循环将非常感谢!

python for-loop

0
推荐指数
1
解决办法
632
查看次数

wait()和notify()方法,总是发生IllegalMonitorStateException并告诉我当前Thread不是Owner为什么?

package pkg_1;

public class ExpOnWaitMethod extends Thread {

    static Double x = new Double(20);


    public static void main(String[] args) {

        ExpOnWaitMethod T1 = new ExpOnWaitMethod();
        ExpOnWaitMethod T2 = new ExpOnWaitMethod();

        T1.start();

        T2.start();

    }

    public void run() {

        Mag mag = new Mag();

        synchronized (x) {

            try {
                for (int i = 1; i < 10; i++) {
                    mag.nop(Thread.currentThread());
                    x = i * 2.0;

                }

            } catch (InterruptedException e) {

                e.printStackTrace();
            }

        }
    }

}

class Mag {
    char ccc = …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

0
推荐指数
2
解决办法
1465
查看次数