Skip to content

Instantly share code, notes, and snippets.

View cuongld2's full-sized avatar

Le Dinh Cuong cuongld2

View GitHub Profile
@cuongld2
cuongld2 / query.json
Created November 23, 2020 02:36
Query example with variables
query($filter: JSON) {
family_history(filter: $filter){
submitter_id
auth_resource_path
family_history_id
}
}
@cuongld2
cuongld2 / unmarshal_dynamic_key.go
Last active November 16, 2020 10:22
Unmarshal dynamic key in JSON
func (s ResultObject) UnmarshalJSON(data []byte) map[string]interface{} {
var z map[string]interface{}
if err := json.Unmarshal(data, &z); err != nil {
fmt.Println(string(data[:]))
panic(err)
}
return z
}
@cuongld2
cuongld2 / crowdin.yaml
Created November 16, 2020 09:50
Crowdin configuration file example
project_id: $PROJECT_ID #open project settings and go to API section
api_token: $API_TOKEN #open profile settings and go to API & SSO > New Token > create Token
base_path: "./"
base_url: "https://api.crowdin.com"
preserve_hierarchy: true
files:
-
source: '/website/docs/**/*.md' #source files filter
translation: '/website/translated_docs/%locale%/**/%original_file_name%' #where translations are stored
@cuongld2
cuongld2 / scanline.go
Last active November 10, 2020 03:11
Scan line maxCapacity
scanner := bufio.NewScanner(file)
const maxCapacity = 512*1024
buf := make([]byte, maxCapacity)
scanner.Buffer(buf, maxCapacity)
// The bufio.ScanLines is used as an
// input to the method bufio.Scanner.Split()
// and then the scanning forwards to each
// new line using the bufio.Scanner.Scan()
@cuongld2
cuongld2 / test.rs
Created November 6, 2020 10:31
Rust replace string
let path = Path::new("resources/graphql_queries_popular.txt");
let path_new_file = Path::new("resources/graphql_generated_queries.txt");
let file = File::create(path_new_file).unwrap();
let mut file = LineWriter::new(file);
let mut reader = my_reader::BufReader::open(&path).unwrap();
let mut buffer = String::new();
while let Some(line) = reader.read_line(&mut buffer) {
use regex::{Regex,Captures};
@cuongld2
cuongld2 / max.scala
Created November 3, 2020 03:52
max function recursive
def max(xs: List[Int]): Int = {
if (xs.isEmpty)
throw new NoSuchElementException
else if (xs.length == 1)
xs.head
else
if (xs.head > max(xs.tail)) xs.head else max(xs.tail)
}
}
@cuongld2
cuongld2 / sum.scala
Created November 3, 2020 03:51
sum recursive functions
def sum(xs: List[Int]): Int = {
if( xs.isEmpty)
0
else
xs.head + sum(xs.tail)
}
@cuongld2
cuongld2 / unittest.java
Created October 30, 2020 02:42
Mock server test
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE,
properties = "blog-service.base-url:http://localhost:8082",
classes = BlogServiceClient.class)
@ContextConfiguration
public class UnitTest {
@Autowired
private BlogServiceClient blogServiceClient;
@cuongld2
cuongld2 / service.java
Created October 30, 2020 02:40
Service for mock
@Component
public class BlogServiceClient {
private final RestTemplate restTemplate;
public BlogServiceClient(@Value("${blog-service.base-url}") String baseUrl) {
this.restTemplate = new RestTemplateBuilder().rootUri(baseUrl).build();
}
public Blog getBlog(String id) {
@cuongld2
cuongld2 / k-mers.py
Created October 27, 2020 02:13
k-mers python
def jaccard_similarity(a, b):
a = set(a)
b = set(b)
intersection = len(a.intersection(b))
union = len(a.union(b))
return intersection / union