Задать вопрос
  • Как добраться до ответственных лиц в Ростелеком?

    @res2001
    Developer, ex-admin
    Пишите официальное письмо директору местного филиала, в письме опишите проблему и этапы обращения в поддержку с датами, номерами и т.п.
    Если через месяц ответа не будет в каком-либо виде, то уходите к другому оператору. Об этом можно сообщить в письме.
    Ответ написан
    2 комментария
  • Использование нелицензированного ПО в организации, кто несёт ответственность?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    А теперь от теории к практике, я сам несколько раз попадал под проверки, а также несколько лет "работал" независимым специалистом по киберпреступлениям, в том числе на проверках лицензионной чистоты. Руководство всегда показывает пальцем на админа и говорит "Мы не знали, вот ответственный специалист!" Заканчивается это тем, что компанию штрафуют, а админу прилетает срок. Наличие бумажки о том, что директор знал об установке пиратского софта трактуется судом как преступный сговор. Позиция админа "я не обязан разбираться в тонкостях лицензирования" - это как позиция бухгалтера "я не обязан разбираться в тонкостях налогообложения". Правильных решений может быть только два - либо заставить компанию перейти на лицензионное ПО, либо уволиться.
    Ответ написан
    39 комментариев
  • Есть ли польза от codewars?

    Djaler
    @Djaler
    Сеньор-помидор
    Активно пользовался, когда начинал изучать Python. Очень помогло в обучении, так как, имхо, для программирования на Python нужно перестроить мышление. И вот пишешь какую-нибудь простыню в си-стиле, а потом видишь как это делается одним красивым list comprehension, или просто библиотечной функцией
    Ответ написан
    Комментировать
  • Откуда разница между .value и .val()?

    Bobert88
    @Bobert88
    Vice President of Javascript, very important guy.
    В первом случае это html element, во втором объект jquery.

    Чтобы использовать val() в первом случае, нужно обернуть элемент в обертку jquery:
    $("#myform input:text").each(function(index, formField) {
        data[formField.name] = $(formField).val();
    })

    или же во втором случае вытащить html element из jquery объекта:

    $("#myform input[name=abc]")[0].value;

    На мой взгляд, если вы работаете с jQuery, то ради постоянства кода, стоит использовать .val() по возможности везде.
    Ответ написан
    Комментировать
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Как подготовить текстовые данные в Keras для обучения Encoder-Decoder LSTM сети (sequence-to-sequence)?

    1. токенизировать - возможно, nltk.tokenize ?
    2. далее, вероятно, стоит удалить стоп-слова. Например, полученные от nltk.stopwords
    3. (вероятно, будет толк от стемминга - например, nltk.stem)
    4. далее - например, заменить слова/корни (после стеминга) каким-либо embedding-м (который поставит в соответствие каждому слову вектор) - например, word2vec. Ну или использовать собственный embedding. Например (но это явно затратный в плане памяти путь):
    4.1. создать словарь, содержащий все слова обучающей выборки
    4.2. поставить в соответствие каждому слову его номер. Тогда текст будет представлен одномерным массивом чисел
    4.3. подменить каждое число вектором, где N-й элемент равен 1, остальные - 0. А N - собственно, наше число
    4.4. добавить на вход сети embedding слой и обратный на выход
    Ответ написан
    Комментировать
  • Как "хешировать" код функции в Python?

    longclaps
    @longclaps
    Я бы не заморачиваясь лепил сигнатуру сгенерённой функции, прямо строкой. У вас одна-едиственая фабрика - conjunction, есть, допустим, набор первичных функций - a(...), b(...) и c(...), ну запихните им в докстринг "a", "b", "c", а в conjunction присваивайе докстрингу конкатенцию. И в отладке будет что почитать. Да и для нескольких разных фабрик придумаете.
    Ответ написан
  • Как работает инструкция "from. import mod" в python 3.6?

    Astrohas
    @Astrohas
    Python/Django Developer
    Ссылки внутри пакета

    Когда пакеты структурированы в подпакеты (например, в случае пакета sound), для того, чтобы сослаться на пакеты-потомки вы можете использовать абсолютное импортирование (absolute imports). Например, если модуль sound.filters.vocoder нуждается в модуле echo из пакета sound.effects, он должен использовать from sound.effects import echo.

    Вы можете также использовать относительное импортирование (relative imports), применяя следующую форму оператора import: from модуль import имя . При таком способе импортирования для описания текущего и родительского пакетов используется символ точки. Например, для модуля surround вы можете написать:

    from . import echo
    from .. import formats
    from ..filters import equalizer

    Обратите внимание, что относительное импортирование основано на имени текущего модуля. Поскольку имя главного модуля всегда „__main__“, модули, предназначенные для использования в качестве главных модулей приложения на Python, должны всегда использовать абсолютное импортирование (absolute imports).

    Источник
    Ответ написан
    Комментировать
  • Почему низкой напряжение назвали землей?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Вопрос не ясен. Мне кажется, что вы имеете ввиду цифровую и логическую землю.

    И как связана работа конденсаторов с ТТЛ в динамическом режиме работы устройства?

    Вы сами хоть понимаете, что за бред вы спрашиваете?
    Ответ написан
  • Дальномеры данные которых можно использовать в python программе?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    Любые дальномеры, на которые есть даташит. Доступность железа не зависит от языка.
    Ответ написан
    1 комментарий
  • Как обратно хешировать пароль используя библиотеку werkzeug.security?

    p00h
    @p00h
    Фехтовальщик-стропальщик
    Суть хеширования в необратимости (во всяком случае в крайне сложной обратимости), поэтому никак.
    Ответ написан
    1 комментарий
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я понимаю, о чем вы пишите и почему. Ваш код работает, т.к. решает поставленные задачи и удовлетворяет потребности ваших клиентов. Имеет ли он право на жизнь? Да, но только в вашем отдельно взятом случае.

    Дело в том, что ваш код не гибок, в нем отсутствует масштабируемость, его невозможно поддерживать.

    Что если вам потребуется сделать блог, в котором нужно иметь комментарии, которые обновляются в режиме реального времени? И комментарии могут содержать HTML, но такой, чтобы ваш сайт не могли взломать?
    А еще комментарии короче 2000 символов по воскресеньям платные. Оплата через Яндекс.Деньги.
    Вы все это делаете, все работает.
    Затем заказчик вам говорит, я хочу запустить такую же систему другу, но с оплатой по понедельникам через WebMoney.
    Вы копируете сайт, переписываете функцию оплаты.
    Дальше ваш заказчик видит, что у друга больше денег, он просит добавить WebMoney к себе.
    Вы опять переписываете код. Добавляете условия.
    Потом к вам приходит друг заказчика и хочет другое оформление. Вы переписываете его функции.
    Затем он просит добавить поиск по названиям записей к себе на сайт. Вы делаете. Буквально на следующий день к вам приходит заказчик и тоже просит поиск, но не только по названиями, но и по телу статей и по комментариям. Вы делаете.
    Затем ваш заказчик видит, что дела у него идут в гору и он просит отменить платные комментарии и сделать просто платные аккаунты для всех. Вы переписываете.
    Тем временем друг просит вас сделать все тоже самое, но с его оформлением.
    Дела у заказчика идут в гору и сайт начинает тормозить. Вы делаете кэширование.
    Внезапно сайт заказчика попадает в топ и нагрузка резко увеличиваете настолько, что один сервер уже не справляется. Вы переносите все на самый мощный, но он его тоже мало.
    Нужно делать горизонтальное масштабирование.
    Для этого нужно переписать все функции, которые работают с базой данных. А их уже больше двухсот. И просто замена не подходит.
    Сайт открывается через раз, заказчик звонит вам каждые 2 часа и спрашивает, как там прогресс.
    И тут вам присылает письмо друг заказчика и говорит, что хочет перейти с MySQL на PostgreSQL.
    И вы понимаете, что вам надо будет переписать еще 300 функций, но на другом сайте. Вы его посылаете, поскольку вы и так в мыле.
    Друг жалуется на вас заказчику. Заказчик, не ставя вас в известность, нанимает другого исполнителя, у которого отваливается челюсть от того, что творится в системе. Он объясняет, что ему нужно будет потратить полгода, чтобы вникнуть в то, чтобы понять ваш код, но он может сделать все тоже самое за 4 месяца, причем для заказчика и его друга так, что это будет расширяемо и поддерживаемо не только им.
    Тем временем, спустя двое суток жизни на кофеине вы героически переписываете все функции заказчика и идете отсыпаться. После суток сна вы обнаруживаете на автоответчике сообщение, что вы уволены. А все потому, что забыли проверить функцию логина.

    А теперь разберем эту историю по частям. Почему же вас уволили?

    Незнание абстракций и шаблонов проектирования привело к тому, что вы вынуждены были поддерживать 2 разных проекта с практически одинаковой логикой.
    Например ORM смог вам помочь поддерживать 2 разные базы данных без каких-либо усилий. Сменить одну базу на другую стоило бы исправления конфигурации, а не переписывания 300 функций.
    Использование фреймворков позволило бы сократить время на реализацию подключений платежных систем. Многие из них имеют готовые реализации.
    Опять же в современных фреймворках, например в той же Doctrine реализован шардинг. В большинстве случаев ваши проблемы свелись к изменению настроек.
    Но даже если бы вы накосячили, то интеграционные тесты не позволили бы попасть говну в продакшен. А если бы оно и попало, ну накосячили вы с тестами тоже, то проблема была бы обнаружена на раннем этапе благодаря "сине-зеленому" развертыванию и она бы не затронула всех пользователей.
    И да, ваш код не прошел внешний аудит.

    Чтобы быть настоящим профессионалом, нужно не только знать, но и уметь применять на практике ООП, популярные фреймворки, шаблоны проектирования, тестирование и средства непрерывной интеграции, а еще пользоваться нормальными IDE и нести ответственность за сделанную работу.

    Когда пишете свой код, почаще задавайте себе вопрос: А если бы это был код для моего кардиостимулятора? Это поможет.
    Это вам для общего развития.
    Ответ написан
    5 комментариев
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    @Plus3x
    c10c573f52694badb316d1aa222bc323.png
    Ответ написан
    Комментировать
  • Создать RPG игру на "голом" питон?

    sim3x
    @sim3x
    Да
    Ответ написан
    Комментировать
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Потому что так выгодно бизнесу. Бизнес не будет платить вам за поддержку вашего велосипеда, когда можно сделать на фреймворке, который знают все. А ещё так тупо быстрее.
    Ответ написан
  • Плохо ли создавать проекты с нуля? Что значит быть про?

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

    Поэтому: максимально исключается написание с нуля, используются свои и чужие наработки, отлаженные куски кода, библиотеки классов, фреймворки, готовые движки, ошибки отлавливаются прогоном тестов (а не руками)... и т.д., и.т.д.
    Ответ написан
    6 комментариев
  • Как установить свежую версию nginx на raspbian?

    Добавьте
    deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi

    потом обновите репозитории и установите nginx
    sudo apt-get update
    sudo apt-get install -t stretch nginx
    Ответ написан
    Комментировать
  • Как спрятать админку Django?

    planc
    @planc
    Комментировать
  • Как к wxpython подключить CSS?

    p00h
    @p00h
    Фехтовальщик-стропальщик
    Как к скрипту на wxpython подключить CSS

    Взять WXCSS
    и стилизировать элементы?

    описать правила, используя справочник свойств CSS.
    И в будущем хотя бы минуту времени гуглить.
    Ответ написан
    Комментировать
  • RabbitMQ, как связаться с другой машиной?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    По умолчанию RabbitMQ имеет только одного пользователя - guest, которому разрешено всё, но только при запросах с localhost. Простой, но небезопасный способ - убрать guest из loopback_users. Более разумный вариант - завести пользователя с паролем и явно назначенными правами.
    Ответ написан
    3 комментария