LINUX.ORG.RU

345
Всего сообщений: 3111

Москва, Python (опыт от 2-х лет), 160000 - 200000 руб., в офис.

В небольшой, но активно растущей команде, разрабатывающей IT-решения для компаний страхового сектора, открыта вакансия Python-программиста.

Наши заказчики - крупнейшие организации по оказанию социально значимых услуг гражданам РФ.

Будем рады знакомству с опытным разработчиком, который уверенно знает и работает с Python, с тем, кто готов заниматься развитием удобной и надежной информационной платформы, принимать участие в разработке сервисов и выборе технологий для новых решений.

Чем предстоит заниматься:

  • Проектировать и разрабатывать backend - сервисы на языке Python, включая взаимодействие с реляционной СУБД (Oracle);
  • Писать unit-тесты.

Требования к кандидатам:

  • Отличные знания Python 3, SQL;
  • Отличные знания общих вопросов программирования: шаблоны проектирования, структуры данных, алгоритмы;
  • Опыт использования систем контроля версий.

Что будет плюсом:

  • Опыт работы с реляционными СУБД (Oracle);
  • Понимание смежных областей разработки ПО (анализ требований, проектирование, обеспечение качества).

Мы предлагаем:

  • Оформление в соответствии с Трудовым Кодексом РФ;
  • Конкурентоспособную заработную плату ( 160-200 тыс. руб.);
  • ДМС со стоматологией;
  • Комфортабельный офис (м. Варшавская);
  • Возможности профессионального роста, обучение за счет компании.

Ждем ваших резюме: kd_hr_2018(собака)rambler.ru

 , , , ,

krisd86 ()

Запуск python-скриптов на nginx

Подскажите как. Прочитал про uwsgi - сошел сума, что мне надо зачемто создавать юзера, зачемто держать в хомяке этого юзера .py файлы... Хочу простого, чтоб также как php - файл положил в вебрут, открыл браузером получил вывод. Есть способ простой?

зы. Нет, я не собираюсь запускать джанги, фласки и прочие, и также не хочу всё это ставить.

 ,

shashilx ()

89,5 - Теперь заживём!

After heated debate on the mailing list, the 79-character line limit prescribed by PEP8 will be updated. IDE users all over the world will now be able to take advantage of their 30" ultra-wide 4K monitors, as the recommended line length will be increased to 89.5 characters (this was a compromise with the 100-character lobby, the decision being to split the difference).

The GIL has been removed.ка

Finally, a new string-type for the masses, Python 4.0 will feature «z-strings»: C-style NULL terminated bytestrings. Just prefix your string like so, z'my string' and Python will automatically ensure it is NULL-terminated. Note: the new z-strings cannot be used with any of the existing APIs that take string arguments - they must first be decoded to unicode strings or cast to bytes.

http://charlesleifer.com/blog/new-features-planned-for-python-4-0/

Update. В связи с возникшим недопониманием из-за того, что тру не ходят по ссылкам, хочу отметить что GIL остаётся и его даже будет больше.

Python 3.9, PEP 554 - для однопоточных приложений всё остаётся как было, для многопоточных реализуется схема создания в одном процессе несколько интерпретаторов (каждый со своим GIL) и API межпроцессного взаимодейcтвия суб-интепретаторов.

 ,

vvn_black ()

Подсветка и фильтрация строк на Python

Ищу консольную утилиту для хитрой подсветки и фильтрации файлов, суть такова:

Есть файл с набором строк (лог файл, выхлоп diff, выхлоп компиляции). Каждую строку нужно распасить, расцветить и назначить какую-то категорию (INFO/WARNING/ERROR, ADDED/REMOVED, COMMENT/COMMAND/WARNING/ERROR). Категорию нужно уметь показывать для каждой строки. Правила (паттерны) должны храниться в отдельных файлах, паттерны могут быть многострочными. Правила должны как-то определять цвет (либо для всей строки, либо для частей).

