Skip to content

Instantly share code, notes, and snippets.

@erangaeb
erangaeb / MockedEmployeeDbComp.scala
Last active January 31, 2016 10:53
Mocked EmployeeDb compoenent
val employeeHandler = new EmployeeHandler with SprayEmployeeServiceComp with EmployeeDbComp {
val employeeDb = new EmployeeDb {
override def createEmployee(employee: Employee) = {
// mocked employee creation
}
override def getEmployee(empId: Int): Employee = {
// mocked employee retrieve
Employee(3, "test", "test")
}
@erangaeb
erangaeb / psql
Last active February 1, 2016 06:54
Psql commands
# connect
psql -h <host> -p <port> -U <user>
psql -h dev.localhost -p 15534 -U postgres
# list databases
\list
# connect to database
\connect <databasename>
\connect senz
@erangaeb
erangaeb / grep
Created February 1, 2016 18:04
Linux grep
# grep prints line below and above(10 lines below and above)
git log | grep -C 10 android
# recurisve grep on current folder
grep -R "createEmployee" .
# recursieve grep on .java files
grep -R "createemployee" *.java
# recursive grep on src/ directory
@erangaeb
erangaeb / Slick.scala
Created February 16, 2016 07:28
Slick database connect
try {
val database = Database.forURL(databaseUrl, databaseUser, databasePassword, null, databaseDriver)
database.createSession()
} catch {
case e: Exception =>
log.error(e.toString)
}
@erangaeb
erangaeb / DataSource.scala
Created February 16, 2016 07:30
ComboPooledDataSource configuration
val ds = new ComboPooledDataSource
ds.setDriverClass(driverName)
ds.setJdbcUrl(dbConfig.getString("url"))
ds.setUser(dbConfig.getString("username"))
ds.setPassword(dbConfig.getString("password"))
// most reliable way, but have visible peformance drop
ds.setTestConnectionOnCheckout(true)
// have better peformacne
@erangaeb
erangaeb / telnet
Last active February 20, 2016 08:27
Telent commands
# connect to tcp
telnet <host> <post>
telent 10.2.4.110 8080
>>msg
# exit from telnet session
ctrl ]
quit
@erangaeb
erangaeb / rsync
Last active February 21, 2016 15:06
Rsync usage
# format
rsync <options> <source> <destination>
# most commen optaions
-v : verbose
-r : syncs recursively(used when directory backup)
-a : archive mode(altrenative to -r). syncs recursively and preserves symbolic links, special and device files, modification times, group, owner, and permissions
-h : human readable output
-z : comporess files while sync
@erangaeb
erangaeb / ssh-keygen
Last active March 30, 2016 13:14
Generate ssh keys without password
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
@erangaeb
erangaeb / rsync_example
Last active March 30, 2016 14:21
Rsync example
# command
rsunc <options> <remote directory> <local directory>
# usage
rsync -avzh [email protected]:/home/pagero/storage/ /home/eranga/storage/
# directories
/home/pagero/storage/ : Remote directory
/home/eranga/storage/ : Local directory
@erangaeb
erangaeb / rsync_as_cronjob
Last active March 30, 2016 14:22
Rsync with cron job
# edit crontab file
crontab -e
# rsync as a cron job
30 23 * * * flock -n /tmp/rsync.lock -c "rsync -avzh [email protected]:/home/pagero/storage/ /home/eranga/storage/>/tmp/rsync.log"
# things to notice
1. 30 23 : Cron job runs everyday 23:30 PM (11.30 PM)
2. flock -n /tmp/rsync.lock : Will prevents to run duplicate cronjobs(means only one cron job will be running)
3. >/tmp/rsync.log : Will take the output of rsync job to /tmp/rsyn.log file