22 Мая


2019

Mac os.

Проверяем мак адрес пк

ifconfig en0 |grep ether

Генерация нового мак адреса (рандомные значения).

openssl rand -hex 6 | sed ‘s/\(..\)/\1:/g; s/.$//’

Устанавливаем сгенерированные значения

sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')

Снова проверяем установленный мак адрес.

Продолжить чтение →

2 Мая


2019

Обычно в асинхронном программировании для предотвращения доступа у параллельных потоков к общим данным используются мьютексы и семафоры.

Для celery есть специальный модуль - celery-once позволяющий блокировать задачи так, чтобы таск выполнял только 1 воркер за промежуток времени. Однако, лично мне, не удалось настроить его на периодические задачи. Для

Продолжить чтение →
Django
Flask

30 Апр


2019

Фреймворк относительно молод, многие готовые решения для реакта и ангуляра тут приходится искать достаточно долго, многие из них страдают непродуманностью архитектуры, а также откровенным забиванием на нужды юзера (во многих нет поддержки i18n, это неочень удобно, и ладно бы если всегда можно было изменить текст извне..). Форкать тоже не всегда

Продолжить чтение →
vue.js

31 Мар


2019

Наконец мой взор пал на этот алгоритм 😉 в это сложно поверить но я лелеял мечту реализовать его около 3 лет, но все как-то руки не доходили. На самом деле на разбор и обдумывание ушло пару дней, алгоритм достаточно прост, и самое главное понять основную концепцию. 
Данный алгоритм можно логически разделить
Продолжить чтение →
Алгоритмы
Философия мысли

4 Мар


2019

Очень часто приходится работать с большим количеством данных, экспортировать каждый раз которые является достаточно рутинной задачей. Реализация динамического иморта неплохо продемонстрирована в nuxt.js. В данном фреймворке это выглядит достаточно лаконично и естественно. Вебпак позволяет динамически подгружать модули, и обращаться к ним через враппер. Данный метод, в основном, я использую для

Продолжить чтение →
best practices
web
фичи
vue.js
webpack

11 Фев


2019

Удаление всех файлов миграций из проекта:

find . -path *migrations* -name "*.py" -not -path "*__init__*" -exec rm {} \; # make sure to be in your projects path

Установка формы в панели администратора в зависимости от режима работы с записью (создание/редактирование)

class SomeAdmin(admin.ModelAdmin):
    change_form = SomeModelForm

  
Продолжить чтение →
Django

7 Фев


2019

Шпоргалка для работы с докер контейнерами.

Бекап postgres из докер контейнера

docker exec -t your-db-container pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql

Восстановление базы внтури докер контейнера.

cat your_dump.sql | docker exec -i your-db-container psql -Upostgres

Остановка всех контейнеров

docker kill $(docker ps -q)

Удаление всех остановленных контейнеров

 docker rm $(docker ps -a
Продолжить чтение →
PostgreSQL
web

9 Янв


2019

Немного мелочи для настройки окружения где я работаю.

Запуск Chrome с поддержкой корс хедерных запросов.

open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Продолжить чтение →
фичи

22 Дек


2018

Столкнулся с алгоритмической задачей, частью решения которого было использование бинарного поиска. Использовал я готовую библиотеку. Момент самого алгоритма как-то выпал из моего образования, на деле все оказалось очень тривиально, после формального описание у меня сразу возникли мысли типа "пфф, да это можно забацать за 15 минут", (спойлер - можно), хотя

Продолжить чтение →
Алгоритмы
сортировка

27 Ноя


2018

Слияние 2 репозиториев с сохранением истории коммитов.

git checkout <new branch name>
git pull <old rep> --allow-unrelated-histories

После чего вручную правим конфликты и делаем коммит.

Слияние Клонирование единственного бренча с удаленной ветки.

git clone --single-branch --branch <branchname> host:/dir.git

Работа c cабмодулями

Рекурсивное обновление всех вложенных репозиториев.

git submodule update --recursive --remote

Если это первое получение данных

Продолжить чтение →
GIT
фичи