Еще один день, еще одно время для блога о некоторых технологических разработках, произошедших за последние пару месяцев. Но до этого я только начал писать этот блог, и старый блог, который у меня был редактором, я не знаю, как давно, появился, и теперь я собираюсь начать с него.

sudo netstat -nlp | grep :80

Эта команда позволяет проверить любой процесс, работающий на указанном порту (в данном случае это 80). Это может быть очень полезно, когда вы используете несколько серверов на своей локальной машине, и один из них не закрывается должным образом, и вам интересно, почему этот новый сервер не запускается на этом порту, когда на нем ничего не запускается. Это поможет вам получить «PID» этого конкретного процесса в вашей системе UNIX, а затем вы сможете его убить. Черт, как хорошо быть убийцей.

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

На тот момент я в основном работал в трех областях: Django, разработка приложений для Python и разработка для Android. В моем стремлении получить надежную службу отслеживания местоположения я попал в приключение, где я, возможно, поглотил все методы, чтобы запустить службу и поддерживать ее в рабочем состоянии вечно. Последним и последним, что я помню, был сервис переднего плана. Это был тот, который дал мне наилучшие результаты, но все же не лучший, который я хотел. Затем я попытался улучшить свои методы определения местоположения, но я не мог использовать рекомендуемый метод Android для этого, то есть использовать игровой сервис, а для этого требуется определенная версия игрового сервиса, и я не мог заставить моих пользователей делать это. Следовательно, мне пришлось прибегнуть к старой тактике, которая хорошо работала для некоторых версий, но не для всех устройств Android. Также не для всех ландшафтов, которые я позже обнаружил, также по неизвестным причинам это не работало в метро и отдаленных местах. На тот момент казалось бессмысленным заниматься этой задачей, поскольку у меня были очень ограниченные знания о разработке Android, не говоря уже о службах определения местоположения. Это приложение — мое самое большое сожаление за 3–4 года разработки. Я старался изо всех сил или нет, я не знаю, но это могло быть сделано, и я просто не мог этого сделать. Извините, что не удалось создать приложение, которое могло бы отслеживать местоположение в фоновом режиме. Извините, еще раз.

Другим проектом, над которым я работал, была LMS, это HR-портал, полностью созданный на Django и использующий семантический пользовательский интерфейс для внешнего интерфейса. Это был забавный проект, который расширил мои знания о Django, а также скорость, с которой я могу разрабатывать приложения Django. Я говорил об этом в моем последнем сообщении в блоге. После этого я добавил еще несколько приложений в то же приложение для других видов деятельности, связанных с персоналом. Он вырос из простого добавления и применения листьев в полноценный HR-портал. Через некоторое время я также добавил работу с использованием Redis и rabbitmq для обработки нескольких фоновых задач. Это значительно увеличило время отклика серверов.

Следующим сервером Django, который у меня был, была наша производственная ERP-система, которая явно нуждалась в обслуживании. Мне пришлось разместить его на нашем общедоступном IP-адресе, и блог digitalocean о подключении локального сервера к VPN очень помог мне в этом. На самом деле не так много, но все это было сделано с помощью их блога. У меня нет ссылки на блог, но если вы можете найти хост-сервер с помощью VPN, вы легко найдете их блог. Отдельное спасибо Open VPN за создание такого замечательного программного обеспечения, которое значительно упрощает размещение вашего локального VPN-сервера. Тогда единственное, что оставалось, это маршрутизация с использованием моего маршрутизатора, и мы были готовы к работе.

Затем были некоторые логические изменения и изменения модели для статистических целей. Это было довольно просто, только с кодовой базой было сложно работать. После этого мне пришлось внести множество слуховых изменений, чтобы вести журнал всех изменений, внесенных в нашу базу данных и логины пользователей. Для этой части мне пришлось углубиться и понять промежуточное ПО в Django. Это было для меня первым в написании и понимании промежуточного программного обеспечения. Я с целью управления доступом пользователей к нашему серверу использовал «django-axes», а для ведения истории каждой модели использовал «django-history». Django предоставляет множество функций из коробки, в результате чего нам, разработчикам, приходится меньше беспокоиться об обычных вещах и сосредоточиться на новом и необычном.

У нас был еще один сервер, который был очень простым сервером Django, и да, я использовал сервер Django для обмена файлами, где я мог бы использовать общий доступ к сети Windows. Но в то время у меня не было другого представления о том, как обращаться с такой системой, и веб-сервер казался лучшей идеей. Это была очень простая структура, и меня попросили изменить некоторые модели и формы, чтобы лучше отслеживать, что загружается. В то же время я снова модифицировал пользовательский интерфейс, используя семантический пользовательский интерфейс, чтобы повысить его визуальную привлекательность.

Затем у нас было какое-то приложение на Python, использующее tkinter, и несколько простых скриптов превратились в приложение. Существовали определенные небольшие голые приложения, используемые для подключения к последовательным устройствам и отправки им команд при одновременном чтении с этого устройства. Это был интерфейс одного устройства, и он не поддерживал работу с несколькими устройствами, что, как мне кажется, можно было бы сделать очень легко. Были также созданы определенные варианты этого. Я также модифицировал некоторые части старых приложений, которые я создал ранее, но в этом процессе я не узнал ничего нового.

В то время я начал искать свою новую работу и понял, что очень сильно отставал в своих технологических знаниях, поскольку мир все чаще использовал React и Node, а я работал над очень небольшим количеством проектов JS за последние полтора года. . Пришло время снова заточить лезвие JS. Я начал делать несколько проектов и курс по фронтенд-разработке. Проекты по большей части были простыми, и большая часть того, что я уже знал, просто нуждалась в некотором освежении основных концепций, а также ES6.

Дальше была реакция. Я понятия не имел, что такое реакция и как она работает. Я сделал один или два проекта на angular, и все.

Мы поговорим о реакции и о многом другом, чему я научился на своей новой работе. А пока удачной покупки.