Skip to content

Instantly share code, notes, and snippets.

View cronfy's full-sized avatar
🎯
Focusing

Олег Петрачев cronfy

🎯
Focusing
  • Санкт-Петербург
View GitHub Profile
@cronfy
cronfy / download-my-github-repos.sh
Last active March 2, 2022 12:55
Download / sync all your github repositories for backup. Скачать все свои репозитории github.
#!/usr/bin/env bash
# Использование:
#
# 1. Установить GitHub Cli версии 2.5.2 или выше: https://github.com/cli/cli/releases
# 2. Авторизоваться:
# gh auth login
# 2.1. При создании токена для авторизации https://github.com/settings/tokens выдать права read и read:org
# 3. Создать папку для хранения репозиториев.
# 4. Зайти в неё.
  • array_map()
  • Code style guide
  • yield
  • Fatal error: require(): Failed opening required '/var/www/html/partner-api/functions.php' (include_path='.:/usr/share/php') in /app/web/market-api/productimport/parserproduct.php on line 3
  • Exception
  • PSR4
  • .htaccess
  • Singleton или другой паттерн
  • UPDATE geoname SET lng = 59.33384, lat = 30.27364 WHERE id = 37782;
  • Dependency injection
@cronfy
cronfy / .gitignore.bitrix
Created December 4, 2020 22:16
типовой .gitignore для битрикса
#
# .gitignore для сайтов на bitrix
#
#
# Файлы в репозитории должны храниться не все, а только некоторые. Основная цель: упростить процесс разработки.
# Для этого нужно: маленький репозиторий, который, тем не менее, включает в себя все нужное, и не чересчур
# сложный .gitignore.
# Небольшой размер репозитория ускоряет clone, коммиты и сборку для деплоя. Не очень сложный .gitignore
# упрощает его администрирование.
@cronfy
cronfy / wtf-changing-dom-element.js
Created November 28, 2020 16:23
WTF javascript is changing element in a DOM?
// who is changing element in DOM?
const element = $0
const callback = function () {
console.trace('here is who and how')
}
const observer = new MutationObserver(callback)
@cronfy
cronfy / download-getcourse-video.sh
Created November 14, 2020 16:49
Download getcourse video
#!/usr/bin/env bash
set -euo pipefail
function failExit() {
local msg="$1"
echo "FAIL: $msg" >&2
exit 1
}
@cronfy
cronfy / make-bitrix-cron.sh
Last active June 2, 2020 07:52
Creates lines for crontab for bitrix
#!/usr/bin/env bash
BITRIX_WWW_DIR="$1"
[ -z "$BITRIX_WWW_DIR" ] && BITRIX_WWW_DIR="."
[ ! -d "$BITRIX_WWW_DIR" ] || [ ! -d "$BITRIX_WWW_DIR/bitrix" ] || [ ! -f "$BITRIX_WWW_DIR/index.php" ] || [ ! -d "$BITRIX_WWW_DIR/bitrix/php_interface" ] && {
if [ "$BITRIX_WWW_DIR" = "." ] ; then
echo " !! Bitrix not found in current directory." >&2
else
@cronfy
cronfy / makedevpwd.sh
Last active April 11, 2020 21:55
Make .htaccess and .htpasswd for dev
#!/usr/bin/env bash
# Creates .htaccess and .htpasswd in current directory to protect site with password
# Default login/password are dev/dev
[ -e .htaccess ] && {
echo " !! .htaccess already exists! Exiting." >&2
exit 1
}

Midnight commander portable (mc portable) for Linux x86_64.

If you do not have root on server, and there is no mc, but you need it, just download mc-portable.tar.gz from this gist, extract into user's home ~/ and enjoy.

@cronfy
cronfy / yii2-active-record-save-new-as-existing.php
Created March 17, 2019 18:26
yii2 save new record instead of existing in db (replace with new object)
Допустим, есть объект yii2 ActiveRecord, созданный как $model = new Model().
А надо сохранить его в БД вместо существующей записи.
Казалось бы, $model->id = <существующий id> ; $model->save(), но нет.
Надо сделать подготовительную работу:
<?php
# fast and explore
SERVER=xxx
WWWROOT=/home/bitrix/www
# fast and explore
cd public_html
# первая часть exlude для ускорения на первом этапе, чтобы просто увидеть все, что скачается, и при необходимости