Обязательно:

  • Должна быть возможность скрывать вывод, пока не встретится определённый паттерн (например, ERROR), после этого включать полный вывод обратно и вываливать всё, что накопилось (все INFO и WARNING, которые были до этого).
  • Должна быть возможность выйти после первого нахождения какой-то категории (например, ERROR).
  • Статистика по всем категориям.

Очень желательно:

  • Библиотека для Python (иногда нужно автоматически прикрепить фильтр к subprocess или stdout отдельной функции). Но в принципе подойдёт и сторонняя утилита под unix и оффтоп (MSYS/Cygwin или хотя бы сорцы).
  • Переписывать строки (заменять какие-то части подстановками, вызывать функции-обработчики), удалять пустые строки, отфильтровывать какие-то категории сообщений с концами, но это не критично.
  • Будет круто, если будет встроенный пейджер (a-la less).
  • Ещё use-case: msbuild выводит строчки с префиксами «порядковый номер проекта> реальная строка». Сейчас мне приходится отдельно собирать выхлоп для каждого проекта отдельно и заменять номер на айдишник проекта, вычитанный другим паттерном выше.

Пока пользуюсь самописным скриптом, пришло время для чего-то нормально отлаженного и протестированного.

Пробовал awk, но получившийся скрипт был ещё менее читаемым.

Сейчас смотрю на pygments, но ещё не все требуемые фичи нашёл.

 , ,

E ()

способы удаленного запуска python-скриптов

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

  • запускать программу на «запускаторе», который через ssh будет отправлять последовательно команды на целевые машинки
  • разлить скрипт по машинкам по ssh и уже локальный скрипт дергать удаленно
  • использовать монструозную систему управления конфигурациями

или это зависит требований и контекста? какие еще варианты?

 ,

chenbr0 ()

Java vs Python: поля классов.

Python (3.6):

class A:
    a: int = 6
    def class_print(self):
        print(self.a)

class B(A):
    a: int = 7

def main():
    a = A()
    a.class_print()
    b = B()
    b.class_print()

if __name__ == "__main__":
    main()

Output:

6
7

А в Java (8)

package temp;

class A {
    int a = 5;
    public void printMethod(){ System.out.println(a); }
}

class B extends A {
    int a = 6;
}

public class main {
    public static void main(String[] args) {
        A a = new A();
        a.printMethod();

        B b = new B();
        b.printMethod();
    }
}

Output:

5
5

Лично для меня поведение Python в данном случае является очевидным, но почему в Java иначе и как добиться (если возможно) поведения аля Python в данном случае? Почему?

 

galliley ()

Как подружить новую джангу со старой монгой?

Нужно из Django 2.2 подключаться к MongoDB 2.4.10
Система на Debian 9 amd64, Python 3.5

django-nonrel не поддерживается второй джангой, а для djongo нужен Python 3.6 и MongoDB 3-й версии

Сейчас говнокодю без интеграции в джангу, просто использую старую версию pymongo (новые уже тоже не поддерживают)

Есть ли возможность интегрировать это в Django ORM или говнокодить дальше?

 , ,

Qwentor ()

Linux и тачскрин

Мне в руки попал монитор и комп,вот такие: https://ipc.msi.com/product/pages/ipc/MS-9A65.html https://iiyama.com/by_ru/produkty/prolite-t1634mc-b4x/

