LINUX.ORG.RU

Сообщения q13

 

Как настроить всё и не сойти с ума: мысли дева

Галерея — Скриншоты

Прошло 6 лет с момента последнего поста. Много интересных событий и открытий произошло, но прежде перехода к теме хочу немного рассказать о себе. Как и большинство инженеров, я учился в техническом вузе, где с первого дня нам прививали здоровые технические привычки. По специальности я начал работать только через 10 лет после его окончания, все эти годы я работал девом и не могу сказать что жалею. Исторически сложилось что было два пути: Уйти в бек-разработку (что я и сделал) или выбрать какую-то около техническую тему. Мне особо не было интересно разбираться с каким-то невнятным доменом…

Приступим

10 лет назад было столько же дистрибутивов, операционных систем и т. д. Могу спойлернуть сразу — поменялось всё минорно, то есть фундаментально люди по-прежнему не летают, квантовые вычисления скорее эзотерика и процессоры есть куда уменьшать). Каждый дев (если это не шарпер) рано или поздно переходит на Mac/Linux и не знает бед с постоянными кривостями windows. Конечно, есть у винды хорошие стороны, но я их как-то не нашел. За 10 лет успел поработать на PHP, Java, Ruby, Go, Js и. конечно же. любимом Python. Покидало меня знатно. Считаю бейдж Senior/TechLead очень относительным. По опыту скажу, всего ты знать никогда не будешь поэтому особо нет смысла вы**. Дальше будет мысль о том как всё настроить и не убить 10 лет.

ОС

Любая ос — это каркас. Ты можешь и на Windows 8 (надеюсь, ты так не делаешь) писать отличных код. Один вопрос, который может пошатнуть эту гипотезу — отказоустойчивость. К примеру, ты пилишь очередную апи и у тебя резко начинает перезагружаться ос и хорошо, если ты успел сохранить свою работу, иначе совсем грустно.

  • Linux — это система, которая подразумевает умение решать проблемы.
  • Мак — система, где ты покупаешь уже готовое решение без возможности особой настройки.
  • Windows — система, где ты учишься переносить боль и в дальнейшем идти на компромиссы. Выбор всегда твой, но и ответственность тоже твоя. Когда ты, к примеру, поставил арч и не смог запустить иксы, это как минимум не продуктивно. Большинство людей убивает время для сомнительного профита. По этому перед выбором однозначно рекомендую оценить своё время на изучение нюансов.

Кастомизация

Все мы знаем о прекрасном Unixporn и видели эти гениальные рисуночки. Очень красиво и необычно по отношению к дефолту. А вот теперь серьёзно, большинство из этого пластикового окружения неюзабельно от слова совсем. Некоторые окружения пилятся неделями/месяцами для того, чтобы выложить это на Unixporn. То есть эти, к примеру, 2 недели ты настраивал панельки или ещё что-то ради скрина. За 2 недели можно выучить базовые понятия AI и поднять себе ЗП. В общем (и целом) оно того не стоит.

Железо

Тут всё очевидно, чем шустрее работает тем лучше. Домашний мак про 16 (2022) меня более чем устраивает для своих проектов и сидения в интернете. Параллели решают, но это отдельная тема. Для работы использую ThinkPad P14s Gen 3. Не могу сказать что это прям идеальный ноут, но с задачами справляется. Отдельное слово хочу сказать о Nvidia: дрова УГ и была боль с их настройкой. Плюс сам ноут держит 3 часа, что есть не спортивно. Но огромный плюс — его размер. Для 13 дюймов — это удачная рабочая машина.

Моё окружение

  • OS — Ubuntu
  • Gnome — дефолт с 3 плагинами (Быстрый переход к папкам, буфер обмена, таск)
  • Terminal — Terminator
  • Editor — nvim/pycharm
  • WEB — Chrome (Firefox как-то с годами меня разочаровал, но плагины лучше)
  • Console: fd, rg ,pgcli — лучше пока не нашел, onelove. В консоли я провожу большую часть времени, так что рекомендую её изучать и не сильно верить интерфейсам)

Заключение

Надеюсь, никого не утомил и вы услышите мой главный посыл: тратьте время на важное и ставьте правильные приоритеты.

>>> Просмотр (2560x1440, 1948 Kb)

 , , ,

q13
()

