Задать вопрос
  • Государство может заблокировать Биткоин?

    @awesomer
    Блокировка по номеру порта легко обходится.

    Но гораздо неприятнее блокировка ввода-вывода реальных денег.
    Биткойн без возможности конвертации в реальные деньги - нафиг не нужен.
    Ответ написан
    5 комментариев
  • Почему не меняется значение в таблице при mysql_query равном true?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Ну для начала стоит открыть документацию и почитать. Особенно выделенный блок в самом начале.
    php.net/manual/ru/function.mysql-query.php

    Во вторых, я не вижу $mysqli->error.
    В третьих, почему переменная под запрос называется $conn ?
    Может вы просто забыли установить соединение с БД и сразу делаете запрос?

    В четвертых, ошибки, логи, дебаг ?

    Как вы поняли, что $arr[0] = 1. (где дебаг/трейс)
    Ответ написан
    Комментировать
  • Почему не получается провести AJAX-запрос?

    delphinpro
    @delphinpro
    frontend developer
    А чего вы собственно ожидаете? Оно и не должно так работать.

    AJAX — Asynchronous Javascript and XML
    Ключевое слово Asynchronous.

    xhr.send(); - запрос ушел и вы не знаете, когда поступит ответ
    но сразу же пытаетесь прочесть ответ
    var json = xhr.responseText;

    Конечно, ничего не работает.

    Вам нужно подписаться на событие onreadystatechange
    в нём проверять состояние запроса, и в нём же совершать необходимые действия при успешном/неуспешном запросах.
    Ответ написан
    2 комментария
  • Как правильно сформировать SQL запрос?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    записей в таблице products очень много ( около 1млн )

    это не много, это нормально
    и запросы типа JOIN не предлагать, так как оно существенно влияет на производительность

    а этот бред вы как догадались сюда приплести? У вас наоборот с выходом из внутренних джоинов выборка по ид будет сокращаться, в итоге по таблице продуктс будет только джоин нужных ид(что аналогично выборке where in, только с меньшими ограничениями, например ордер и лимит). По этому сджойнте мелкие таблицы, получите с них модел_ид, и по нему уже джоин продкут.
    Я бы денормализовал продуктс, внес бы еще брэнд_ид в него, но это так, мелочи.
    Ответ написан
    Комментировать
  • Допустимо ли вести комментарии на нескольких языках сразу?

    sim3x
    @sim3x
    Нет, не допустимо
    Ответ написан
    Комментировать
  • Где хранить логин/пароль для интеграционных unit тестов в проекте размещенном на github?

    @PapaStifflera
    Родился, вырос...
    Переменные окружения не подойдут?
    Ответ написан
    Комментировать
  • Возможно ли в linux-системе(ubuntu) установить php 7.х сразу со всеми доступными расширениями?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    apt-get install php7.2-*

    Какие там постоянно разные пакеты нужны? Штук 5 наверно используется из тех что не из коробки идут.
    Ставится php7.*-common и всякие sql/mbstring/xml/intl
    И этого достаточно для 99% случаев.

    куча времени уходит чтоб понять какой же конкретно модуль им нужен и пляски чтоб его установить

    А читать ошибку не пробовали? Композер прям вот буквами пишет что нужно расширение ext-bcmach или ext-mbstring и т.д. (Типа вот прямо вот так просит ext-mbstring, никаких непонятностей)
    Ответ написан
    Комментировать
  • Какой язык программирования выучить полному нулю?

    sim3x
    @sim3x
    Любой

    Берите ексель и фигачте там

    Екселя и бейсика хватает для довольно серьезных мат вычислений
    Ответ написан
    4 комментария
  • Есть ли функция у PHP для открытия файла на ПК?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вы ж в курсе, что php - серверный язык и с GUI не взаимодействует + `something` - не открывают файл?
    Читайте по fopen + file_get_contents
    Ответ написан
    5 комментариев
  • Как решить проблему с cron?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    include '/inc/db-conf.php';
    include '/inc/wallet_driver.php';

    Слеш в начале пути обозначает корень файловой системы, если вы не в курсе. Вам об этом очень толсто намекает текст ошибок:
    No such file or directory
    Ответ написан
    2 комментария
  • Правильно ли я создал sql запрос?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Нет, запрос сделан неправильно! Он, дополнительно к тому, что требуется, выберет еще и пользователей, которые написали комментарий, даже если их собственные статьи никто не комментировал... не говоря уже о том, что если нет явной необходимости аггрегирования полей в группе, то использование GROUP BY там, где можно обойтись DISTINCT - дорогое удовольствие (почему - объясню дальше, а пока, просто для сравнения, его план и "стоимость"):
    5ab3f036b072d356066942.png
    Чтобы просто получить нужный результат, его, конечно, можно тупо дополнить еще одним JOIN с article_comment_association, но это все еще очень плохо: во-первых, JOIN с таблицей комментариев там просто лишний, во-вторых, GROUP BY - все то же разбазаривание ресурсов:
    5ab3f0802b299318193006.png
    Вот, для сравнения, стоимость DISTINCT vs. GROUP BY:
    5ab3f08c07b85920446589.png
    (Все эти неправильные варианты приводить не буду, чтоб их случайно не скопипейстили в систему управления ядерным реактором!)

    В этом смысле вариант, предложеный Rsa97 , уже лучше, т.к. дает правильный результат.
    SELECT name FROM users
      WHERE id IN (
        SELECT user_id FROM article
          WHERE id IN (
            SELECT article_id FROM article_comment_association
          )
      );

    Однако, использование subquery в таком порядке, действительно, не позволяет использовать distinct:
    5ab3f109468d6235394789.png
    Фишка в том, что subquery, как правило, создают временную таблицу, обычно, в памяти, но если ее мало, то и на диске. Так что, если есть возможность заменить их на JOIN (а она есть почти всегда!), это нужно делать, не стесняясь.

    А вот феншуйная (она же - правильная, легко читаемая, очевидная и эффективная) версия запроса:
    SELECT distinct users.name from users
      INNER JOIN article ON (article.user_id = users.id)
      INNER JOIN article_comment_association ON (article.id = article_comment_association.article_id)

    ... и ее план:
    5ab3f135365b0576447042.png
    Мораль истории: в реляционной базе данных самый прямой путь к нужному результату, как правило, оказывается наиболее эффективным. Как общее правило - начинать нужно с самого большого множества записей, исключая за раз как можно больше ненужного, и давая оптимизатору использовать индексы.
    Ответ написан
    3 комментария
  • Как опубликовать сайт, сделанный с помощью adobe muse?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Теперь мне не ясно что дальше делать

    искать деньги на разработчика и не теперь, а сразу надо было. Ну или если есть желание, читать книги и разбираться. Для начала про то, как работает http:
    https://habrahabr.ru/post/215117/
    Ответ написан
  • Docker + Flask + Git, стоит ли?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Flask
    Седой и строгий
    Есть примета "Когда не знаешь нужен ли контейнер, он не нужен."
    Ответ написан
    Комментировать
  • Почему говорят, что postgress лучше для более-менее серьезного проекта чем что-либо иное?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Этот вопрос на Тостере задают примерно раз в неделю и в Интернете полно сравнений. Например, это или это. Для меня лично самый главный косяк MySQL в том, что в 2018-м году он даже стандарт SQL 92-го года поддерживает не в полном объёме. Или вот косяк из недавнего вопроса - он не запускает триггер на действиях с внешними ключами. И таких косяков просто чудовщное количество. Как только выходишь за рамки чего-то сложнее select * from some_table, начинаешь материть разработчиков ежесекундно. И ещё один факт, мало влияющий на повседневную работу, но достойный упоминания - при проверке статическим анализатором кода нескольких популярных СУДБ, MySQL по количеству ошибок оказался на первом месте с существенным отрывом!
    Ответ написан
    11 комментариев
  • Как переквалифицироваться из разработчика в руководителя?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прежде всего, для менеджера важно понимать людей. Всё что они говорят, что не говорят. Чётко улавливать интонации, язык тела. Понимать их мотивы.
    Не менее важно умение убеждать. Разными способами - договариваясь, запугивая, манипулируя нежными чувствами, всё что угодно. Отдельно выделю, относящиеся к этому пункту навыки, грамотной речи, поставленного голоса и умения правильно держать себя.
    Эти умения лучше развиваются не в стерильной корпоративной среде со стандартизированной культурой поведения, а в жизни повседневной. Заставь 6-летнего племянника перестать баловаться, заставь ханыгу соседа перестать курить в подъезде, запрети подруге ПМС и фразы "Ничего не случилось!" и "А мама сказала..."

    Крайне полезно иметь хорошую память и уметь в планирование, в том числе долгосрочное. И тут опять же полезен ежедневный бытовой опыт. Разработайте себе чёткий распорядок дня, планируйте бюджет, играйте в шахматы, плетите интриги.

    Имея базу необходимых навыков, можно приступить к теории. Во-первых, теории управления ИТ-службами - ISO 20000, ITIL, PMBoK и Agile. Во-вторых, очень ценно знать прикладную область - например, бизнес-процессы розничных и оптовых продаж, основы учёта, в том числе бухгалтерского, основные законы, регламентирующие деятельность и прочее. Бизнес-литературу и книги по личностному росту сразу в помойку. Не то чтобы в них не встречалось ничего хорошего, но крайне редко и очень мало.

    Наконец, не обязательно ждать пока руководитель освободит место. Если в вас действительно созрел менеджер, вы можете его подсидеть.
    Ответ написан
    Комментировать
  • Как переквалифицироваться из разработчика в руководителя?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Разработчик, занимаясь разработкой, никогда не сможет вырасти в руководителя проекта.
    Это РАЗНЫЕ должности и разные карьеры.

    1) интерн разработчик - джуниор разработчик - разработчик - сеньор разработчик. Возможно тимлид. Возможно архитектор.

    2) Менеджер - менеджер с опытом управления. Возможно менеджер проекта. Возможно менеджер по (тут может быть что угодно). Возможно свой бизнес.

    Если разработчик хочет стать менеджером, он должен учиться на менеджера, а не "Добиваться авторитета у команды, пока освободится место начальника".
    Ответ написан
    Комментировать
  • Как запускать php скрипты из консоли?

    Stalker_RED
    @Stalker_RED
    Параметры командной строки. Или ключи.

    Напишите в консоли php --help или посмотрите инструкцию на сайте.
    php.net/manual/ru/features.commandline.php
    php.net/manual/ru/features.commandline.options.php

    -f <file>        Parse and execute <file>.
    -q	--no-header	Тихий режим. Подавляет вывод заголовков HTTP (только для CGI).
    Ответ написан
    Комментировать
  • Как передать бинарную строку без преобразования?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    base64 самый элегантный способ передачи бинарных данных для HTTP.
    Ну можете попробовать uuencode, но это более старый и менее элегантный

    Напрямую бинарная строка будет модифицирована, поскольку протокол HTTP не умеет передавать нечитаемые символы - они будут пропадать. Поэтому и требуется кодирование в формат, где все нечитаемые символы заменяются (размер увеличивается примерно на 30%).
    Либо пользуйтесь НЕ http.
    Ответ написан
    Комментировать
  • Есть ли возможность посмотреть функции сайта, скрытые за платной подпиской?

    Stalker_RED
    @Stalker_RED
    Отличный план:
    1. Узнаешь в каком дата центре хостится проект, который тебе интересен
    2. Постишь ЦП или экстремизм в комменты рандомному сайту от того-же хостера
    3. Берешь знакомых ментов, и вламываешься в дата-центр хостера, выносишь компы "экстемиста" и те которые тебе нужны, ну чисто за компанию, "по ошибке"
    4. Копируешь то, что тебе нужно

    Другой план:
    1. Даешь денег хакерам, чтобы они ломанули то, что тебе интересно, и отдали тебе копию

    Третий план:
    1. Подкупаешь одного из сотрудников, чтобы слил тебе копию

    Еще план:
    1. Сам становишься крутым спецом, и выясняешь все, что тебе интересно

    Еще нужно придумывать, или хватит уже?
    Я еще не перечислял такие скучные способы, как "погуглить, может они сами рассказывали о своей инфраструктуре" или "поискать похожие проекты с открытым кодом". Это ведь не так интересно, как въехать в дата-цетнр на уазике.
    Ответ написан
    Комментировать
  • Как реализовать функцию с битовым реверсом на php?

    Stalker_RED
    @Stalker_RED
    Битовый реверс, это когда порядок следования бит в байте нужно развернуть задом наперед. То есть из 1011111 нужно сделать 11111101.
    А массив байт, это наверное такой массив, который содержит байты.

    Способов реализации чуть больше чем дофига: https://stackoverflow.com/questions/1688532/how-to...
    Ответ написан
    8 комментариев