Появилась идея сделать проект один.На python+kivy,который будет запускатся сразу же при старте системы и сама система не будет использоватся без нужды влезть в какие-то процессы.Просто монитор с одной программой которая будет постоянно включена.Встал вопрос какой дистрибутив выбрать.Я не самый уверенный пользователь линукс,сам сижу на убунте.Мне нужен максимально легкий дистрибутив,и что более важно с поддержкой тачскрина. Приятель делал что-то подобное но на raspberry. Использовал kivy-pie (http://kivypie.mitako.eu/). Я не уверен что это система мне подойдет,но решил это учесть в сообщении. Жду Вашего совета и заранее спасибо :)

 , , ,

toni27 ()

Python: вопрос по организации модуля

Всем привет!

Написал некоторую симуляцию физического процесса с использованием numpy и теперь желаю структурировать проект по людски.

Что имеем сейчас (упростил для наглядности):

.
├── log/
├── output/
├── model.py
├── precalculations.py
├── properties.py
├── run.py
└── visualization.py
# run.py
import numpy as np
import precalculations

# defining up some model parameters here

import model
# model.py
import numpy as np
from properties import *
from run import ... # all the defined parameters

# defining some auxiliary functions here
# running calculations

Что мне не нравится:

  1. В файле run.py импортируется model.py в конце.
  2. В файле model.py импортируются переменные из run.py.

Что хочу получить в итоге? Воспроизводимые эксперименты, по одному файлу на эксперимент. В файле описаны все параметры, а все вычисления вынесены за его пределы.

Вопрос: как это грамотно организовать?

 ,

aquadon ()

Как использовать letsencrypt в python?

Всем привет. Не могу нагуглить вразумительной документации по letsencrypt/acme для использования в качестве модуля в python. Подскажете? Заранее благодарю.

 ,

mahalaka ()

Создание автономных программ python3

Есть цель создать из скрипта, автономную программу со встроенным интерпретатором python и зависимостями, дабы можно было её запускать без наличия python в системе.

Все что я нашёл это PyInstaller и cx_Freeze. Но последний не работает с python3.7. Остаётся только PyInstaller, однако инфы по нему в интернете немного. Обычно всё ограничивается командой типа pyinstall -F target_script.py, но тогда он генерирует бинарник с кучей *.so в той же директории.

Что надо?

Надо что-бы все *.so (кроме самого интерпретатора) лежали где-то в ./bin или ./lib

Т.е. так:
./target_script
./libpython37.so
./base_library.zip
./bin/*.so (остальные .so)

Ни в официальной документации, ни в инете способа так сделать я не нашёл. cx_Freeze так умеет, но как сделать подобное в этой программе я не знаю.

Либо накиньте других способов упаковки. Желательно максимально ручных

 , ,

name2 ()

Реконструкция Midi из видео роликов Synthesia (и ей подобным)

Создал программу которая позволяет реконструировать Midi файл основываясь на видео потоке таких программ как Synthesia. Опробовал на многих из любимых мелодий =)

Решил может кому понадобится, так что выложил всё на гитхабе,

Ссылка на GitHub

Пока что позволяет реконструировать с видео в 1 трек ( без разбиения по «цветным» дорожкам, хотя думаю это особо то и не нужно )

В общем жду ваших предложений =)

 , ,

svsd_val ()

Форматирование текста в markdown согласно шаблону

Привет!

Дана такая задача, есть выхлоп скриптов в текстовом файле, вида

v-acknowledge-user-notification
Usage: v-acknowledge-user-notification USER NOTIFICATION

v-add-backup-host
Usage: v-add-backup-host TYPE HOST USERNAME PASSWORD [PATH] [PORT]

Как и чем его преобразовать в формат Markdown такого вида? Это сделать реально? Скриптик на Питоне?

 , , ,

Twissel ()

Использовании python как замена (почти) bash для скриптов

Всем привет. Видел несколько тем на форуме, но там немного другой характер вопроса. Я сейчас в ситуации, когда приходится использовать и линукс, и окна. Поэтому я хочу унифицировать в скрипте ряд действий, которые приходится постоянно делать.

Для примера возьмем imagemagick и ghostscript. На вход я передаю путь до папки с кучей сканов в pdf и ключ объединения (объединять все pdf в один или оставить в разных файлах). Не считая разных команд (в окнах IM используется через команду magick, а в линуксе через convert), все остальное одинаковое. Я прочитал про subprocess и его метод run. В данном случае он будет уместен? Т. е. код такого вида

if sys.platform.startswith("linux"):
    subprocess.run(['convert', '-density 300', '-quality 85%', inputFile, outputFile])
elif sys.platform.startswith("win"):
    subprocess.run(['magick', '-density 300', '-quality 85%', inputFile, outputFile])
else:
    print('Платформа не поддерживается')

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

И вообще, как сейчас смотрится идея использования python как замена для bash, кроме случае с однострочниками? Предполагается использование subprocess для обращения к программам.

 , ,

Vizarax ()

Poetry ставит модули глобально

# Создаю проект
$ poetry new <project-name>

$ cd <project-name>

# Создаст виртуальное окружение и поставит туда все либы
$ poetry install

$ poetry add aiohttp

Библиотека ставится глобально и добавляется в зависимости (toml-файл). Так и должно быть? Сейчас перед добавлением библиотек, активирую виртуальное окружение. Это правильно? У меня стоят Arch и pyenv мб дело в каких-нибудь переменных окружения или pyenv как-то конфигурирует python неправильно при компиляции?

 

tz4678 ()

Числа, строки, указатели в ООП языках.

ООП языки это языки где все объект без исключений! Но как там представляются числа? С Java все понятно, там int не объект, а в ООП языках? Эмулируется существование всех объектов-чисел? Или у объектов-чисел все же особое поведение? Все не пойму что то.

 , , ,

VarfolomeyKote4ka ()

Найти пересечение двух shape файлов

Мне нужен специалист кто бы помог решить данную задачу. Это одна из моих задач. Хотелось бы решение с подробным объяснением. Так сказать - несколько часов репетиторства. Есть тут специалисты по ГИС? Договоримся

 

KRex ()

Как узнать Sequense number в python [tcp]

Добрый день, хочу задать вопрос... Как узнать Sequense number на прослушиваемом сокете в python? Хотел бы обединить пакеты в одну цепочку, но не зная номера секции такое не выйдет:( Возможно ли это сделать при помощи getsockopt? Если да, то как?) Благодарю за подсказки

 ,

trix0 ()

C++ обошел Python по популяности

Как сообщает https://www.technotification.com/2019/04/c-knocks-python-out-of-top-three.html

согласно индексу TIOBE C++ переместился на третье место по популяности. Взрастание популярности вероятно обусловлено изменениями в стандарте начиная с C++11 и поддержкой среди «главных» компиляторов: GCC, Clang и Visual Studio.

 , ,

KennyMinigun ()

СПб, Программист, проект Arduino+Raspberry_Pi(Debian)+WebRTC

Приветствую! Есть задача для решения.

Укрупненно это должно выглядеть следующим образом.

Бюджет проекта 30 т. деревянных... Если кто-то может собрать быстро, но дороже - можно обсудить.

Машинка с управлением: вперед, назад, налево-направо (управление реализуется замыканием соответствующих реле). Также потребуется вращение двумя сервоприводами, замыкание контактов одного слаботочного ключа/реле. Данная часть построена на Arduino + shields.

Arduino соединена с Raspberry (Raspberry pi 3 b+) через USB / SPI / I2C /…(протокол не так важен, как минимальная задержка передачи управляющих команд от клиента к Arduino). Raspberry подключена к сети интернет через встроенный wifi-адаптер. К Raspberry подключена камера (Raspberry Pi Camera CSI).

Видеопоток от камеры в режиме «реального времени» передается внешнему клиенту с минимальной задержкой (UV4L/GStreamer/netcat/WebRTC/RTMP/…), а со стороны клиента передаются управляющие сигналы для Arduino.

Клиент находится не в локальной сети, поэтому доступ осуществляется через проброс портов в роутере (к которому подключена raspberry) и использование статического IP.

Со стороны клиента: видео-трансляция и управление осуществляется или через браузер, или через отдельное приложение (на данный момент можно ограничиться ОС Windows). Управляющие сигналы считываются с клавиатуры и от «мышки». К дизайну клиентской оболочки особых требований нет – это может быть просто окно с видео-трансляцией (и возможностью полноэкранного режима).

Самостоятельно протестирована работоспособность видео-трансляции во внешнюю сеть: https://www.linux-projects.org/uv4l/ На данный момент на Raspberry я поднял сервак uv4l и транслирую эмуляцию с HDMI-выхода малины + транслируются нажатия клавиш от удаленного компа в строну малины. А так же доступна трансляция с камеры, которая смотрит на светодиод, подключенный к Raspberry: GPIO-LED-GND.

Буду рад откликам/рекомендациям/советам.

 , , ,

Vladist ()