Ubuntu 22.10 не хочет выходить из сна thinkpad

Форум — Desktop

Приветствую!

Обращаюсь к Вам, уважаемые лоровцы, с достаточно ужасной проблемой которую не удаётся решить уже неделю.

Интро:

Месяц назад на работе выдали чудесный девайс Thinkpad p14s gen 3 и он пекрасен, буквально с первой секунды влюбился в сей девайс. Он прекрасно работает со всеми рабочими задачами и не разу не заставлял задумываться в своей удобности.

Проблемнaя nvidia:

С момента его выдачи не было возможности самостоятельно выбирать ос и по всей «лени» местных админов была выдана флешка с заветной убунтой 22.10. Начиналось всё не плохо, весь рабочий софт завелся из коробки была лишь проблема с картой NVIDIA T550 Laptop GPU. Вся боль и печаль началась с установки двайвера (525 tested). Из коробки он не видел карты.. Эту проблему удалось легко решить переустановкой дров.

Проблема:

Ноутбук не хочет выходить из сна, просто ничего не происходит. Что было опробовано: Конечно же имея единственную проблему с nvidiа, я решил отключить nvidia, но проблема не исчезла. Далее была попытка разобраться в логах и там особо ничего не удалось разобрать интересного. Оказалось, что не было дров synaptics и не было дров на подсветку клавиатуры. Большая проблема в том, что переходить в сон в офисе нужно постоянно и выключать ноутбук не хотельсьбы. Подскажите что можно сделать, на Вас послендяя надежда!

PS не помогло

systemctl disable nvidia-hibernate.service nvidia-resume.service nvidia-suspend.service

 , , , ,

q13
()

Локальный IP не виден внутри локальной сети

Форум — Desktop

Приветствую! Есть ноут с ubuntu 20.20 на нём весит скрипт, который работает по протоколу http на порту 8080. При любой попытке подключится локально на этот порт с другого устройства в той же сети, получаю Err_connection_timed_ou. Установлен ufw с правилом

 ufw allow from any to any port 80 proto tcp 
. Подскажите что я делаю не так? Заранее спасибо, Вам

P.S. если отключить ufw не миняется ничего

 , , ,

q13
()

vim назначить разные действия на одну кнопку

Форум — Development

Доброго времени суток! Подскажите, Вимеры, как можно назначить на одну кнопку (к прмеру C-R) выполнениe запуска для JS в виде !node %, a в случает python !python % Заранее благодарен!

 , , ,

q13
()

Подсветка Django Traceback

Форум — Development

Приветствую. Кто то использует подсветку для Traceback в Django и если да, то как? PS использую терминатор

 ,

q13
()

Nginx webp image не отображается

Форум — Development

Приветствую. Столкнулся с проблемой связанной с nginx. В моём проекте используется nginx (1.17.1) c pagespeed модулем. При обработке папки /static/ работает всё отлично, но принципивльно не отображаются изображения .webp Пример конфигурации

location /static/ {
            #webo
            # if ($http_accept ~* "webp")    { set $webp_accept "true"; }
            # if (-f $request_filename.webp) { set $webp_local  "true"; }

            # # если WebP есть, то передать Vary
            # if ($webp_local = "true") {
            #     add_header Vary Accept;
            # }

            # # если клиент поддерживает WebP, то передать файл
            # if ($webp_accept = "true") {
            #     rewrite (.*) $1.webp break;
            # }
            if ($http_accept ~* "webp") { set $webp T; }



            # optimization
            etag on;
            #gzip on;
            charset utf-8;
            expires max;
            # sendfile on;
            sendfile off;
            # autoindex on;
            add_header Access-Control-Allow-Origin *;
            # root /home/project/src/;
            alias /home/project/src/static/;
        }

