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

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

Подборка бесплатных книг по 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

15 полезных сервисов для дизайнеров и веб-разработчиков

Сервисы для дизайнеров и веб разработчиков.

Ресурсы для бесплатного образования

Сейчас даже образование можно получить совершенно бесплатно даже не выходя из дома. Все знают про курсы MIT, Stanford University, но мало кто знает про эти замечательные ресурсы:

1. www.intuit.ru - самый крупный российский интернет университет с кучей интересностей.

2. shad.yandex.ru/lectures/ - школа анализа данных Яндекса

3. www.academicearth.org - сайт со всеми лекциями лучших университетов мира. Чтобы не лазить и не собирать по крупицам лучшее.