Задать вопрос
Профиль пользователя заблокирован сроком с 26 июня 2017 г. и навсегда по причине: систематические нарушения регламента работы сервиса: размещение нецензурной лексики; оскорбления в адрес пользователей, модераторов и специалистов службы поддержки
  • Как понять ошибку Numeric value out of range?

    @Fixid
    postgresql.ru.net/manual/datatype-numeric.html

    масштаб(scale) типа numeric — это количество десятичных разрядов в дробной части, справа от десятичной точки. Точность (precision) типа numeric — это общее количество значимых разрядов во всём числе, т.е. количество разрядов по обе стороны от десятичной точки. Таким образом, число 23.5141 имеет точность 6 и масштаб 4. Целые числа могут быть представлены с использованием масштаба ноль.


    Вы неправильно понимаете работу типа numeric
    В numeric(4, 2) можно записать две цифры до запятой и две после
    Ответ написан
    Комментировать
  • Как избавится от отступов в ff?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Сейчас угадаю, без скрина и кода.

    126ff34b-71d0-4839-bf65-10664d12f6bf.jpe
    Ответ написан
    2 комментария
  • Чем отличается active record от data mapper?

    qonand
    @qonand
    Software Engineer
    Оба эти паттерна предназначаются для преобразования данных из реляционного представления в объектное. Разница в том как они это делают и как они организованы, если в вкратце:
    ActiveRecord - это объект, который хранит данные и содержит логику взаимодействия с БД.
    Преимущества: простота, удобно использовать на небольших проектах.
    Недостатки: паттерн нарушает множество принципов в частности Single Responsibility Principle, его использование как правило делает код сильно связанным, из за чего на сложных проектах его использовать невозможно.
    DataMapper - объект хранящий логику взаимодействия с БД. Он не хранит данные как ActiveRecord
    Преимущества: позволяет построить слабосвязанную архитектуру, разделить приложения на слои

    Более подробно можете почитать у Фаулера, да и просто погуглить можно, на эту тему уже много материалов написано на просторах интернета.
    Ответ написан
    Комментировать
  • Почему когда использую float теряется высота родителя?

    Попробуйте добавить родителю overflow: hidden; это решит проблему потери высоты родителя.
    Ответ написан
    Комментировать
  • Как в PHP через PDO добавить спец. символ?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Кодировка к кавычкам не имеет никакого отношения.

    Чтобы всегда добавлять любые символы в БД без ошибок, надо использовать подготовленные выражения.
    Кодировку, впрочем, тоже надо задавать не с помощью шаманских плясок с бубном, а правильно.
    В итоге код должен выглядеть примерно так
    $host = '127.0.0.1';
    $db   = 'test';
    $user = 'root';
    $pass = '';
    $charset = 'utf8';
    
    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $opt = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    $pdo = new PDO($dsn, $user, $pass, $opt);
    
    $ujasnaya_kavychka = '"""""';
    // подготавливаем запрос, заменяя все переменные знаками вопроса
    $stmt = $pdo->prepare("INSERT INTO table (pole_s_kavychkoy) VALUES (?)");
    // исполняем его, передавая все переменные отдельно
    $stmt->execute([$ujasnaya_kavychka]);

    При таком способе выполнения запросов ни одной ошибки, вызванной передаваемыми в запрос данными никогда в принципе не произойдет.

    Еще одна проблема может быть связана не с запросом, а с выводом. многие нубы выводят свои данные с кавычками в атрибут тега HТML,
    <input type="text" value="<?=row['pole_s_kavychkoy']">

    получают на выходе что-то вроде
    <input type="text" value="артель "рога и копыта">
    и страшно пугаются - оказывается, коварная база данных украла у них весь текст после кавычки.
    Чтобы отобрать этот текст обратно ,весь вывод надо производить через htmlspecialchars()

    Поскольку вопросы был отредактирован, то отредактирую и ответ:
    Если речь идет не про кавычку, а про развесистую эмодзи, то в стандартной ut8 они не поддерживаются, и надо использовать utf8mb4 - как в таблицах, так и при соединении.
    Ответ написан
    1 комментарий
  • Законны ли подобные действия со стороны ВКонтакте?

    saintbyte
    @saintbyte
    Django developer
    При Дурове такого небыло.
    Ответ написан
    Комментировать
  • Хранить ли фотки в базе данных?

    liveunit
    @liveunit
    Путь к изображению - да, само изображение хранить в бд не стоит.
    Ответ написан
    Комментировать
  • Кто как, и самое главное где, хранит свои наработки, куски кода и тд.?

    petermzg
    @petermzg
    Самый лучший программист
    Наработки являются частью проектов, где они были применены.
    А поиск по комментариям к коду.
    Все остальное - лишнее.
    Ответ написан
    Комментировать
  • Куда стремиться PHP программисту?

    sim3x
    @sim3x
    Куда хочешь
    Ответ написан
    Комментировать
  • Дальнейшее развитие для новичка при отсутствии вакансий в городе?

    @FoxInSox
    По поводу фриланса, вариант развития:

    1. вы несколько лет работаете за копейки
    2. понимаете что конкурировать с индусами и школьниками не получается
    3. т.к. вы один, то вам не у кого учиться, и вы делаете все абы как лишь успеть до дед-лайна
    4. все проекты которые вы делаете очень примитивные и не приносят вам никакого опыта
    5. вы понимаете что вы плохой менеджер и не можете грамотно работать с несколькими клиентами, да еще и писать код
    6. вас время от времени кидают и вас это жутко бесит
    7. иногда гонорар бывает внушительный, но вы понимаете что это только в рублях. Новый компьютер за доллары вы себе позволить не можете
    8. после нескольких лет вы пытаетесь найти full-time работу, но оказывается что вы говнокодер, и никто с вами работать не хочет.
    9. вам 30, вы плохой разработчик и плохой менеджер, у вас ребенок которому 2 года, и жена которая хочет от вас уйти. Так же вы живете в съемной маленькой квартире, т.к. банк не дает вам кредит на квартиру из-за того, что вы не трудоустроены официально. И даже на junior вакансии вас никто не берет уже.
    Ответ написан
    3 комментария
  • Как при работе единственным веб-мастером-на-все-руки в компании максимально эффективно прогрессировать в веб-разработке?

    @polifill
    Мастер на все руки - это круто и полезно для расширения кругозора.
    Хорошо для некого обзора-старта в ИТ.
    Но не более.

    В нынешнем мире очень глубокая профессиональная специализиация.
    Невозможно знать что либо хорошо, если ты на этом не специализируешься.

    Увольняйтесь.

    Идите в большую контору.
    Сразу договоритесь - что вы там не будете фулстеком.

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

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

    proudmore
    @proudmore
    Поддержу оратора выше: одной таблицы достаточно. Просто добавьте графу с состоянием поста: предложено, отклонено, принято. И никаких сложностей далее.
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

    Я учился на конкретных задачах. Обучение практически всегда начиналось с состояния хочу сделать вот это (четко осознаваемый конечный результат), но вообще понятия не имею как это делать, и даже с какой стороны подойти и за что хвататься...

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

    Далее из модулей, как из кубиков лего пытаешься собрать функциональные блоки. Тут важно понимать, что чем более автономные модули и блоки у тебя получаются, тем лучше, особенно для целей тестирования. Если ты забиваешь болт на тестирование, то тебе нечего делать в разработке.

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

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

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

    Только так, только жесткий хардкор! Если ты не прошел эту фазу, то ты либо родился гением, либо тебе нечего делать в профессии... Это как детские болезни - ими нужно переболеть в детстве.

    Обрати внимание, самое главное качество во всем этом многабукафф - упорство на грани фантастики. Любой, кто не дойдет до конца, не треснет себя по лбу в соты раз с воплем, так вот же она где, эта запятая, пропущена - сломается в самый неподходящий момент на боевом проекте...

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Правильно ли так работать с бд?

    riot26
    @riot26
    <:З )~~
    Код - говно. Такая критика сойдёт?
    Ответ написан
    5 комментариев
  • Зачем в IT вакансиях требуют чувство юмора?

    alsopub
    @alsopub
    Чтобы не обижался на зарплату.
    Ответ написан
    Комментировать
  • К чему относится класс регистрации в шаблоне MVC?

    @SergeyZelensky-Rostov
    сделать отдельным компонентом (посредником),посмотрите на примере laravel, очень доходчиво.
    Ответ написан
    Комментировать
  • Что учить pdo или ооп в первую очередь?

    @Kostik_1993
    Web Developer
    Я думаю сначала выучите PHP. Вы совсем не понимаете что и зачем
    Ответ написан
    Комментировать
  • Обосновано ли использование Регистра для передачи данных между Controller Model View?

    taliban
    @taliban
    php программист
    Смысл модели как раз в самодостаточности, она не знает кто ее использует, где кто хранит данные, она получает порцию, работает с ней и отдает обработанные данные, как черный ящик. Это идеальная модель. Поэтому вы пытаетест сделать анти модель, которая зависит как минимум от библиотеки Registry. А зависимость не всегда хорошее решение. Хрен его знает кто где перезапишет ваш ключ в этой библиотеке. Банально в другом месте вы забудете что такой ключ уже есть и используется.
    Ответ написан
    Комментировать