Skip to content

Instantly share code, notes, and snippets.

View Augustpi's full-sized avatar
🖖
Hi there

Avni Onur Pehlivan Augustpi

🖖
Hi there
View GitHub Profile
@Augustpi
Augustpi / install_tmux_osx_no_brew
Created June 4, 2021 10:54 — forked from tomasbasham/install_tmux_osx_no_brew
Install tmux on OSX WITHOUT brew
# Create a directory
mkdir ~/tmux-install
cd ~/tmux-install
# Get the files
curl -OL https://www.openssl.org/source/openssl-1.0.2l.tar.gz
curl -OL https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz
curl -OL https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
# Extract them
const poll = ({ fn, validate, interval, maxAttempts }) => {
console.log('Start poll...');
let attempts = 0;
const executePoll = async (resolve, reject) => {
console.log('- poll');
const result = await fn();
attempts++;
if (validate(result)) {
@Augustpi
Augustpi / weakset-example.js
Created March 31, 2021 13:29
Medium, map, set, weakmap, weakset examples
let visited = new WeakSet();
let onur = { name: "Onur" };
let ozge = { name: "Özge" };
let avni = { name: "Avni" };
visited.add(onur); // Onur`u ziyaret edenlere ekleyelim
visited.add(ozge); // sonra Özge`yi
visited.add(onur); // Onur`u tekrar eklemeye çalışalım
@Augustpi
Augustpi / clearable-weakmap.js
Last active March 31, 2021 13:04
Medium, map, set, weakmap, weakset examples
class ClearableWeakMap {
constructor(init) {
this._wm = new WeakMap(init);
}
clear() {
this._wm = new WeakMap();
}
delete(k) {
return this._wm.delete(k);
}
@Augustpi
Augustpi / cache.js
Created March 31, 2021 12:21
Medium, map, set, weakmap example
let cache = new WeakMap();
// sonuçları hesaplar ve tekrar hatırlar
export default function process(obj) {
// eğer WeakMap'imiz objemizi içermiyorsa
if (!cache.has(obj)) {
let result = cb();
// Önbelleğe almak için WeakMap'imizin içine ekleyelim
cache.set(obj, result);
@Augustpi
Augustpi / weakmap-example-2.js
Created March 31, 2021 10:20
weakmap medium.com example
let onur = { name: "Onur" };
let weakMap = new WeakMap();
weakMap.set(onur, "...");
// refenransının üzerine yazalım
onur = null;
// onur'u hafızadan silmiş olduk
@Augustpi
Augustpi / weakmap-example-1.js
Last active March 31, 2021 10:16
Medium- map,set, weakmap example
let weakMap = new WeakMap();
let obj = {};
weakMap.set(obj, "deger");
// obj anahar olarak weakMap içerisine eklenir.
// string bir anahtar kullanamazsınız
weakMap.set("test", "tesst");
// Error, hata alacağız çünkü "test" bir obje değil
@Augustpi
Augustpi / object-convert-map.js
Created March 31, 2021 09:26
Medium - Map, Set, WeakMap, WeakSet example
let obj = {
name: "John",
age: 30
};
// new Map([iterable])
let map = new Map(Object.entries(obj));
console.log(map.get('name'));
// John
@Augustpi
Augustpi / set--uniquevaluerule-example.js
Created March 29, 2021 22:18
Medium - Map, set, weakmap example 6.
let onur = { name: 'Onur' };
let ozge = { name: 'Özge' };
let avni = { name: 'Avni' };
let set = new Set();
set.add(onur);
set.add(ozge);
set.add(avni);
set.add(onur); // ikinci birden fazla aynı değeri ekleyemeyiz!.
@Augustpi
Augustpi / map-caching-example-5.js
Last active March 31, 2021 09:29
Medium, Array, Map, Set, WeakMap example 5
function myHeavyFunc(x) {
// Bazı yogun, ve yavaş çalışacak bazı işlemleri bu alanda yazdığınızı farzediyoruz.
// Yada aynı değerlerle tekrarlayacağınız ve matematiksel işlemler yaptığımızı düşünebiliriz
console.log(`x: ${x}`);
return x;
}
function caching(func) {
let cache = new Map();