- On the main menu, choose Build | Build Artifact.
- From the drop-down list, select the desired artifact of the type JAR. The list shows all the artifacts configured for the current project. To have all the configured artifacts built, choose the Build all artifacts option.
如下java代码导出的csv文件用Excel打开还是乱码, 用Sublime Text的Save with Encoding -> UTF-8 with BOM
public static void exportWithOpencsvBySql(String sql, String file) throws Exception {
OutputStreamWriter ows = new OutputStreamWriter(new FileOutputStream(new File("/tmp/" + file)), "utf-8");
try {
CSVWriter writer = new CSVWriter(ows);Go to the starting point of the project
git checkout origin master
fetch all objects
git fetch origin
Make the branch from the tag
git branch new_branch tag_name
Checkout the branch
| ;; |
google api 翻译
alts! is a function that accepts a vector of channels to take
from and/or channels with values to be put on them (in the form of
doubleton vectors: [c v]). The vector may be dynamically constructed;
the code calling alts! may not know how many channels it'll be choosing
among (and indeed that number need not be constant across invocations).
alt! is a convenience macro which basically acts as a cross between
cond and alts!. Here the number of "ports" (channels or channel+value
| (def total-donations (ref 0)) | |
| (def count-donations (ref 0)) | |
| ;; start 9 people collecting money | |
| (comment | |
| (dotimes [_ 9] | |
| (doto (Thread. (fn [] | |
| ;; go collect $10 |
| ;; | |
| ;; clojure.core | |
| ;; 延迟执行并缓存 | |
| ;; add something | |
| (comment | |
| (defmacro delay | |
| "Takes a body of expressions and yields a Delay object that will | |
| invoke the body only the first time it is forced (with force or deref/@), and | |
| will cache the result and return it on all subsequent force | |
| calls. See also - realized?" |

