Skip to content

Instantly share code, notes, and snippets.

View volyx's full-sized avatar

Dmitrii Volykhin volyx

View GitHub Profile
@volyx
volyx / PlainNio2EchoServer.java
Created February 11, 2015 12:27
PlainNio2EchoServer.java
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.AsynchronousServerSocketChannel;
import java.nio.channels.AsynchronousSocketChannel;
import java.nio.channels.CompletionHandler;
import java.util.concurrent.CountDownLatch;
public class PlainNio2EchoServer {
@volyx
volyx / PlainNioEchoServer.java
Created February 10, 2015 16:49
PlainNioEchoServer.java
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.Set;
@volyx
volyx / ByteBuffer.java
Last active August 29, 2015 14:15
ByteBuffer.java
Channel inChannel = ....;
ByteBuffer buf = ByteBuffer.allocate(48);
int bytesRead = -1;
do {
bytesRead = inChannel.read(buf); #1
if (bytesRead != -1) {
buf.flip(); #2
while(buf.hasRemaining()){
System.out.print((char) buf.get()); #3
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class PlainEchoServer {
public void serve(int port) throws IOException {
final ServerSocket socket = new ServerSocket(port); // #1
@volyx
volyx / Nginx tomcat
Last active August 29, 2015 14:13
Nginx tomcat
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
@volyx
volyx / angular medium editor
Created November 19, 2014 15:41
angular medium editor
<!DOCTYPE html>
<html ng-app="demo">
<head>
<meta charset="UTF-8">
<title>angularjs medium editor | demo</title>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/demo.css">
<link rel="stylesheet" href="../../..bower_components/medium-editor/dist/css/medium-editor.css">
<link rel="stylesheet" href="../../..bower_components/medium-editor/dist/css/themes/default.css">
<style>
public void test() {
ScheduledExecutorService ex = Executors.newSingleThreadScheduledExecutor();
ex.scheduleAtFixedRate(new Runnable(){
@Override
public void run() {
scanDirectory(new File("."));
}}, 1, 1, TimeUnit.SECONDS);
}
private void scanDirectory(File directory) {