Задать вопрос
  • PhpStorm как вернуть поиск в файле?

    Decadal
    @Decadal
    вы должны щелкнуть на рабочей области и только потом нажимать ctrl+f. У вас фокус ввода находится не в том окошке.
    Ответ написан
    2 комментария
  • Как организовать процесс разработки масштабируемой системы?

    sim3x
    @sim3x
    Ваш вопрос вцелом не имеет смысла
    Хайлоад появляется только на успешных проектах

    Если вас просто мандраж перед термином
    Возьмите свой проект, любой
    Поставьте себе локально на виртуалку
    И поставьте себе задачу завалить его
    Потом отбейте свой ДДОС без потери легитимных пользователей

    каким образом организовать начальный этап этой разработки?Каков стек необходимого ПО и/или иных инструментов для этого?
    полностью зависит от ТЗ

    Под стеком не имею в виду на каком языке делать бэк, какую использовать БД и что использовать для кэширования, а интересует больше то, каким должно быть окружение процесса разработки - нужно ли с самого начала поддерживать "версионность" и если да, то как это делать?
    гит нужно использовать всегда
    Версионность данных желательно
    Как их хранить? - Делайте консистентные бекапы

    Где вообще изначально разворачивать систему - на локалке или нет?
    у вас джанга. При разработке используйте встроенный сервер, при деплое -nginx/uWSGI/postgreqsl

    если да, то хотелось бы более подробно какие инструменты для этого нужны и как, к примеру, потом с локалки проецировать на боевой сервак без танцев с бубном?
    ansible

    Нужно ли с самого начала задействовать несколько нод - для самого простого случая одна под базу, одна под бэк, одна под фронт или можно на одной все делать а потом как-то относительно просто масштабировать на другие ноды?
    нет. Вначале просто докупают больше мощности, потом выселяют субд на отдельный сервер, и только после такого думают как разделять бекенд.
    Или у вас в задаче прямо сказано, что у вас будет строго больше 10k RPS
    Ответ написан
    Комментировать
  • Пожалуйста, объясните код?

    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 комментариев