• Что стоит использовать для защиты PHP-кода на текущий момент?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Сообщество считает, что всё это бессмысленные ужимки, которые в 99% случаев используются только для того, чтобы прикрыть крайнее убожество кода. Серьёзные продукты никто не шифрует. Чем, в частности, объясняется заброшенность всех этих, на первый взгляд многочисленных, проектов, которые не выходят из стадии "мы тут с одноклассниками придумали крутую штуку". потом одноклассники либо умнеют и перестают теребить ерунду, либо находят занятие более интересное, чем пхпе.

    Сам по себе код мёртв. Он устарел ещё до релиза. В работе софта важна не дискетка с исходниками, а поддержка. Вот поддержку и надо продавать. И не дрожать над каждым вором. Потому что защита от одного вора отпугивает 10 честных покупателей.

    Плюс всегда есть SAAS.
    Ответ написан
    4 комментария
  • Можно ли всем строковым полям задавать тип TEXT и повлияет ли это сильно на производительность?

    Melkij
    @Melkij
    PostgreSQL DBA
    text и varchar - это одно и то же на уровне реализации postgresql.

    varchar с каким-то разумным ограничением (не бессмысленный взятый с потолка 255 везде, а разумный для этого конкретного поля) тем не менее смысл имеет: куда проще найти ошибку в месте записи данных, чем потом искать, откуда в поле обычно содержащем до 30 символов взялось 10 мегабайт текста (история из практики, да)

    Про char ограничусь цитатой письма Tom Lane
    Type character(N) is a hangover from the days of punched cards. Don't use it.

    Просто забудьте про такой тип данных. Он не только бесполезен, но и вреден.
    Ответ написан
    5 комментариев
  • Возможно ли влиять на продуктивность программиста извне?

    @Drno
    Ваш руководитель судя по всему еще не дорос до своей должности. Эта проблема решается простым диалогом с человеком - либо Вы выясните что как тут уже выразились он "пофигист", либо он(если адекватный) просто укажет Вам причину(вещи) которые его не устраивают)

    Ну и продуктивность понятие растяжимое... Вам надо количество строк, или качество?

    Надеюсь эти синьёры имеют за плечами хотя бы !!! 10 лет разработки ?
    Ответ написан
    Комментировать
  • Возможно ли влиять на продуктивность программиста извне?

    Maksim_64
    @Maksim_64
    Data Analyst
    В целом работодатель должен стремится к долгосрочному сотрудничеству. Что бы его сотрудники однажды реализовали свой потенциал. А поиск супер продуктивных гениев, так про между прочим и то для тех кто может это себе позволить.

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

    Испытательный срок он обоюден. Когда у сотрудника есть мысли на заднем плане (а подходит ли мне вакансия, а оставят ли меня и т.д.) это серьезно снижает его продуктивность, как и другие факторы. На испытательном сроке оценивают потенциал, а не производительность.
    Ответ написан
    1 комментарий
  • Почему цикл for блокирует асинхронное выполнение программы?

    @Everything_is_bad
    хотя в функции pool_user нет ничего, что могло бы блокировать асинхронный цикл.
    в этом цикле нет блокирования eventloop, просто с await ты ждешь результат выполнения pool_user каждого account (запускаешь по одному), а create_task запускает выполнения pool_user без этого ожидания (запускаешь сразу для всех)

    то всё выполняется параллельно
    не совсем, всё таки параллельно и асинхронно это разные вещи

    accounts = db.account.get_all_accounts()
    зато тут скорее всего есть, из-за синхронной работы с базой.
    Ответ написан
    Комментировать
  • Какие знаниями java нужно обладать чтобы переходить на kotlin?

    xez
    @xez
    TL Junior Roo
    Разрешаю изучать Котлин с любым уровнем знания джавы, в том числе и без знания джавы.
    Ответ написан
    Комментировать
  • Как подставить значение в запрос sqlite?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Коробочное решение этой задачи называется SQL-Builder.

    Вот пример такого https://pypika.readthedocs.io/en/latest/2_tutorial...

    Использовать string interpolation здесь технически возможно, но не выдерживает критики
    по инфо-безопасности. Атака на инжекцию - это Top 10 уязвимостей софта в 21 веке.

    Вот об этом коллеги тоже пишут в ответах.
    Ответ написан
    Комментировать
  • Основная работа и другие проекты. Как к этом относится ваше начальство?

    @Everything_is_bad
    Если ты это делаешь не в рабочее время, то "начальнику" должно быть пофиг, точнее, каким он должен быть тут боком.
    Ответ написан
    7 комментариев
  • Контринтуитивный синтаксис объявления нескольких переменных одного типа?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    можно подумать, что при объявлении указателя, символ * относится к имени(не как часть, а как что-то зависящее от него), а не к типу.

    Если взять стандарт языка (например C99) и почитать главы Declarations, Type Specifiers и Declarators, то можно увидеть, что он разделяет declaration-specifiers, в который входят только слова и declarators, в который входят скобочки и звёздочки. Т.е. твой вывод по сути верный.

    Там же можно увидеть, что часть называемую declarator всегда можно обернуть в скобки, из чего можно извлечь следующий вывод: часть объявления вокруг которой можно поставить скобки самым широким образом относится к конкретному идентификатору, оставшаяся часть -- ко всему списку. Т.е. const char *a, b; можно превратить в const char (*a), b, но нельзя превратить в const (char *a), b или в char (const *a), b.

    Ну и напоследок стоит добавить, что такая интерпретация объявления не следует ни из чего с необходимостью, это просто решение которое было принято разработчиками языка. Они могли принять это решение по-другому и тогда уже другие конструкции вызывали бы наше удивление.
    Ответ написан
    2 комментария
  • Где стоит получать образование computer science?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Какая-то странная привычка у детей искать "секретный прием", который сделает из них мастера.
    Нет такого секретного приема. Сделай 10.000 раз обычный прием и будешь мастером.

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

    ОБразование - любое, относящееся к IT, там все равно будет кусочек базы.
    Если есть вариант за границей - наверное вполне имеет смысл чисто по причине того, что это заграница.
    Ответ написан
    Комментировать
  • Джун QA - это про потенциал и обучаемость, или - когда нужен Мидл с низким окладом?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Вы должны понимать, что дело сейчас не в джуниор/мидл первая работа.
    Это вообще вход в профессию. Ваши вопросы по большей степени вообще не относятся к работе, а к какой-то виртуальной реальности.

    Есть множество совершенно разных компаний, в которых используются разные инструменты.
    Требуются навыки работы с определенным инструментарием, чтобы тебе сказали "вот тест кейсы, вот, например, селениум, возьми и пройди все. Если что-то не так, разберись ошибка в тесте или в софте, сделай багрепорт или исправь тест кейс".

    Насколько быстро найти первую работу - СУГУБО индивидуально. Кто-то с первого раза, кто-то за 2 года не может. Нет никаких сроков, есть рекомендации что учить и как готовиться.

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

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

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

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

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

    Простите, но вы перечислили настолько базовые вещи...
    SQL базовый это маст хев
    топология сетей - ну это же блин база
    DNS кешируется - ну просто все
    веб и бэкенд мало чем отличается в 90% современных приложениях

    Ну то есть как-то ощущение, что вы хотите не на джуна, а в первый класс.

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

    Вы бы пошли делать простую хирургическую операцию, типа удаление аппендикса к такому специалисту, как вы в ИТ? Если нет, то думайте.
    Разница между хирургом и ИТ в первую очередь заключается в том, что практика и знания ИТ реально получить дома, сидя у монитора, без общения с реальными пациентами и наработки практики в моргах. Но сами знания все равно должны быть.
    Ответ написан
    Комментировать
  • Sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 7 supplied. Как решить?

    @Everything_is_bad
    между (id) и (id, ) есть разница.
    Ответ написан
    Комментировать
  • Когда нужен MVC, а когда API?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Понятно же, что человек просто использует термины не по назначению. А имеет в виду способ взаимодействия с клиентом.
    Словом "mvc" он называет классический способ, при котором сервер отдает клиенту HTML (а не JSON).
    А словом "api" - REST сервис, при котором сервер отдает клиенту как раз JSON.

    И суть вопроса сводится именно к различию между этими двумя способами:
    - когда сервер генерирует HTML на основе полученных из БД данных, и отдает его браузеру
    - или когда в браузере выполняется программа на JS, которая запрашивает с сервера только данные, а потом на их основе генерирует HTML

    Поскольку первый способ является, условно говоря, "классическим", то про него в вакансиях и не пишут особо. А второй, поскольку является относительно "новым", и требует наличия пары несложных скиллов в дополнение к классическому, его оговаривают отдельно.

    При этом с точки зрения бэкенд программиста разницы принципиальной между этими способами нет.
    Главное в программе - это её бизнес-логика. И уметь надо в первую очередь писать её.
    А в каком формате отдавать данные в браузер - дело десятое. И выбирать между "mvc HTML" и "api REST" нет смысла - уметь надо и то и то.

    Ну и, как уже объяснили, MVC - это совсем другое. Архитектура приложения. Причем она используется для любых приложений, независимо от типа отдаваемых данных. M и C в "api" приложениях используются в полный рост. Только V немного упрощается. при этом поскольку MVC подразумевается по умолчанию, то и писать её в вакансиях тоже особого смысла нет.
    Ответ написан
    4 комментария
  • От чего зависит количество единоверменных запросов, которые может обрабатывать БД?

    fzfx
    @fzfx
    18,5 дм
    это в общем случае определяется параметром max_connections.
    в случае, если количество подключений к серверу достигло данного максимума, то в новых подключениях будет отказано, пока не освободится одно из занятых подключений.
    если подключение установлено, то по нему может быть передан на выполнение запрос. он начнёт выполняться и, в зависимости от настроек таймаутов, от того, какие блокировки и на какие объекты имеются в СУБД и какой уровень изоляции используется, запрос либо выполнится; либо выполнится частично и встанет в ожидание освобождения какой-то из блокировок, и после освобождения продолжит выполняться; либо подождёт освобождения блокировки и прервётся по таймауту (результат такого частичного выполнения откатится); либо выполнится частично и прервётся по нарушению сериализации (результат такого частичного выполнения откатится).
    вроде ничего не забыл.
    Ответ написан
    3 комментария
  • Можно ли обмануть программиста с проектной работой?

    Maksim_64
    @Maksim_64
    Data Analyst
    Взаимная заинтересованность, лучшая гарантия исполнения всех обязательств.
    Ответ написан
    Комментировать
  • Можно ли обмануть программиста с проектной работой?

    vabka
    @vabka
    Токсичный шарпист
    Обмануть могут.
    Для защиты от этого можно применять разные способы:
    1. Обязательно нужно оформлять договор, где все подробно расписано (кто, что, кому, когда, за что. Кто что кому обязан и не обязан)
    Туда как раз нужно включить и то что заказчик обязан предоставить все необходимые доступы.

    2. Трашневая/поэтапная оплата за отдельные этапы работы.

    3. И ещё раз подтверждаем всё документами: акты выполненных работ, акты принятых работ.

    Опять же есть куча всяких сервисов для проверки контрагентов - можно там проверять, в каком состоянии находится компания перед тем, как заключать договор
    Ответ написан
    Комментировать
  • Зависит ли скорость записи в БД от количества в ней записей?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) Да, при условии наличия индексов помимо примари кей.
    2) Примерно то же самое - при наличии внешних ключей в эти таблицы запись будет идти медленнее с ростом количества записей и соответственно перестройки индексов.
    3) См. п. 2.
    Ответ написан
    4 комментария
  • WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1?

    @Everything_is_bad
    WARNING
    это не ошибка, а предупреждение, для понимания смысла достаточно просто перевести текст
    Ответ написан
    Комментировать
  • Важен ли работодателю тот факт, что сотрудник состоит на нарко. учете?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    трит ли (по вышему опыту) работодатель на данный факт, или ему по барабану?

    Смотрят в основном компании от средних и выше, у которых имеется человек под эту задачу. Помимо этого, могут смотреть судимости, долги, административные производства итп.
    Ответ написан
    Комментировать