Задать вопрос
  • Пожалуйста, объясните код?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    1 комментарий
  • Как решить проблему в обход kill -9?

    @MechanID
    Админ хостинг провайдера
    этот процесс находится в D state - это ожидание ввода/вывода, например у вас была сетевая папка или сетевой диск например по iscsi и его теперь нет, а процесс хотел туда чтото записать. kill -9 тут не поможет, либо восстановить ему возможность ввода вывода либо ребут
    Ответ написан
    5 комментариев
  • Почему root шлёт сообщения root?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Потому что там английским по белому написано - база алиасов недоступна
    Ответ написан
    Комментировать
  • Определение СУБД. Что относится к субд?

    kotomyava
    @kotomyava
    Системный администратор
    SAP, 1c предприятие и прочие программы которые работают с базами данными) СУБД? Если нет, то почему?

    Они работают с базами, а не обеспечивают работу баз. В их случаях СУБД это MS SQL Server, Oracle, Postgres и.т.п.
    Ответ написан
    Комментировать
  • Определение СУБД. Что относится к субд?

    sim3x
    @sim3x
    Если нет, то почему?
    SAP, 1c предприятие и прочие программы просто работают с базами данными
    Ответ написан
    Комментировать
  • Определение СУБД. Что относится к субд?

    обеспечивающих управление созданием и использованием баз данных.

    Если основная цель существования программного средства - это обеспечение того что указано в цитате - то это СУБД. Это значит, что в какой-нибудь PostgreSQL никто не будет добавлять код, поддерживающий бухгалтерский учёт, т.к. основная цель существования PostgreSQL - это то что в цитате, а не бухгалтерский учёт.

    Основная цель существования 1C как платформы более конкретная и прикладная, нежели обеспечение управления и использования баз данных. В 1C вполне может быть компонент, решающий задачу, указанную в цитате, и тогда можно сказать, что в 1C есть компонент, называющийся СУБД.

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

    Обычно задачи, которая решает СУБД, диктуются не прикладным направлением (складской учёт/банковское дело и т.д. и т.п.), а некоторой общей моделью данных, имеющей формальное описание (напр., реляционную модель). Наличие такой модели данных и вообще само разделение большой программной системы на СУБД и всё остальное подразумевает, что СУБД создают специально прокачанные в этом люди, а разработчики прикладных систем используют эти наработки, чтобы не писать алгоритмы обработки данных, одинаковые для 98% задач (поиск, сортировка, индексация и т.д.) каждый раз заново (и гораздо хуже людей, которые делают это большую часть своей IT-карьеры).
    Ответ написан
    Комментировать
  • В чем отличие DBAL от ORM?

    muzikant777
    @muzikant777
    PHP/Vue разработчик
    Некорректно сравнивать тёплое с мягким. Так и здесь: DBAL, как вы правильно написали - слой абстракции, представляющий единый интерфейс для работы с различными реализациями БД.
    ORM - штука, которая позволяет работать с объектами и связями в БД как с сущностями, не заботясь о том, из каких именно таблиц и полей заполняется сущность.

    У вышеупомянутой Doctrine тоже есть свой DBAL, но это не мешает ей быть ORM :)
    Ответ написан
    Комментировать
  • Как вы оптимизируйте свою работу? Что используйте для увеличения производительности?

    riseteam
    @riseteam
    Для ускорения работы технической части работы – шаблонизация и компонетный подход
    Для борьбы с прокрастинацией – logtime.ru (или онлайн дневник + ставить цели, которые мотивируют)
    Для планирования дел – wunderlist.com
    + наставник/старший товарищ, если такой человек будет, это сильно повышает личную производительность =)
    Ответ написан
    1 комментарий
  • Можно ли заменять в SQL запросе ' на "?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Эти функции - какой-то ужас, летящий на крыльях ночи. mysql_real_escape_string - вообще за гранью добра и зла.

    Но главное, что я не могу понять - это какое отношение к mysql и mssql имеет функция xss_clean. Ну то есть я даже представить себе не могу, как можно функцию для защиты от xss применять для любых манипуляций c SQL. Это - я не знаю - как положить деньги в презерватив от грабителей. Он же служит для безопасности. Ну вот деньги и будут в безопасности.

    По теме: ради всего святого, используйте PDO с подготовленными выражениями. Это сделает ненужной всю эту мышиную возню с регулярками. PDO поддерживает как mysql, так и mssql, так что разница будет только в синтаксисе запросов, а сам код работы с запросами будет один и тот же

    $sql = "SELECT TOP 10 * FROM user where mssql.department_id=?";  
    $stmt = $conn->prepare($sql);  
    $stmt->execute([$_GET['department_id']]); 
    $users = $stmt->fetchAll();
    
    $sql = "SELECT * FROM user where mysql.department_id=? LIMIT 10";  
    $stmt = $conn->prepare($sql);  
    $stmt->execute([$_GET['department_id']]); 
    $users = $stmt->fetchAll();


    Как можно заметить, в запросах нет ни одной кавычки вообще, что делает сам вопрос про замену бессмысленным.

    От XSS же надо защищаться совсем в другом месте, и также без всего этого ужаса
    Ответ написан
    1 комментарий
  • Так ли необходимо использовать плэйсхолдеры для избежания инъекций, или написанная собственноручно проверка входных данных будет более чем достаточна?

    @neol
    Инъекции (как и любые распространённые типы уязвимостей) появляются не потому, что невозможно что-то сделать, а потому, что кто-то забыл, перепутал, опечатался или ошибся. Если у вас нет возможности накосячить (или она сведена к минимуму) - это в любом случае надёжнее, чем когда у вас есть возможность не накосячить. Именно поэтому подготовленные запросы считаются надёжнее любых проверок переменных, rust считается безопаснее C и т. д.
    Ответ написан
    Комментировать
  • Чем тестировать проекты?

    sim3x
    @sim3x
    Такое называется fuzzing
    И относится к инфобезу или тестированию на проникновение
    Не к юнит тестированию
    Юнит тестирование предназначено для выявления проблем при рефакторинге и написании кода в проекте, а не к безопасноти напрямую

    Вам же требуется писать код так, чтоб он пропускал только то что прямо указано
    Чем строже поле - тем лучше (проще) для вас

    Основная задача тестов - позволить вам писать новый код без страха поломать что-то старое
    Ответ написан
    1 комментарий
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    то что вы описали называется двухФазным комитом, раньше очень часто использовался.
    сейчас активнее используют похожий но немного другой подход, тоже связанный с тем что резервируют определенные ресурсы (например деньги на счету, и товар на складе) потом проверяют промежуточный статус операции, и потом проводят и подтверждают операцию - разница в том что ничего не перезаписывается а непрерывно все запросы логируется, и любые откаты операции идут через добавление новых записей-запросов в лог (он же и очередь сообщений)
    ----
    там много тонкостей, например вы говорили про время-метки, в целом метки времени добавляют - если нужно контролировать очередность промежуточных шагов (но обычно это не так важно, поэтому метку времени не всегда добавляют), но добавляют уникальный айди операции, тк в случае сбоя запроса (при например длительном ожидания ответа), может произойти "переотправка" запроса, и нам эта метка с уникальным айди позволяет не дублировать одну и туже операцию.
    =====
    есть тонкости например с тем, каким образом разделены эти микросервисы, может это просто дублирование одного и того же сервиса но например каждый из них обрабатывает запросы от разных сегментов пользователей, поэтому не требуется согласовывать какие-то операции между этими микросервисами.
    ====
    на мой взгляд - это вобще разводные вопросы не имеющие правильного ответа, схемы подбираются конкретно под проект и задачи, тем более если вы не разрабатывали какую-нибудь платежную систему, типа яндекс.денег то вообще бесполезно что-то обсуждать.
    это не камень в ваш огород, этим вообще обычно мало кто реально занимается, уверен те кто у вас это спрашивал сами мало что в этом понимают, а спрашивают такие вещи чтоб вас слить.
    Ответ написан
    3 комментария
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Если возникла проблема - очень большая вероятность того, что разделение на микросервисы было не корректным и стоит вернуться к монолиту.

    Что касается распределенных транзакций. Как минимум можно пытаться повторять запросы N раз, в противном случае откатывать на каждом из сервисов.

    Как вариант можно использовать всякие kafka для хранения истории сообщений с целью дальнейшего восстановления неотрботавших транзакций.

    Нужно продусмотреть причины отката транзакций каждым из сервисов, например на счету нет денег - транзакция оплаты невозможна.

    Правильного варианта не существует. Все зависит от проекта
    Ответ написан
    4 комментария
  • Список типичных уязвимостей?

    @nicandr
    Да есть, называется OWASP, там есть описание уязвимостей, также как их предотвратить, и каждый год там публикуют топ 10 уязвимостей
    Ответ написан
    Комментировать
  • Где искать бэкенд разработчика?

    newross
    @newross
    Product owner
    Вопрос больше смахивает на троллинг.

    1. Где собственно описание бэк-энд программиста? Длинное вступление с жалобами на фрилансеров за 20к. Требований к разработчику нет.
    2. Пройдитесь по рынку и посмотрите сколько стоят профи. А потом задайте себе вопрос, готовы ли вы к работе с профи. Что вы можете ему предложить? Оплату в рынке? Интересные "серьезные" проекты?
    3. Зависит от того, что подразумевается под скоростью сайта. Скорость выгрузки данных с бэка? скорость рендера на фронте?
    4. А с какого перепугу программист должен разбиваться в каждой CMS? В настройке CMS практически и нет программирования.
    Ответ написан
    Комментировать
  • Как оставить текст прежнего размера, если мы придали ему значение тега H1?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Так задайте свои стили для h1.

    h1 {
      font-size: 16px; /* ну или что там у вас тут будет; inherit, em, rem */
      font-weight: normal; /* сброс начертания до обычного */
    }

    Код выше будет работать для всех h1. Если не хотите, делайте более специфичный селектор, опираясь от класса обёртки-родителя, т. е. смотрите вашу разметку.

    На всякий пожарный случай:
    https://learn.javascript.ru/css-selectors.

    P. S. Номинант на премию «Вопрос-ответ года».
    Ответ написан
    Комментировать
  • Определить метод создания строки?

    longclaps
    @longclaps
    Ответ написан
    Комментировать
  • Достаточно ли для web выучить ЯП СУБД бекенда?

    Moskus
    @Moskus
    Начнем с того, что "язык программирования СУБД" - это нечто, что вы, скорее всего, не очень хорошо представляете. То, что можно с натяжкой так назвать - это либо SQL (который язык запросов, а не программирования), либо один из языков, на которых пишутся хранимые процедуры БД. Так вот если вы хорошо умеете последнее, то вам web нафиг не нужен - можно найти куда лучшее занятие (в смысле денег, как минимум). А если вы хотите web, то вам кроме базового SQL ничего с БД особо делать не нужно, кроме случаев огромных сервисов, в разработку которых ещё постараться попасть нужно, с этого не начинают.
    Ответ написан
    8 комментариев
  • Подкиньте идею языка программирования, не похожего на семейство Си и Java?

    Stalker_RED
    @Stalker_RED
    perl очень даже c-like

    Pascal не нужен, разве что детей обучать.

    На delphi вроде никто новые крупные проекты не стартует, преимуществ нет. Только поддержка уже существующих.

    Из перечисленных остается F#, который в целом неплох.

    Еще можно посмотреть haskell, lisp, erlang, fortran и prolog.

    Еще SQL, который хоть и не язык программирования, но вполне востребован, и при этом не C-like.
    Ответ написан
    Комментировать
  • Yii2 Как подключать библиотеки которых нет на packagist?

    Допустим есть некий API враппер с кодом на github.
    Отсутствует на packagist, подключить через composer я его не могу.

    да что вы говорите.... RTFM
    Ответ написан
    1 комментарий