Задать вопрос
  • Какой выбрать ноутбук для программиста?

    @Vitsliputsli
    Dmitry Roo, ну ок, просто даже комментарий вроде как должен относиться к вопросу. Но нет, так нет.
    Любой x86 будет лучше, просто потому, что предложенный Мак не удовлетворяет ни одному из требований автора. Ни играть он толком не сможет, ни работать, если не увеличит бюджет.
  • Какой выбрать ноутбук для программиста?

    @Vitsliputsli
    Dmitry Roo, если появилось желание не ответить, а доколупаться до слов, то лучше вообще не отвечать. Хорошо, пусть будет не "лучше", а каким боком вообще он подходит автору, если не соответствует его требованиям, о чем собственно выше и написано.
  • Какой выбрать ноутбук для программиста?

    @Vitsliputsli
    Dmitry Roo, Антон Швец, и все, кто советует Мак, не могли бы вы рассказать чем он лучше более конкретно. С учетом того, что автор хочет заниматься веб-разработкой и играть на ноуте, на последнее требование ему предложили забить, а по первому требованию он не проходит по деньгам.
    Какой разработкой можно заниматься с 8Гб памяти? 16Гб - это минимум для комфортной работы, а при сложных проектах и этого будет мало. Ну разве что писать код в блокноте и не разворачивать проект локально. 13 дюймовый экран? мне на 15 не сильно удобно, да и ради чего так мучаться? Какие еще походные условия? Вы, серьезно, пишите код путешествуя по лесу? Не говоря уже о том, зачем, когда ты пишешь под определенную ОС делать это на другой ОС, чтобы развлекаться с решением проблем несовместимости? А ведь их могло бы и не быть вовсе. А купить Мак и вхерачить туда Винду, это мягко говоря очень странно.
    Я вижу, что под требования автора Мак не подходит совсем. Выполняется только 1 требование, которое автор и не заявлял вовсе, можно понтоваться, что у тебя Мак, как у крутого разраба.
  • Почему PDO не может соединиться с БД из-под CGI?

    @Vitsliputsli
    При этом, выполняя тот же самый код в рамках стандартной связки PHP-Apache, всё отрабатывает прекрасно.
    Использую PHP 7.4 x64 Thread Safe для Windows, в php.ini, само собой, расширения подключены.

    Значит сравните настройки php в Апаче и в том, что работает по FastCGI.
    "стандартная связка PHP-Apache" - это подразумевается, что php работает как модуль Апача?

    А зачем Thread Safe?
  • Кто знает как поставить mariadb?

    @Vitsliputsli
    Речь про Enterprise, не факт, что автору нужен исключительно он. Но что касается версий Community, я не вижу сборок под 32 разрядную Ubuntu, хотя для Centos6 и Fedora есть. Похоже, что никому это не нужно, так что, только если самому собирать.
  • Что из себя представляет интернет соединение?

    @Vitsliputsli
    Скорее всего имелось ввиду соединение TCP, которое подразумевает установление соединения (тупо несколько пакетов, которые запрашивают и подтверждают, что обе стороны готовы друг друга слушать), и все последующие сообщения отправляются в рамках этого соединения, причем имеется проверка доставки.
    ""непрерывное соединение" представляется как струя воды" - это больше похоже на UDP, где не нужно специально устанавливать соединение, нет проверок (потерялось, так потерялось), здесь просто льется поток информации. Например, потоковое видео или аудио-вещание.
  • Как сервер отправляет данные клиенту?

    @Vitsliputsli
    Губернатор,

    То есть в ТСР пакетах уточняется адрес до моей квартиры??

    Типа того. В каждом пакете содержится адрес клиента. С одной оговоркой, из-за ограничений 4 протокола, этот адрес может быть опосредованный. Т.е. сервер отправляет на адрес посредника, а посредник уже знает точный адрес (Nat, proxy и прочее). Ну и посредников может быть несколько (маршрутизатор провайдера, ваш роутер и т.п.)
    Адрес - это ip адрес по протоколу ip и порт по протоколу tcp. IP адрес используется для идентификации машины клиента или посредника, порт для определения нужного ПО на клиенте, или адреса в специальной таблице на посреднике.
  • За счет чего обеспечивается уникальность GUID?

    @Vitsliputsli
    Создается впечатление, что когда произошла коллизия, все падает с ошибкой, транзакция теряется и все разводят руками со словами "ну, бывает".
    На самом деле, зная, что возможна коллизия, проверяйте на дубли, и в случае обнаружения, просто просите повторить с другим guid. Т.е. хотя шанс не большой, он все равно должен отрабатывать корректно.
    Ну и guid бывают разные, например, для разных ДЦ правильно выбранный тип guid не будет пересекаться никогда.
  • Насколько хорошо нужно программировать для того, чтобы стать тестировщиком на Python?

    @Vitsliputsli
    Алан Гибизов, не соглашусь с 2 вещами: юнит-тесты пишут разработчики, а не тестировщики. А надо ли для их написания ООП, зависит от того, используется ли оно в тестируемом коде.
    Разработчики должны общаться с заказчиком не меньше чем тестировщики. Если обратное и бывает, то это не специфика работы тестировщика, а плохие коммуникации между разработкой и заказчиком.
  • Cannot INSERT into generated column. Как исправить?

    @Vitsliputsli
    esskimos, какая разница, где и что там в форме? Исправьте код, чтобы он при формировании SQL не вставлял это поле.
  • Возможно ли как-то оптимизировать json_decode?

    @Vitsliputsli
    FanatPHP, спасибо, тогда понятно, чтото тупанул, хотя в ответе ж это написано.
  • Возможно ли как-то оптимизировать json_decode?

    @Vitsliputsli
    Дмитрий Кузнецов, в любом проекте, который активно развивается, время от времени появляется необходимость рефакторинга - что-то не учили или просто изменились бизнес требования. Это нормально. А затягивание необходимых изменений будет приводить к деградации, как по производительности, так и по качеству кода.

    Но с постоянно увеличивающейся БД - обрабатывать это через json_decode становится всё более затратным по времени.

    Каким образом растущая база влияет на парсинг конкретного json?

    Сказать то легко, а вот сделать сложнее. Так как переделывать придётся много где (около 50 документов/контроллеров, модели и т.п.)

    Если код нормальный, то не нужно переделывать контроллеры, бизнес-модели и документы, только модели отвечающие за хранение данных в БД. Или тут тоже накосячено?
  • Новые работодатели ценили, то что вы имеете опыт завершенных проектов?

    @Vitsliputsli
    Иван Шумов, но ктото же все-таки их брал, иначе откуда шикарная послужная. А раз так, значит ребята отлично устроились, раз работодатели терпели это мудацкое отношение, и вероятно, крутили работодателями как им нравилось и за большие деньги.
  • Взять рандомную строку с удалением?

    @Vitsliputsli
    ThunderCat, походу он не про дубли, он пытается решить состояние гонки. Отсюда и попытка атомарного чтения/удаления.

    Роман,
    Задача чтение без дублей.

    Не такая у вас задача. Почему бы ее не описать? А не предлагать сразу поправить решение, которое может быть не правильным.
    "Строк около 6ККК" - прям 6 миллиардов? На MySQL?! И вы при каждом запросе даете каждой строке рандомный номер?!

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

    @Vitsliputsli
    XiNull,
    MySQL-сервер находится на отдельной машине, это тоже задержка.
    Т.е. первый запрос не успевает сделать апдейт, чтобы залочить выполнение для второго запроса.

    update - это атомарная операция, ее нельзя не успеть сделать.
    Пробовал лочить через БД, т.е. вначале скрипта делаю проверку, в БД записываю 1, а в конце скрипта 0

    Вот, между проверкой и update, влезает проверка другого скрипта.
    Решение - либо select for update, либо update с проверкой, одним запросом.
    В идеале, вообще не лочить, но для этого нужно разбираться с бизнес-логикой.
  • Что наследуется в ООП? Как работает наследование?

    @Vitsliputsli
    wideShift,
    class Animal
    {
      public function eat()
      {
        echo 'кушаю...';
      }
    }
    
    class Dog extends Animal {}
    class Sheep extends Animal {}
    
    Class Humanoid
    {
        public function feed(Animal $animal)
    	{
    	    $animal->eat();
    	}
    }

    А вы сюда добавляете:
    class Cat extends Animal
    {
      private function eat()
      {
        echo 'кушаю...';
      }
    }

    Что будет? При попытке покормить кота все свалиться в ошибку во время выполнения.
    Не нужно пытаться найти здесь лазейки, эти ограничения сделаны специально для уменьшения кол-ва ошибок. Прочитайте про принцип Барбары Лисков, эти принципы родились из практики.
    Второй вариант, переопределение метода с тем же именем, но как public, возможно, хотя лучше дать ему другое имя. Ситуация вполне допустима, т.к. мы можем ничего не знать про внутреннее устройство родительского класса.
  • Как мне сделать из строки число?

    @Vitsliputsli
    Ипатьев, я так понимаю, имелось ввиду, что, если взять "12.34", то
    1) не убирая точку получим 12
    2) убирая точку получим 1234
    Андрей подразумевал, что вариант 1 предпочтительней.
  • Возможно ли сделать hack/чит не нарушая авторские права?

    @Vitsliputsli
    Вроде как это не сильно подходит под статьи:
    УК РФ Статья 272. Неправомерный доступ к компьютерной информации
    УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
    Но вполне под пункт "д" лицензии:
    (д) подвергать инженерному анализу

    Кроме того, судья - человек и судит он исходя из ситуации, а в вашем случае очевиден умысел обмануть, этого может быть вполне достаточно.
  • Как избавиться от множественных if/switch при выборе класса?

    @Vitsliputsli
    Причем здесь псевдонимы, задавайте имена классов динамически.
    А в классах, ничего кроме констант? Может тогда убрать все эти классы?