При попытке обратится к этому изображению(https:site//static/image/usa.wepb) получаю ошибку 404. Подскажите, что я делаю не так?

 , ,

q13
()

Вопрос о flask, воркерах и асинхронности

Форум — Development

Доброго времени суток. Есть приложение на flask у которого есть задачи (6 парсингов). Каждый пользователь может самостоятельно загрузить нужные ему данные которые обрабатываются при помощи rq (база redis). Всё отлично работает, но меня беспокоит, что когда будет одновременно 30 запросов (учитывая что на один парсинг уходит от 10 секунд до 60) пользователи могут не дождаться ответов и просто уйти. Подскажите как поступать в таком случае, возможно очереди не удачный выбор или нужно добавить больше воркеров?

 , , , ,

q13
()

AngularJs добавление отдельного скрипта

Форум — Web-development

Есть код с со всеми известного AngularJS Phonecat В который я бы хотел добавить свой код:

const queryInput = document.getElementById('query_input');
const searhForm  = document.getElementById('query_form');
const queryUlSearch = document.getElementById('query_ul_search');

// При начале поиска дождно появляться окно выбора
document.getElementById('query_form').addEventListener('keydown', function(e){
    if (e.target.id == 'query_input') {
        console.log('alksdjflasdkjf');
    }
});
код был подключен обычным
 <script src="my_js.js"></script> 

И он не видит форму которая из phone-list.template.html Запускается через npm start Выдаёт ошибку

Uncaught TypeError: Cannot read property 'addEventListener' of null

Подскажите, что я делаю не так и как это исправить. Спасибо

 ,

q13
()

Проседание сайта но скорости

Форум — Web-development

Доброго времени суток.
Появилась очень странная проблема со скоростью сайта.
OS: ubuntu server 18.04
Proxy Server: Nginx + Pagespeed
WSGI Server: Gunicorn
FW: Django 1.11.5

Проблемы:
Время окончания работы ЦП - 12,4 сек.
Приблизительное время задержки при вводе - 220 мс
Время загрузки для взаимодействия - 14,8 сек

Диагностика подсказывает:
Минимизируйте работу в основном потоке - 6,9 сек
Сократите время выполнения кода JavaScript - 3,6 сек((Google maps + Google recapcha))
Задайте правила эффективного использования кеша для статических объектов - 8 ресурса (Google maps + Google recapcha)

Всё вышеперечисленное относится к Мобильной версии сайта 44 из 100, на ПК версии всё норм - 90 из 100

Возможно проблема в конфиге сервиса, но не уверен.

[Unit]
Description=site.com django instance
After=syslog.target network.target

[Service]
Type=simple

User=www-data
Group=www-data

Restart=always
RestartSec=2

Environment="IS_PRODUCTION=yes"
Environment="PYTHONPATH=/home/rast/src"

#ExecStart=/home/site/app/bin/gunicorn main.wsgi
ExecStart=/home/site/app/bin/gunicorn --bind 127.0.0.1:8000 --workers 3 --threads 2 main.wsgi

[Install]
WantedBy=multi-user.target[code/]

Отзовитесь если кто то знаком с подобными проблемами [br]

 , , , ,

q13
()

Посоветуйте хороший аналог vlc

Форум — Desktop

Доброго времени суток. Посоветуйте хороший аналог vlc, хотелось бы функцию поверх всех окон. (В ubuntu 18.10 она перестала работать)

 ,

q13
()

Проблемы с fedora и Gnome shell

Форум — Desktop

Доброго времени суток!
Поставил себе недавно Fedora 29 думая что это стабильный дист и всё в нём хорошо работает просто из коробки. Начались проблемы почти со всем софтом, особенно gnome дефолт программы типа боксов(удалёнка работает 5 мин и вылетает, чем лечить не ясно), steam при запуске начинает тупить, документы не могут подгрузить всё с google docs и соответственно виснут. Что не так, может кто то сталкивался? Также нужно отметить, что программы с gnome не связанные работают как часы(pycharm, vlc и тд). Всё дефолт и расширения не использовал. П.С. Логи в порядке.

 , ,

q13
()

Вопрос по Архитектуре: Python + MSSQL

Форум — Development

Доброго времени суток. Есть большой проект написанный на С++ с базой данных MSSQL.
Появилась задача добавить веб панель и интернет магазин.
Выбором для Backend стал Python(Flask) c RESTapi.
Собственно вопрос появился:
Как именно это сделать учитывая, что БД обязательно должна быть MSSQL(есть огромное количество процедур которое переписывать просто нет возможности).
Хотелось бы использовать такую связку:
Docker: - mssql-server-linux
- python
- flask
( Python + flask + pyodbc ) AWS или DigitalOcean?
Посоветуйте как лучше выполнить эту задачу.

 , , ,

q13
()

Как парсить html/flash player

Форум — Development

Доброго времени. Есть ли у кого опыт парсить плееры. Есть список сайтов в основном с каталогами видео которые закрыты в плеере. *закрыты - без прямых ссылок или необходимо для каждого дальнейшего просмотра переключить на следующее. Примером будет любой сайт типа seasonvar и тд. Расскажите кто знает, как бы последовательно спарсить ссылки на файлы? Если есть вариант на python будет идеально.

 , ,

q13
()

Vim решил мерцать

Форум — General

Доброго времени. vim 8.1, дист Arch, терминал konsole. когда нажимаю на esc начинает мерцать экран терминала, в tmux подобной проблемы не наблюдается. Кто то сталкивался с подобным?

 ,

q13
()

Security Linux

Форум — Desktop

Доброго времени. Сегодня поставил чистый Арчик. И вот хотел узнать у нормальных людей, чем реально вы пользуетесь для защиты. Доку на вики конечно же почитал, статейки с гугла и тд. Поделитесь опытом, что реально помогает, а что лишь трата времени. Заранее благодарен за адекватные ответы. ППС: Просьба ко всем мистерам роботам: писать по существу.

 , , ,

q13
()

Связанные поля Django ORM

Форум — Web-development

Приветствую. Есть вопрос: есть 2 таблицы Company и Services.

class Company(models.Model):
    name = models.CharField(max_length=100, blank=False, verbose_name='Название компании')
    # balance = models.CharField(max_length=100, blank=True, null=True, verbose_name='Баланс')
    status = models.BooleanField(verbose_name='Статус')
    address = models.CharField(max_length=200, blank=True, null=True)
    date = models.DateTimeField(auto_now_add=True, blank=True, verbose_name='Дата создания')
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

    def __str__(self):
        return self.name


class Services(models.Model):
    name = models.CharField(max_length=30, verbose_name='Имя Сервиса')
    balance = models.FloatField(verbose_name="Баланс")
    start_at = models.DateTimeField(null=True, blank=True, verbose_name="Дата создания")
    finished_at = models.DateTimeField(null=True, blank=True, verbose_name="Дата окончания")
    company_starter = models.ForeignKey('Company', on_delete=models.CASCADE)

    def __str__(self):
        return self.name

Собственно вопрос как сделать запрос так, что б получить вместь id поля его значение.

Data = Services.objects.first()
#name balance start_at finished_at company_starter 
# Пример вывода > a,12,date,date, 1

Хочу получить # Пример вывода

Services.name, Services.balance, Services.start_at, Services.finished_at, Services.company_starter , company.name, company.status, company.address, company.date, company.user

 , , , ,

q13
()

Редиректы с Nginx

Форум — Web-development

Доброго времени. Есть сервер который обеспечивает работу сайта и нескольких микросервисов. На основном сайте используется Django + gunicorn + Nginx. Есть страницы: https://example.com/page - она даёт ответ 200 и всё гут. https://example.com/page/ - отдаёт 404. Вопрос как со страниц со слешем сделать редирект на страницы без слеша посредством nginx? Заранее всем спасибо!

 , , , ,

q13
()

Как сделать репост из канала telegram

Форум — Web-development

Есть бот, цель которого делать репосты из чужих каналов telegram. В доке телеграма, есть такие методы: getChat, getChatAdministrators, getChatMembersCount и тд. все методы выдают лишь информацию о канале. Как получить последние 10 записей из канала?

П.С. Я вижу возможность парсить их через requests + Beautiful Soup и вероятно Selenium. Данный метод мне кажется топорным.

 , ,

q13
()

Общий вопрос по Django

Форум — Web-development

Доброго времени суток. Подскажите как лучше сделать. Все мы знаем что у django есть админка которая не очень удобно настраивается, a в большом проекте иногда просто не имеет смысл подобный функционал. Как, Вы, уважаемые разработчики боретесь с этой проблемой? Все пишут кастомные админки, или пользуются сторонними пакетами?

П.С. Прошу отвечать только по существу. П.П.С. Заранее всем спасибо

 , ,

q13
()

ATOM vs Sublime

Форум — Development

Добрый день. Не ради холивара. ATOM 1.20 v vs Sublime 3.0 Чем вам пользоваться удобнее?

П.С. vim и emacs вне конкуренции

 ,

q13
()

RSS подписка на новые темы