Skip to content

Instantly share code, notes, and snippets.

View tanapoln's full-sized avatar

Tanapol Nearunchorn tanapoln

View GitHub Profile
@tanapoln
tanapoln / 0_reuse_code.js
Created December 25, 2015 16:30
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@tanapoln
tanapoln / less-test.less
Created July 9, 2016 02:50
Testing less mixins behavior
.border() {
&:after {
border: 1px solid black;
}
}
.border() {
&:after {
border: 1px solid red;
}
package com.tanapoln.utils;
import java.time.Clock;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
/**
* {@code TimeMachine} provide a central method for accessing system time with an ease on testing.<br>
import React from 'react'
import { RouterContext } from 'react-router'
import _ from 'lodash'
export default class AsyncComp extends React.Component {
constructor(props, context) {
super(props, context)
this.state = {
loading : false,
currentProp: props,
package org.springframework.data.envers.repository.support;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
@tanapoln
tanapoln / fix-letsencrypt-ca.sh
Created April 18, 2017 07:30
Fix letsencrypt CA error on OSX + java8
#!/bin/bash
set -e
# See Reference: https://github.com/blacklabelops/jenkins/blob/master/Dockerfile
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
export KEYSTORE=$JAVA_HOME/jre/lib/security/cacerts
wget -P /tmp/ https://letsencrypt.org/certs/letsencryptauthorityx1.der
wget -P /tmp/ https://letsencrypt.org/certs/letsencryptauthorityx2.der
@Transactional
public void updateAllFriends() {
Collection<User> users = loadAllUsers();
for (User user : users) {
Collection<User> friends = fetchFriends(user);
user.getFriends().addAll(friends);
user.setLastUpdateTime(new Date());
}
}
@Transactional
public void updateAllFriends() {
Batch<Collection<User>> usersBatch = loadAllUsersBatch();
for (Collection<User> users : usersBatch) {
for (User user : users) {
Collection<User> friends = fetchFriends(user);
TransactionUtils.requiresNewTransaction(() -> {
User newUser = repo.findOne(user.getId())
newUser.getFriends().addAll(friends);
newUser.setLastUpdateTime(new Date());
@Transactional
public void updateAllFriends() {
Batch<Collection<User>> usersBatch = loadAllUsersBatch();
for (Collection<User> users : usersBatch) {
for (User user : users) {
Collection<User> friends = fetchFriends(user);
TransactionUtils.requiresNewTransaction(() -> {
user.getFriends().addAll(friends);
user.setLastUpdateTime(new Date());
});
@tanapoln
tanapoln / mysql-debug.sql
Created September 26, 2017 03:37
MySQL Debug
show full processlist;
SHOW ENGINE InnoDB STATUS;
SHOW OPEN TABLES WHERE In_use > 0;
SELECT * FROM `information_schema`.`innodb_trx` ORDER BY `trx_started`;
SELECT * FROM `information_schema`.`innodb_locks`;