Skip to content

Instantly share code, notes, and snippets.

View ShaakhDev's full-sized avatar
💭
😄

Shakhzod Bobolov ShaakhDev

💭
😄
View GitHub Profile
@ShaakhDev
ShaakhDev / longestCommonSubstring.js
Created May 31, 2022 14:54
Finding the longest common substring in the array of strings.
let a = process.argv.slice(2);
String.prototype.strstr = function (search) {
var position = this.indexOf(search);
if (position == -1) {
// not found
return '';
}
return this.slice(position);
@ShaakhDev
ShaakhDev / primeFactors.js
Last active February 25, 2023 09:54
Logging all prime factors of given number
function primeFactors(n){
while(n % 2 == 0){
console.log(2);
n = n / 2
};
for(var i = 3; i * i <= n; i = i + 2){
while(n % 2 == 0){
console.log(n);
n = n / i;
@ShaakhDev
ShaakhDev / isPrime.js
Created February 25, 2023 09:52
checking the prime number
const isPrime = function(n) {
if (isNaN(n) || !isFinite(n) || n % 1 || n < 2) return false;
if (n == leastFactor(n)) return true;
return false;
}
const leastFactor = function(n) {
if (isNaN(n) || !isFinite(n)) return NaN;
if (n == 0) return 0;
if (n % 1 || n * n < 2) return 1;
@ShaakhDev
ShaakhDev / index.html
Created March 5, 2023 08:25
hackerrang binary calculator solution.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/binaryCalculator.css" type="text/css">
<meta charset="utf-8">
<title>Binary Calculator</title>
</head>
<body>
<div id="res"></div>
@ShaakhDev
ShaakhDev / GitCommitBestPractices.md
Created June 7, 2023 12:21 — forked from luismts/GitCommitBestPractices.md
Git Tips and Git Commit Best Practices

Git Commit Best Practices

Basic Rules

Commit Related Changes

A commit should be a wrapper for related changes. For example, fixing two different bugs should produce two separate commits. Small commits make it easier for other developers to understand the changes and roll them back if something went wrong. With tools like the staging area and the ability to stage only parts of a file, Git makes it easy to create very granular commits.

Commit Often

Committing often keeps your commits small and, again, helps you commit only related changes. Moreover, it allows you to share your code more frequently with others. That way it‘s easier for everyone to integrate changes regularly and avoid having merge conflicts. Having large commits and sharing them infrequently, in contrast, makes it hard to solve conflicts.

@ShaakhDev
ShaakhDev / parse.js
Created July 10, 2023 19:49 — forked from yetimdasturchi/parse.js
Parse javascript function from json string
if (typeof String.prototype.parseFunction != 'function') {
String.prototype.parseFunction = function () {
var funcReg = /function *\(([^()]*)\)[ \n\t]*{(.*)}/gmi;
var match = funcReg.exec(this.replace(/\n/g, ' '));
if(match) {
return new Function(match[1].split(','), match[2]);
}
return null;
@ShaakhDev
ShaakhDev / solution.txt
Last active June 19, 2024 10:09
[SOLUTION] Failed to mount /boot/efi on arch linux (after update)
1. Run on live usb
2. fdisk -l
3. mount /dev/sdx1 /mnt
4. mount /dev/sdx2 /boot/efi
5. iwd station wlan0 connect <wifi_name> <wifi_password>
6. arch-chroot /mnt
7. pacman -S linux
8. grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
9. grub-mkconfig -o /boot/grub/grub.cfg
10. exit