• PHP. Вместо символа кириллицы печатается заменяющий символ �. Как исправить?

    SagePtr
    @SagePtr
    Еда - это святое
    Нужно помнить, что в utf-8 каждый символ кириллицы занимает 2 байта, а не один. И использовать многобайтные функции для работы с текстом, например, mb_substr вместо substr
    Ответ написан
    Комментировать
  • Можно ли заряжать 19-вольтовый ноутбук от 12-вольтовой бортовой сети автомобиля?

    @pfg21
    ex-турист
    надо смотреть входные цепи ноутбука. смогут ли они напрямую заряжаться от 12 вольт.
    многие смогут, ибо входной импульсный преобразователь обычно имеет возможность питаться от большого диапазона напряжений.
    свой нетбук както смотрел. литиевый аккум 2p2s на 7,4 вольта. входной преобразователь может потреблять от 10 до 26 вольт по даташиту.
    Ответ написан
    6 комментариев
  • Выучил синтаксис языка. как использовать его на практике?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Надо действительно написать этот самый круд.
    А дальше его переписывать.
    Этим можно себя занять очень надолго.
    Причем не надо сразу задрав штаны бежать за красивыми словами - эмвэце, оопэ.
    Учиться надо постепенно. Иначе станешь не разработчиком, а попугаем.

    MVC надо прочувствовать. Надо поставить себя в ситуацию, когда станет понятно - "Вот я дебил, зачем же я SQL вперемешку с HTML писал! Теперь придется выковыривать. Но уж дальше у меня логика и вывод будут разделены!".
    А потом - "Вот я дебил, зачем же я прямо в контроллере всю логику шарабашил! Теперь в консольной команде то ли код дублировать, то ли опять логику из НТТР интерфейса выковыривать".
    И потом - "Вот я дебил, всё сам на коленке писал, когда в фреймворке всё уже готовое!"
    И так много-много итераций.

    И это я не перечисляю совсем уж детсадовские инсайты, типа "вот я дебил, оказывается если SQL запросы не защищать, то и авторизацию по сути писать бесполезно - все равно кто хочешь зайдет" и "Ой, оказывается кроме меня на сайте ещё другие пользователи есть! И им ошибки показывать не надо!"

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

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    <?php
    function myRound($n) {
    	$d = (int)log10($n) - 1;
    	return ceil($n/10**$d) * 10**$d;
    }


    PHP online environment
    Ответ написан
    Комментировать
  • Как можно передать коллекцию в C#?

    Для передачи в foreach необходимо реализовать интерфейс System.Collections.IEnumerable или System.Collections.Generic.IEnumerable<T>
    Ответ написан
    1 комментарий
  • Как вывести данные из json на страницу?

    Big_Trouble
    @Big_Trouble
    Программист недосамоучка
    Вместо main json создаете файл main.js и экспортируете по умолчанию (default) объект с полями title, subtitle.

    // main.js
    
    export default {
        title: "sun",
        subtitle: "earth",
        r: "mars"
    }

    <h1></h1>
    <h2></h2>
    <p></p>


    //index.js
    import data from './main.js';
    
    // Пишем функцию, чтобы не менять каждый элемент вручную
    const changeHtmlText = (querySelector, data) => {
        const $element = document.querySelector(querySelector);
        
        $element.textContent = data
    }
    changeHtmlText("h1", data.title);
    changeHtmlText("h2", data.subtitle);
    changeHtmlText("p", data.r);
    Ответ написан
    Комментировать
  • Как сделать музыку на сайте так же как в вк?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Создаю свой мессенджер, задача такова что нужно сделать список абсолютно всех мелодий которые есть в мире, так же как в вк, как это можно реализовать?
    Так, давайте прикинем что нам нужно для реализации. Программная часть собственно нас не сильно интересует, так как на фоне прочих затрат найм какого-нибудь Линуса Торвальдса на пару месяцев вообще теряется в общей сумме.

    1) Хранилище. По примерным оценкам в мире в цифровом виде около 500 000 000 оригинальных музыкальных композиций. Учитывая ремиксы и каверы - можно смело брать миллиард. Средний вес композиции среднего качества - 5 Мб. То есть порядка 5 петабайт, если хранить не в лучшем качестве. Учитывая что это должно иметь какое-то резервное хранение (у нас тут серьезный сервис все-таки), умножаем на 2 (10 петабайт). При стоимости около 2 центов за гиг в месяц, 10 000 000 Гб * $0,02 = $200 000 в месяц хранение. Ну, бюджетненько в целом.

    2) БД, которая хранит данные обо всех этих композициях. Стоимость хранения будет поменьше, но думаю к 20-50К все равно где-то выйдет.

    3) Другой вопрос - где брать эти данные, так как не все музыкальные файлы содержат полное описание композиции. На перебор 1 миллиарда записей и сортировки их по жанрам, альбомам, исполнителям, дате выпуска и т.д. уйдет некоторое время. Допустим 50% композиций будут иметь нормальное описание, остается все те же 500 миллионов композиций на обработку. Пусть на каждую понадобится 2 минуты работы, внести данные в поля (хотя их еще как-то найти надо, но допустим), тогда получим 1 миллиард минут. Это 1900 лет работы, или 16 666 667 часов. Час работы самого дешевого индуса - 3 бакса/час. 16 миллионов * 3 - давайте округлим до 45 миллионов. Даже если сократить этот пункт в 10 раз - выйдет под 4 миллиона. Рабский труд сегодня дорог как никогда...

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

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

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

    По итогу на год:
    $200 000 * 12 = $2 400 000 хранилище
    $20 000 * 12 = $240 000 бд
    $20 000 * 12 = $240 000 сервера приложения
    $4 000 000 работы
    Итого: чуть меньше 7 миллионов баксов.
    Ответ написан
    2 комментария
  • Как вместо цифры брать id из переменной?

    Adamos
    @Adamos
    Откладываем баланс, пока рано.
    Читаем уроки, в названии которых есть слово "Авторизация".
    Ответ написан
    Комментировать
  • Как навсегда переслать переменную из контроллера в представление?

    @vism
    учитывая код, просто фигачь $_POST['email'] прямо во view :) Хуже не станет
    Ответ написан
    2 комментария
  • Как добавить отдельные классы для каждого объекта в цикле while?

    @Vic87
    Конечно, не присваиваются. $classes[$i] для $i > 4 у вас не определены. Ессно, что класс будет пустым.

    Не думали пойти другим путем, без заморотов с присвоением класса каждому посту? Например, используя псевдокласс :nth-child и через него реализовать особенности верстки. Тогда вывод постов можете делать без всякого гимора, обычным порядком.
    Ответ написан
    Комментировать
  • Какой выбрать стэк технологий исходя из моего опыта?

    @spaceatmoon
    В вашем случае я бы рекомендовал забить на PHP и сфокусироваться полностью на JS. GO вам тоже не нужен, т.к. я понял вы не сильны в бэкенде, а это язык очень нишевый.

    Становиться фуллстеком когда вы забросили дело на 4 года очень плохая затея. Сейчас довольно много надо знать по сравнению с тем временем и вы тупо потонете в требованиях. Лучше выйти во фронтенд.

    Правильно ли размышляю, основная цель сейчас сделать портфолио с проектами небольшими

    Только если набить руку именно по функционалу. Научиться делать календарь, работа со вкладками. Это поможет вам чувствовать увереннее, но работодателя этим не впечатлить. Сильно не тратьте время.

    в своем городе не понравились и я почти сразу уходил

    Вы же на работу идёте деньги зарабатывать, а не котят гладить. Относитесь к работе проще. Вам платят за умение пользоваться инструментом. Самореализацию оставьте за пределами завода, а то сгорите от внутренних переживаний.
    Ответ написан
    Комментировать
  • Как отслеживать все действия пользователей в общей папке на Windows Server 2008, 2019?

    @nApoBo3
    Влкючить аудит на папке и анализировать записи в логе, на powershell это достаточно просто.
    Ответ написан
    6 комментариев
  • Что выгоднее, один развёрнутый запрос к бд или пару лёгких запросов и php?

    @vitaly_il1
    DevOps Consulting
    один развёрнутый запрос к бд или пару лёгких запросов и php?

    Зависит не от длины запроса, а от его "тяжести" для базы. "Тяжесть" можно оценить с помощью "explain".
    Ответ написан
    Комментировать
  • Как можно быстро освоить ООП на C#?

    Метанит
    Ответ написан
    Комментировать
  • Какие подводные камни использования редакторов сайтов?

    iamd503
    @iamd503
    Верстальщик
    WordPress
    Просто страница с несколькими картинками, контактами, и ссылкой на другой сайт

    Это сегодня она такая, а завтра попросят что то добавить или изменить, и чтобы в админке всё, ну и коронное "А нарисуйте иконку корзины, чтобы туда люди товары добавляли"
    Ответ написан
    Комментировать
  • Выгрузка из поиска как сделать?

    JaxAdam
    @JaxAdam
    Junior Full-Stack Developer
    ORDER BY, LIMIT
    Ответ написан
    Комментировать
  • Как уменьшить нагрузку кода?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    либо nested sets структура(проще всего) либо триггер срабатывающий на изменение кол-ва рефералов и вызывающий обновление у записей-родителей
    Ответ написан
    Комментировать
  • Цикл выполняется только 1 раз, хотя условие не нарушено. В чем проблема?

    Вообще это не совсем ответ, но в комментариях верно подметили, что код индусский.
    Вот так гораздо лучше будет по всем параметрам:
    using System;
    
    namespace App
    {
        class Program
        {
            static void Main(string[] args)
            {
                var color = new RgbColor(0, 255, 0);
                Console.WriteLine(color.ToString());
            }
        }
    
        public readonly struct RgbColor
        {
            private readonly byte red;
            private readonly byte green;
            private readonly byte blue;
    
            public RgbColor(int red, int green, int blue)
            {
                if (red < 0 || green < 0 || blue < 0 || red > 255 || green > 255 || blue > 255)
                    throw new ArgumentOutOfRangeException();
                this.red = (byte) red;
                this.green = (byte) green;
                this.blue = (byte) blue;
            }
    
            public int Red => red;
            public int Green => green;
            public int Blue => blue;
    
            public override string ToString() => $"{red:X2}{green:X2}{blue:X2}";
        }
    }

    Делает он ровно то же самое.
    Ответ написан
    Комментировать
  • Как автоматически продлять время жизни сессии?

    Immortal_pony
    @Immortal_pony Куратор тега PHP
    Не используйте сессии PHP - храните сессию в файле или в БД. Идентификатор сессии на клиентской стороне храните в "вечной" (на 100 лет, например) cookie.

    Ну и дальше спокойно реализуйте алгоритм:
    1. Пользователь заходит на сайт
    2. Вытаскиваем из cookie id сессии
    3. Находим сессию.
    4. Убеждаемся, что сессия не протухла
    5. Продлеваем жизнь сессии
    6. в __desctruct() сохраняем сессию в файл или в БД
    Ответ написан
    Комментировать