Наверняка каждый сталкивался с тестовым заданием. Расскажу об одной из ловушкех, с которой вы можете столкнуться.
Ну вот, например, тестовое задание, а точнее ЯКОБЫ тестовое задание от компании... Ну да бог с ней, с компанией... Они себя узнают)))
Возможно, конечно, я ошибаюсь, но мало того, что подразумевается обмен данными в формате excell,
так эти "друзья", просят еще, чтобы кандидат выполнил полноценный микросервис и желательно в docker.
А разместить это удобненько на github, так, чтобы было удобно скачать и сразу добавить в свою копилку микросервисов компании.
И все это, естественно, за "бесплатно", т.е. даром.
Реализовать веб-приложение, которое предоставляет API со следующим функционалом:
После очередной установки сертификата SSL от Lets`Encript и проверки его на ssllabs.com получил не радующий результат:
А хотелось бы такой:
Порыл гугл и как всегда нарыл полу-работающий рецепт. Путем некоторых танцев с бубном и обработки напильником получил работающий на сегодняшний момент рецепт.
Изменяем файл /etc/letsencrypt/options-ssl-nginx.conf следующим образом...
Вот уже 4 года как был запущен мой проект map4child.ru.
Проект пока не "выстрелил", но для меня это любимое детище, поэтому планирую его поддерживать и развивать независимо от всяких там "выстрелов".
И вот, в рамках развития, "выкатил" полное обновление проекта, которое "пилил" последние полгода.
Кое-что пришлось отключить (регистрация и добавление объектов пользователями), но это временное явление.
В скором времени всё появится и еще лучше чем было.
Почему так долго и что в результате изменилось?
Давно хотел написать на эту тему пост, но никак не мог найти веский повод. И вот сама жизнь подкинула повод, который приходится учитывать всем без исключения.
Учитывая вирусную угрозу и реальные потери в результате болезней сотрудников многие компании начинают задумываться о выводе сотрудников на удаленную работу, но есть в этом то, что отталкивает руководителей и собственников:
- Слабый контроль за сотрудниками (Отсутствие обратной связи, слабые коммуникации и т.п.);
- Неумение сотрудников контролировать себя и работать самостоятельно;
- Сложность организации коммуникаций для выработки решений (совещания, обсуждения и пр.);
- Другое.
Можно долго говорить о повышении квалификации руководителей, развитии доверия, о применении специального ПО для контроля удаленных сотрудников и т.п., но в итоге это не приводит к качественному взаимодействию с удаленными работниками и не дает ощущения командной работы.
В процессе работы над множеством проектов выработал для себя типовую структуру Django проекта, которая удовлетворяет всем моим требованиям и удобна как для разработки так и для поддержки.
Как всегда я использую свой стандартный стэк: Debian/Ubuntu + Python 3.* + PostgreSQL + NGINX + virtualenv + Django
Структура моих проектах основывается на рекомендациях Two Scoops of Django 1.11 с учетом моего стека и выглядит следующим образом:
Часто в проектах использую JSON поля PostgreSQL.
При этом в админке Django они отображаются так как лежат в базе. Выглядит это примерно так:
{ "1": "\u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435", "2": "\u0412\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435" }
Естественно это не по человечески и хотелось бы видеть в нормальном виде.
Для этого делаем следующее:
Это картинка сопровождающая 500ю ошибку на моём сайте.
Если Вы видите ее не в этом списке постов, то будьте уверены,
я уже занимаюсь проблемой ее вызвавшей.
Иногда случаются ситуации когда данные в базе проекта уже есть и их надо связать с новой моделью, причем обязательной связью один ко многим.
Можно конечно временно обозначить связывающее поле ForeignKey как blank=True и заполнить после того как в новой модели появятся данные, а потом убрать blank=True.
Но это куча лишних действий и две миграции вместо одной.
Можно сделать тоже самое одной миграцией с добавлением в новую модель первой записи.
Для этого надо выполнить следующие шаги: