Skip to content

Instantly share code, notes, and snippets.

View LazyRen's full-sized avatar
🇰🇷
Work Hard to be Lazy

Lee, DaeIn LazyRen

🇰🇷
Work Hard to be Lazy
View GitHub Profile
@LazyRen
LazyRen / lock_free_bounded_queue.cpp
Created December 4, 2019 15:29
Implementation of simple lock free bounded queue in C++
#include <atomic>
#include <chrono>
#include <cinttypes>
#include <cstdio>
#include <thread>
using namespace std;
#define NUM_PRODUCER 4
#define NUM_CONSUMER NUM_PRODUCER
#define NUM_THREADS (NUM_PRODUCER + NUM_CONSUMER)
@LazyRen
LazyRen / windows_dev_settings.txt
Last active April 9, 2020 10:37
Windows Development Settings (MSYS2 & hyper)
// Visual Studio Code
https://code.visualstudio.com/Download
// download 'Settings Sync' extension
// in settings.json (for MSYS2 & Hyper)
"terminal.external.windowsExec": "C:\\Users\\LazyRen\\AppData\\Local\\hyper\\Hyper.exe",
"terminal.integrated.shell.windows": "C:\\msys64\\msys2_shell.cmd",
"terminal.integrated.shellArgs.windows": ["-mingw64", "-defterm", "-no-start", "-full-path"],
"terminal.integrated.env.windows": {"HOME": "C:\\Users\\LazyRen\\dev"},
// Git
@LazyRen
LazyRen / vim.ahk
Last active November 12, 2020 09:07
vim like arrows & move functions
;###############################################
;Disable CapsLock
;###############################################
CapsLock::
SetCapslockState, Alwaysoff
return
;###############################################
;Control + CapsLock -> CapsLock
;###############################################
#!/bin/bash
FILE_NAME=${1?Error: No file name found}
echo g++ -o "${FILE_NAME}".exe "${FILE_NAME}".cpp ${@:2}
g++ -o "${FILE_NAME}".exe "${FILE_NAME}".cpp ${@:2}
@LazyRen
LazyRen / quicksort.cpp
Last active July 1, 2020 05:05
Quick Sort Algorithm
template <typename T>
void swap(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
/*
* Sort all elements in arr[]; range of closed interval [left, right].
*/
@LazyRen
LazyRen / heap.cpp
Last active June 14, 2020 19:15
STL priority_queue-like data structure implementation
template <typename T>
class Heap {
private:
using size_type = size_t;
T* arr;
size_type _size;
size_type _capacity;
bool is_max_heap;
static constexpr size_type DEFAULT_CAP = 32;
@LazyRen
LazyRen / vector.cpp
Last active June 14, 2020 18:24
STL vector-like data structure implementation
#include <cstddef>
#include <utility>
template <typename T>
class Vector {
private:
using size_type = size_t;
T* arr;
size_type _size;
size_type _capacity;
@LazyRen
LazyRen / git_aliases.zsh
Last active November 3, 2023 02:33
git-related alias.
alias ga="git add"
alias gaa="git add --all
"
alias gb="git branch"
alias gba="git branch -a"
# Delete all local branches except for the current & master
alias gbd="git branch | grep -v '$(git branch --show-current)\|master' | xargs git branch -D"
alias gc="git commit"
alias gca="git commit --amend"
@LazyRen
LazyRen / pair.cpp
Last active May 24, 2020 15:02
STL pair-like data structure
template <typename T1, typename T2>
class Pair{
public:
T1 first;
T2 second;
constexpr Pair() : first(T1()), second(T2()) {};
Pair(const T1& f, const T2& s) : first(f), second(s) {};
@LazyRen
LazyRen / queue.cpp
Created May 24, 2020 15:03
STL queue-like data structure implementation
template <typename T>
class Queue {
private:
using size_type = size_t;
T* arr;
size_type head;
size_type tail;
size_type _size;
size_type _capacity;
static constexpr size_type DEFAULT_CAP = 4;