status /var/run/openvpn-server.status
root@xxx:~# cat /var/run/openvpn-server.status
OpenVPN CLIENT LIST
Updated,Sat Jul 30 11:31:40 2016
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
user3,10.124.228.105:42972,2117077,2327219,Tue Jul 26 13:50:13 2016
user4,10.124.105.1:49420,6284997,6730873,Tue Jul 19 04:14:12 2016
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
192.168.99.10,user3,10.124.228.105:42972,Tue Jul 26 13:50:16 2016
192.168.99.6,user4,10.124.105.1:49420,Tue Jul 19 04:14:14 2016
GLOBAL STATS
Max bcast/mcast queue length,16
END
root@xxxx
import platform
if platform.system() == 'Linux':
MYAPPPATH = "/var/www/FlaskApp/FlaskApp"
else:
MYAPPPATH = "C:/FlaskApp/FlaskApp"
import platform
if platform.system() == 'Linux':
app.config["MYAPPPATH"] = "/var/www/FlaskApp/FlaskApp"
else:
app.config["MYAPPPATH"] = "C:/FlaskApp/FlaskApp"
file = open(app.config["MYAPPPATH"]+'/myfile', 'w')
package jtests;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public class MyTest3 {
public static void main(String[] args) {
DateTimeFormatter fmt = new DateTimeFormatterBuilder()
.appendPattern("dd.MM.yyyy. HH:mm:ss")
.toFormatter();
LocalDateTime t1 = LocalDateTime.parse("01.01.2016. 00:00:00", fmt);
LocalDateTime t2 = LocalDateTime.parse("01.01.2013. 00:00:00", fmt);
System.out.println(t1);
System.out.println(t2);
System.out.println(t1.isAfter(t2));
System.out.println(t2.isAfter(t1));
}
}
select debit from mytable where ID=10
, программно прибавляем единичку к полученному debit, затем делаем update mytable set debit=11 where ID=10
. Результат приятно удивит.select debit, version as oldversion from mytable where ID=10
. Тогда update будет выглядеть примерно так update mytable set debit =11, version=version+1 where ID=10 and version=oldversion
. Но при этом придется всегда проверять, изменили ли мы данные или нет.Господа, что-то в разум не возьму... Всегда сам считал, что Exception - зло, а тут решил проверить. Я понимаю, что JVM может чего и оптимизнула...
IF execution time: 1231
EXCEPT execution time: 1260
package jtests;
import java.util.HashMap;
public class MyTest2 {
String testIf(HashMap<String, String> h, int i) {
String r = "None";
if(h.containsKey("NONEKEY")) {
r = h.get("NONEKEY");
}
return r;
}
String testExept(HashMap<String, String> h, int i) {
String r = "None";
try {
r = h.get("NONEKEY");
} catch(Exception e) {
return e.getMessage();
}
return r;
}
public static void main(String[] args) {
MyTest2 m = new MyTest2();
HashMap<String, String> h = new HashMap<String, String>();
h.put("KEY", "VALUE");
long startTime = System.currentTimeMillis();
for (int i = 0; i < 900000000; i++) {
m.testIf(h,i);
}
long endTime = System.currentTimeMillis();
System.out.println("IF execution time: " + (endTime - startTime) );
startTime = System.currentTimeMillis();
for (int i = 0; i < 900000000; i++) {
m.testExept(h,i);
}
endTime = System.currentTimeMillis();
System.out.println("EXCEPT execution time: " + (endTime - startTime) );
}
}
package jtests;
import java.lang.System;
public class MyTest {
class A {
String a () {
return("from A:a");
}
String b() {
return("from A:b - " + a());
}
}
class B extends A {
@Override String b() {
return ("from B:b - " + super.b());
}
}
public static void main(String[] args) {
MyTest m = new MyTest();
System.out.println("A");
A a = m.new A(); // Используем A
System.out.println(a.getClass().getName() + " * " + a.b());
System.out.println("B");
B b = m.new B(); // Используем B
System.out.println(b.getClass().getName() + " * " + b.b());
System.out.println("B -> A");
A ab = (A) m.new B(); // Используем B как A
System.out.println(ab.getClass().getName() + " * " + ab.b());
}
}
A
jtests.MyTest$A * from A:b - from A:a
B
jtests.MyTest$B * from B:b - from A:b - from A:a
B -> A
jtests.MyTest$B * from B:b - from A:b - from A:a