Category Archives: No category
MGTS(GPON)+Keenetic and external access to Synology
Adding a comment to an article about using Keenetic router behind an MGTS(gpon) receiver to make Synology services like DS Audio/Video/Photo and so on to be available via Quickconnect feature by Synology. First of all, enable KeenDNS like shown below And then enable it on Synology Control Panel like this: And now on any device …
Set github actions for you repo
If you want to run tests/linters against you golang project, place something like the example below in .github/workflows/somename.yml to your project:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
name: ci-cd on: push: branches: - '**' env: GONOSUMDB: "github.com/<your-organization>" GOPRIVATE: "github.com/<your-organization>" jobs: ci-cd: strategy: matrix: go-version: [ 1.16.x ] runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Write .netrc for private go modules env: NETRC_USER: ${{ secrets.NETRC_USER }} NETRC_PASS: ${{ secrets.NETRC_PASS }} run: echo "machine github.com login ${{ secrets.NETRC_USER }} password ${{ secrets.NETRC_PASS }}" > $HOME/.netrc - name: Checkout the code uses: actions/checkout@master with: fetch-depth: 1 - name: Run Makefile::ci-cd-check run: make ci-cd-check |
Good article on that — https://github.com/mvdan/github-actions-golang
Книга Mathematics for Computer Science
Хорошая серьёзная книга Mathematics for Computer Science — Mit от MIT.
Курс матана
Курс математического анализа МГУ — https://openedu.ru/course/msu/CALC1/
Escape нужных символов в go
Urlencode на go для определённого набора символов https://play.golang.org/p/PmA-XwvFS2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package main import ( "fmt" ) // chars to escape are described in /usr/local/go/src/net/url/url.go:123 which links to RFC 3986 (§3.4); I just removed & and = var charsToEscape = map[rune]bool{ '$': true, '&': false, // it should remain unchanged '+': true, ',': true, '/': true, ':': true, ';': true, '=': false, // it should remain unchanged '?': true, '@': true, } func main() { query := "@a$dsf" fmt.Println(FixURLQuery(query)) } func FixURLQuery(rawURL string) string { fixedURL := make([]byte, len(rawURL) * 3) j := 0 for i := 0; i < len(rawURL); i++ { c :=rawURL[i] if charsToEscape[rune(c)] == true { fixedURL[j] = '%' fixedURL[j+1] = "0123456789ABCDEF"[c>>4] fixedURL[j+2] = "0123456789ABCDEF"[c&15] j += 3 } else { fixedURL[j] = c j++ } } return string(fixedURL[:j]) } |
Ещё одна конвертилка картинок в base64
http://b64.io/
Support Vector Machine (SVM)
Результатом является суждение о том, к какому классу относится объект. В отличие от RVM, где результат — вероятность объекта относиться к определённому классу. Классификация данных методом опорных векторов (http://habrahabr.ru/post/105220/) Применение на практике для упрощённого случая — Необычные модели Playboy, или про обнаружение выбросов в данных c помощью Scikit-learn (http://habrahabr.ru/post/251225/)
Gitlab flow
Github flow для gitlab. Как это выглядит. Есть центральный репозиторий http://gitlab.lan/group/repo_name. Каждый разработчик создаёт себе свой fork, в котором и производится работа (например, http://gitlab.lan/bullgare/repo_name). Результаты работы push-атся ведётся в своём репозитории (для этого нужно, чтобы git remote origin смотрел на gitlab@gitlab.lan:bullgare/repo_name.git). Также нужно добавить основной репозиторий вторым удалённым репозиторием
1 |
git remote add upstream gitlab@gitlab.lan:bullgare/repo_name.git |
Перед началом работы по фиче …
Webstorm, Ubuntu 14.04, русская раскладка — фикс сочетаний клавиш
https://github.com/zheludkovm/LinuxJavaFixes Скачать репозиторий, положить 2 jar-файла из директории build в нужное место. Затем в файле ~/Applications/WebStorm-138.2001.2328/bin/webstorm64.vmoptions добавить строку
1 |
-javaagent:[path to directory with jar files]/LinuxJavaFixes-1.0.0-SNAPSHOT.jar |
Директива для AngularJS. ngClass с колбэками
AngularJS (модуль ngAnimate) умеет добавлять/убирать класс у элемента и после отработки всей анимации вызывать callback:
1 2 |
addClass(element, className, [doneCallback]); removeClass(element, className, [doneCallback]); |
http://docs.angularjs.org/api/ngAnimate/service/$animate Ну а стандартная встроенная директива ngClass такого не умеет. Это и понятно, т.к. ngAnimate — отдельно подключаемый модуль. Нам понадобилось сделать свою директиву-аналог ngClass, но чтобы могла выполнять коллбэки после анимации. Директиву назвали buClassCallback, вот репозиторий на github: …