Блог о програмировании и программистах

Чем больше всматривашься в код, тем больше код всматривается в тебя

10 интересных репозиториев на GitHub, полезных любому разработчику

Будет полезно для повышения своего уровня как разработчика: https://habr.com/ru/company/plarium/blog/496472/

СМОТРИ ПОКА НЕ УДАЛИЛИ! 7 ПРИЧИН КОШМАРИТЬ ЛЮДЕЙ КОРОНАВИРУСОМ

Зачем изобретают глобальные эпидемии.
mir

Подборка бесплатных книг по Go

https://tproger.ru/books/free-go-books/

Пример перенаправленния домена на локальный адрес

sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -d testa.net -j DNAT --to-destination 127.0.0.1:4444

Быстрая сортировка(golang)

Пример варианты быстрой сортировки на golang

The Go Playground - запустить код

package main

import "fmt"

func qwik_sort(lst []int,left int,right int) []int{

    //Создаем копии пришедших переменных, с которыми будем манипулировать в дальнейшем.
    l := left
    r := right

    //Вычисляем 'центр', на который будем опираться. Берем значение ~центральной ячейки массива.
    center := lst[(left + right) / 2]

    fmt.Println(l,r,(left + right) / 2)

    //Цикл, начинающий саму сортировку
    for l <= r{

        //Ищем значения больше 'центра'
        for lst[r] > center{
            r--
        }

        //Ищем значения меньше 'центра'
        for lst[l] < center{
            l++
        }

        //После прохода циклов проверяем счетчики циклов
        if(l <= r){
            //И если условие true, то меняем ячейки друг с другом.
            lst[r],lst[l] = lst[l],lst[r]
            l++
            r--
        }
    }

    if r > left{
        qwik_sort(lst,left,r)
    }

    if l>right{
        qwik_sort(lst,l,right)
    }

    return lst
}

func main(){
    lst := []int{5,4,1,2,0,123,1234,32,12,2345,99}
    lst = qwik_sort(lst,0,len(lst)-1)
    fmt.Println(lst)
}

Сортировка перемешиванием(golang)

Пример усовершенствованной сортировки пузырьком

The Go Playground - запустить код

package main

import "fmt"

func cocktailsort(lst []int) []int{

    n := len(lst)
    left:=0
    right:=n-1
    for {

        for i := left;i<right;i++{
            if lst[i] > lst[i+1]{
                lst[i],lst[i+1] = lst[i+1],lst[i]
            }
        }

        right -= 1

        fmt.Println(lst)

        for i := right; i > left; i-- {
            if lst[i] < lst[i - 1] {
                lst[i], lst[i - 1] = lst[i - 1], lst[i]
            }
        }

        left += 1

        fmt.Println(lst)
        fmt.Println(left,right)

        if left >= right{
            break
        }
    }

    return lst
}

func main(){
    lst := []int{5,4,1,2,0,123,1234,32,12,2345,99}
    lst = cocktailsort(lst)
}

Сортировка слиянием(golang)

The Go Playground - запустить код

package main

import "fmt"

func merge(left []int,right []int) []int{
    //Merge two lists in ascending order.
    lst:=make([]int,0)
    for len(left) > 0 && len(right) > 0{
        if left[0] < right[0]{
            lst = append(lst,left[0])
            left = left[1:]
        }else{
            lst = append(lst,right[0])
            right = right[1:]
        }
    }
    if len(left) > 0{
        lst = append(lst,left...)
    }
    if  len(right) > 0{
        lst = append(lst,right...)
    }

    return lst
}

func mergesort(lst []int) []int{
    //Sort the list by merging O(n * log n).
    length:=len(lst)
    if length >= 2{
        mid := length/2
        lst = merge(mergesort(lst[:mid]),mergesort(lst[mid:]))
    }
    return lst
}

func main(){

    lst := []int{2,123,443,223,3,5,6,432,1}
    lst = mergesort(lst)
    fmt.Println(lst)
}

20 лучших сайтов для поиска бизнес идей

1) openbusiness.ru (Портал бизнес-планов и франшиз для малого бизнеса)

2) homeidea.ru (Форум идей малого бизнеса)

3) biznet.ru (Крупнейший форум малого бизнеса)

4) vseidei.biz (Проект Все Идеи Бизнеса)

5) biznesvbloge.ru (Бизнес в блоге)

6) bizidei.ru (Сайт помощи малому бизнесу)

7) vproizvodstvo.ru (Производственные бизнес идеи)

8) uspeh4u.com/ideasbiz.php (Идеи для малого бизнеса)

9) ideibiznesa.biz (Бизнес-идеи для начинающих)

10) islandbusinessidea.com (Новые бизнес идеи) ...

Основные правила правописания в английском языке

1. Когда суффикс –ful добавляется к слову, оканчивающемуся на –ll, вторая "l" обычно опускается:

Skill + ful = skilful
Will + ful = willful

2. Нечитаемая конечная буква "e" обычно опускается, если к слову прибавляется суффикс, который начинается с гласной (-ing, -ed, -er, и др.):

Drive + er = driver
Love + ed = loved
Live + ing = living
Hope + ing = hoping

3. Нечитаемая конечная буква "e" не опускается, если к слову прибавляется суффикс, который начинается с согласной (-ful, -ness, -ment, -ly, и др.):

Hope + ful = hopeful
Engage + ment = engagement

Однако, есть несколько исключений из этого правила:

True + ly = truly (а НЕ truely)
Whole + ly = wholly
Due + ly = duly
Awe + ful = awful

Шпаргалка по командам в терминале мака

SHORTCUTS

Key/Command Description
Ctrl + A Go to the beginning of the line you are currently typing on
Ctrl + E Go to the end of the line you are currently typing on
Ctrl + L Clears the Screen
Command + K Clears the Screen
Ctrl + U Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H Same as backspace
Ctrl + R Lets you search through previously used commands
Ctrl + C Kill whatever you are running
Ctrl + D Exit the current shell
Ctrl + Z Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W Delete the word before the cursor
Ctrl + K Clear the line after the cursor
Ctrl + T Swap the last two characters before the cursor
Ctrl + F Move cursor one character forward
Ctrl + B Move cursor one character backward
Esc + F Move cursor one word forward
Esc + B Move cursor one word backward
Esc + T Swap the last two words before the cursor
Tab Auto-complete files and folder names