Задать вопрос
  • Как удалить из многомерного массива массив, который содержит нужное значение?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    $userdb = array_filter(
        $userdb,
        function ($user) {
            return $user['uid'] != 5465;
        }
    );
    Ответ написан
    Комментировать
  • Как сделать, чтобы кнопка работала с определенным объектом?

    mahmudchon
    @mahmudchon
    <button type="submit" id="<?= $user['id'] ?>">Удалить</button>

    Хочу заметить, что если ответ не решает Ваш вопрос, то не спешите считать ответ не верным. Быть может вопрос лишен необходимых подробностей. Спасибо.
    Ответ написан
    3 комментария
  • На каких интернет-ресурсах новичку можно разместить исходники для code review?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    1. Регистрируешься на github.com;

    2. Создаёшь репозиторий;

    3. Устанавливаешь себе на машину Git;

    4. Настраиваешь Git:
    git config --global user.name "Твоё имя латинницей"
    git config --global user.email твой_email

    5. Клонируешь репозиторий с GitHub в какую-нибудь папку:
    git clone https://ссылка_на_репозиторий.git

    6. Переносишь исходники в созданную git`ом папку (в ней ещё лежит файл .gitignore и папка .git).

    7. Внутри папки с исходниками выполняешь последовательность команд:
    git add --all
    git commit -m 'update'
    git push origin master

    8. Проверяешь, что исходники появились в репозитории на GitHub.

    9. Делишься ссылкой на репозиторий с желающими почитать твой код.

    Если что-то непонятно, в Интернете полно вопросов и ответов, пошаговых руководств, видео уроков, и других учебных материалов по теме.
    Ответ написан
    Комментировать
  • Можно ли из MySQL запускать внешние скрипты?

    @vitaly_il1
    DevOps Consulting
    Это возможно - www.abrandao.com/2017/09/mysql-mariadb-trigger-ext... но я советую этого не делать, а использовать крон скрипт, который будет проверять и обрабатывать изменения в таблице . И крон будет бежать каждые 5 минут, например.
    Вызывать внешний скрипт из триггера опасно - что если будет одновременно 100 изменений?
    Ответ написан
    Комментировать
  • Как работает git?

    delphinpro
    @delphinpro
    frontend developer
    Никакой магии за вас гит не сделает. Нужно самому все настроить и определить процессы разработки.

    Например.

    Основная копия репы расположена на гихабе (гитлабе, битбакете, у себя на сервере).
    Здесь ветка мастер защищена от пушей и коммитов. Разрешены допустим пуши и коммиты только для мейнтейнера.
    Продакшн сайт лежит под гитом, и тянет код пуллом из мастера из основной копии.
    Дополнительно разворачивается dev.site.ru. Туда также клонируется репа, переключается на dev ветку. (git checkout dev)
    Разраб пилит там сайт, коммитит, пушит в dev ветку основного репо. Мейнтейнер проверяет, мержит, пуллит на продакшн.
    База разворачивается отдельная для dev и прод.
    Для версионирования структуры базы используются миграции. Для наполнения данными - сиды.
    Т.е. для применения последних наработок сначала пуллится код из репы, потом запускаются миграции и сиды.

    Ну и еще не обязательно вести разработку прямо на дев сервере.
    Можно клонировать репу себе на комп, сделать что нужно, запушить в дев ветку, потом пульнуть эту ветку на dev сервер для тестирования. Потом смержить и залить на прод.
    Ответ написан
    5 комментариев
  • Как работать с связкой Git+Gulp?

    delphinpro
    @delphinpro Куратор тега Gulp.js
    frontend developer
    И вообще их как то можно в одной консоли объединить?

    Зачем?
    Вам трудно две консоли открыть?

    Если есть возможность, я бы порекомендовал использовать в работе webStorm/phpStorm
    В нем есть отдельное удобное окошко, для запуска gulp тасков или npm скриптов
    поддержка gulp/npm
    5dff4d199d3ac755300991.png

    Таски выполняются в отдельной панельке:
    spoiler
    5dff4d4aee4f6082445264.png

    Консоль открывается в отдельной, с любым количеством экземпляров:
    spoiler
    5dff4d6c3fcc9184840350.png

    Плюс встроенный гит-клиент
    коммит из шторма
    5dff4e08a506e220522139.png
    Ответ написан
    1 комментарий
  • Как вынести функцию с параметрами?

    @AleksRap
    Если смотреть точно на код то внутрь функции вы передаете "lengt", а не length
    Ответ написан
    Комментировать
  • Как извлечь значения из асинхронного метода в свойство объекта?

    @abberati
    frontend-разработчик
    Вы НИКАК не можете вынести значение из асинхронного кода в синхронный, потому что на момент выполнения асинхронного кода весь синхронный уже выполнился.

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

    vasjabingo
    @vasjabingo
    учусь
    Книги, нацеленные на практику программирования, необходимую в корпоративном секторе

    Книги, нацеленные на практику программирования, необходимую в корпоративном секторе
    Томас Кормен: Алгоритмы. Построение и анализ. Описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки.
    Стив Макконнелл: Совершенный код. Мастер-класс. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство.
    Джон Бентли: Жемчужины программирования. Книга посвящена наиболее привлекательному аспекту профессии программиста: жемчужинам программирования, рождающимся за пределами работы, в области фантазии и творчества. В них рассматриваются: постановка задач, теория алгоритмов, структуры данных, вопросы повышения эффективности кода, а также верификация и тестирование программ.
    Эндрю Таненбаум: Компьютерные сети. Последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ.
    Дональд Кнут: Искусство программирования. Описаны основные понятия, методы программирования и информационные структуры. Для методов имитации, символьных вычислений, числовых методов, методов разработки программного обеспечения даны примеры элементарных приложений.
    Эрих Гамма: Приемы объектно-ориентированного проектирования. Паттерны проектирования. Описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
    Мартин Фаулер: Рефакторинг. Улучшение проекта существующего кода. Помимо описания различных методов рефакторинга, автор приводит подробный каталог более чем с семьюдесятью рефакторингами и полезными указаниями, которые научат вас, когда их следует применять. Книга содержит подробное описание свыше 70 методов рефакторинга, причем не только теоретическое их описание, но и практические примеры на языке программирования Java. Следует учесть, что изложенные в книге идеи применимы к любому объектно-ориентированному языку программирования.
    Роберт Мартин: Чистый код. Создание, анализ и рефакторинг. Книга полна реальных примеров, позволяющих взглянуть на код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Вы узнаете много нового о коде. Более того, научитесь отличать хороший код от плохого, узнаете, как писать хороший код и как преобразовать плохой код в хороший.
    Ахо Альфред: Структуры данных и алгоритмы. Подробно рассмотрены Структуры данных и алгоритмы, которые являются фундаментом современной методологии разработки программ. Показаны разнообразные реализации абстрактных типов данных, начиная от стандартных списков, стеков, очередей и заканчивая множествами и отображениями, которые используются для неформального описания и реализации алгоритмов.
    Джеффри Фридл: Регулярные выражения. Книга знакомит с фундаментальными основами регулярных выражений, функциональными возможностями языков программирования и позволяет оптимизировать работу с информацией. Вы научитесь самостоятельно конструировать регулярные выражения и использовать приведенные в книге примеры для быстрого решения самых актуальных задач.
    Ахо Альфред: Компиляторы. Принципы, технологии и инструментарий. Книга описывает основные принципы разработки компиляторов, включая детальное рассмотрение лексического и синтаксического анализа и генерации кода. Строгость изложения материала смягчается большим количеством практических примеров. Написание компиляторов охватывает такие области знаний, как языки программирования, архитектура вычислительных систем, теория языков, алгоритмы и технология создания программного обеспечения.
    Томас Коннолли: Базы данных. Проектирование, реализация и сопровождение. Теория и практика. Полное справочное руководство по проектированию, реализации и сопровождению баз данных. Книга содержит подробное описание особенностей разработки приложений баз данных для Web и многочисленные примеры кода доступа к базам данных из Web, в том числе с применением средств JDBC, SQLJ, ASP, JSP и PSP Oracle. В ней дано всестороннее введение в технологию информационной проходки, хранилищ данных и OLAP, представлены современные распределенные, объектно-ориентированные и объектно-реляционные СУБД.
    Александр Шень: Программирование. Теоремы и задачи. Книга содержит задачи по программированию различной сложности. Большинство задач приводятся с решениями. Цель книги – научить основным методам построения корректных и быстрых алгоритмов.
    Сегаран Тоби: Программируем коллективный разум. Практическое руководство по программированию интеллектуальных приложений для Web 2.0. Здесь вы найдете все необходимое, чтобы научиться создавать самообучаемые программы, которые способны собирать и анализировать огромные массивы данных, имеющиеся в Сети.
    Ричард Хэзфилд: Искусство программирования на C. Значительное внимание уделено таким актуальным вопросам, как обработка данных, работа с битами и байтами, отладка программ, управление памятью, моделирование, рекурсия, а также темам, не часто встречающимся в литературе, но играющим важную роль при разработке коммерческих приложений. Описание самых разнообразных алгоритмов в книге гармонично сочетается с вопросами их практической реализации. Приведено большое количество фрагментов кода и целых программ, которые непосредственно можно применять в сложных приложениях.
    Уоррен мл. Генри: Алгоритмические трюки для программистов. В книге воплощен пятидесятилетний стаж ее автора в области разработки компиляторов и архитектуры компьютеров. Здесь вы найдете множество приемов для работы с отдельными битами, байтами, вычисления различных целочисленных функций; большей части материала сопутствует строгое математическое обоснование. Каким бы ни был ваш профессионализм — вы обязательно найдете в этой книге новое для себя; кроме того, книга заставит вас посмотреть на уже знакомые вещи с новой стороны.
    Керниган Брайан: Практика программирования. Рассматриваются принципы практического профессионального программирования, которые, выходя за рамки простого написания кода, включают в себя проектирование, правильный выбор алгоритмов и структур данных, отладку и тестирование, оптимизацию быстродействия и переносимости, автоматизацию рабочего процесса.
    Мотвани Раджив: Введение в теорию автоматов, языков и вычислений. Классическое издание. Рассматриваются различные машины Тьюринга, при помощи которых формализуются понятия разрешимых и неразрешимых проблем, а также определяются функции временной и емкостной оценки сложности алгоритмов. Изложение ведется строго, но доступно, и сопровождается многочисленными примерами, а также задачами для самостоятельного решения.
    Ананий Левитин: Алгоритмы. Введение в разработку и анализ. Делая основной упор на понимании идей, а не на механическом рассмотрении работы того или иного алгоритма, автор излагает ключевые принципы и методы разработки алгоритмов так, что они могут быть применены как универсальный инструментарий для широкого диапазона задач, а не только для разработки алгоритмов. Несмотря на отсутствие громоздких математических доказательств, в книге выдержана достаточная математическая строгость.
    Макконнелл Джефри: Анализ алгоритмов. Вводный курс. В книге обсуждаются алгоритмы решения наиболее широко распространенных классов задач, покрывающих практически всю область программирования: поиск и сортировка, численные алгоритмы и алгоритмы на графах. Особое внимание уделено алгоритмам параллельной обработки, редко освещаемым в литературе на русском языке.
    Николай Непейвода: Основания программирования. Главная цель создания этого пособия, по словам автора, — объяснить читателю существенную взаимосвязь и взаимозависимость различных понятий программирования. Помимо этого, книга раскрывает суть базовых понятий и помогает без труда ориентироваться в них. Для самоконтроля по усвоению материала в книге разработан ряд заданий. Рекомендуется не только начинающим знакомство с программированием, но и специалистам-практикам.
    Ответ написан
    2 комментария
  • Как в Битрикс закрыть для доступа через браузер или только по авторизации папку с файлами /upload/logs/?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Добавьте в папку с файлами /upload/logs/ файл .htaccess и запишите в нем deny from all
    или учите:
    https://dev.1c-bitrix.ru/learning/course/index-new...
    Ответ написан
    5 комментариев
  • Как сделать внешние скругленные внутрь углы для элемента?

    dom1n1k
    @dom1n1k
    Возможно я недопонимаю какие-то нюансы задачи, но по картинке кажется логичным наложить белый блок поверх темного и оба скруглить обычным образом.
    Ответ написан
    1 комментарий
  • Как скрыть от провайдера факт того что я пользуюсь интернетом?

    @x_shader
    Oracle & Coffee
    Прицепить магнит на счетчик
    Ответ написан
    Комментировать
  • Как использовать значение промиса, для условия?

    @dimoff66
    Кратко о себе: Я есть
    Значение промиса можно получить либо через await, либо внутри then, вы не можете получить его напрямую, так как он выполняется асинхронно и на момент присвоения
    const mocked = getMockedClient ().then(prop => prop.mockedClient())

    он еще не выполнился, это просто декларация о намерениях.

    То есть либо
    const mocked = await getMockedClient ().then(prop => prop.mockedClient())

    тогда код будет ждать выполнения промиса, перед именем функции, внутри которой используется await нужно поставить async

    либо
    getMockedClient ().then(prop => {
      const mocked = getMockedClient ()
      // И тут делаете с полученным значением что хотите
    })

    Вообще просто почитайте любую статью про промисы в инете, их полно
    Ответ написан
    Комментировать
  • IDE с Искусственным интеллектом улучшающим код программы?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    А зачем собсна тогда нужен будешь ты?

    Если AI может предложить более оптимальный алгоритм, то он уже должен понимать, какая должна быть конечная цель. Т.е. он знает что нужно сделать, как нужно сделать. Для чего нужен тогда ты сам? Запустить IDE?
    Ответ написан
    6 комментариев
  • Как запретить одновременный запуск PHP скрипта?

    @dimuska139
    Backend developer
    Если у тебя в PHP скриптах используются сессии, то с одного браузера ты параллельно скрипты не запустишь, даже из разных вкладок браузера. Скрипты выполняются последовательно. Попробуй через инкогнито или один скрипт дернуть одним браузером, другой - другим.
    Ответ написан
    2 комментария
  • Как правильно написать цикл while внутри while в PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Всё потому, что вы используете одно и то же подключение к базе данных. Получается так:
    1. Запрашиваются записи из db_news, база принимает этот запрос как текущий.
    2. Читается первая запись текущего запроса, т.е. из db_news.
    3. Через это же подключение запрашиваются записи из db_news_img. База запоминает новый запрос как текущий, готова передавать записи из db_news_img.
    4. Читается первая запись текущего запроса, т.е. из db_news_img.
    5. Возврат к началу цикла, хочется прочитать из db_news. Но этот запрос уже не является текущим, он "потерян", поэтому из него невозможно получить данные.
    6. Данных нет - значит конец цикла.

    Вам нужно запоминать и использовать указатель запроса, скорее всего так:
    $db_res1 = $db->Query("SELECT * FROM db_news WHERE cat_id = '$catid' ORDER BY id DESC");//
    if($db_res1->NumRows() > 0){
           while($news = $db_res1->FetchArray()){
                   $textfull = $news["news"];
                    $db_res2 = $db->Query("SELECT * FROM db_news_img WHERE news_id = '$news[id]' ORDER BY id DESC");//
                    if($db_res2->NumRows() > 0){
                            while($img = $db_res2->FetchArray()){
    Ответ написан
    Комментировать
  • Как правильно написать цикл while внутри while в PHP?

    daemonhk
    @daemonhk
    ПсиХоПат
    Получать данные заранее(!!!), а не в цикле и не посреди вывода страницы!!!

    1. Использовать LEFT/INNER JOIN
    или
    2. Перебрать массив с картинками так, чтобы ключом был id новости, тогда можно проверять наличие картинки для новости - if(isset($news_img[$news["id"]])) и потребуется всего один цикл
    Ответ написан
    2 комментария
  • Не работает линтер ссылаясь на неверный синтаксис в index.js, что там не так?

    IvanBlacky
    @IvanBlacky
    back-end разработчик
    Проверьте версию NodeJS, установленную на вашем компьютере (node -v).
    Скорее всего, эта версия устарела и требуется установить более новую. Сейчас LTS-версия -- 12.
    Ответ написан
    Комментировать
  • В каком разделе математики изучается вывод формул?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В общей математике первого класса проходят простые формулы.
    Следовательно учебник первого класса подойдет под этот вопрос.

    Либо уточняйтею
    Ответ написан
    Комментировать
  • Проблема с авторизацией,что делать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    $heshik = password_hash($password, PASSWORD_DEFAULT);
    $VerifyPass = password_verify($password, $heshik);

    Гениальный код.
    Давно я таких изысков не видел.

    По теме.
    Ответ написан
    Комментировать