• WebSocket - в чем разница между байтовой передачей и текстовой?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Не совсем понятно, о чём именно Вы говорите и что за "байтовый режим"... Все мои попытки найти ответ на вопрос, о чём хотя бы примерно идёт речь увенчались на данный момент нахождением только этого материала. Подозреваю, что речь идёт о некоем "бинарном" и "текстовом" режимах (хотя, на уровне самих вебсокетов, я чего-то таких режимов не припоминаю, не смотря на то, что когда-то я занимался работой с ними на очень низком уровне). Если так (т.е. речь идёт всё же про "бинарный" и "текстовый" режимы) - судя по всему, разница есть конкретно на уровне JS'а и отличия состоят только в том, как сам JS будет воспринимать полученные им данные, что собственно следует из примера (взято по ссылке выше):

    socket.bufferType = "arraybuffer";
    socket.onmessage = (event) => {
      // event.data является строкой (если текст) или arraybuffer (если двоичные данные)
    };


    Как видите, в зависимости от контекста получаемых/передаваемых данных - они могут интерпретироваться в JS по разному, что (как я понимаю) сделано просто для удобства (работы с исходными данными) и никакой другой практической цели в себе не несёт.
    Ответ написан
    Комментировать
  • Где вы обычно храните оригиналы фото для сайта?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    создать папку original_photos прям на хостинге, и запретить её сканирование поисковыми системами
    Если Вы не будете давать прямых ссылок на эту папку, вероятность того, что поисковые системы там что-то проиндексируют - стремиться к нулю.

    Или есть какие-то другие грамотные варианты?
    Если места на хостинге хватает - почему бы и нет? Если не хватает сохраняйте на каком-нибудь облачном диске (вариантов масса). А что бы совсем хорошо - можете сохранить файлы и там и там.
    Ответ написан
  • Потянет ли бп видюху?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Воспользуйтесь каким-нибудь сервисом, на подобии такого, я думаю информация оттуда будет не менее полезной, чем чьи-то доводы.
    Ответ написан
    Комментировать
  • Как сделать html, css, js редактор на сайте в админке Laravel/PHP?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Из личного опыта: берёте любой готовый редактор, например, такой, встраиваете его куда нужно и пользуетесь на здоровье.

    P.S. По моему, сам вопрос и браузерные редакторы кода, никак не связаны ни с PHP, ни с Laravel. При использовании PHP/Laravel они встраиваются точно так же как и при использовании HTML и JS.
    Ответ написан
  • Стоит ли хранить базы данных на SSD?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    сервер базы стоит на SSD
    Я думаю, где стоит сам сервер - особой разницы нет.

    Меня интересует стоит ли хранить сами базы на SDD или лучше их перенести на HDD для продления жизни SDD?
    Для ответа на этот вопрос, нужно оценить следующие факторы:
    1. Оно Вам действительно нужно, что бы базы работали на SSD, скорости HDD не хватает?
    2. Резервирование диска? Т.е. если диск "крякнется" - есть дублирующий носитель, RAID или что-то ещё подобное? Если у одного из дисков он есть - лучше хранить на том диске, у которого оно есть.

    3.
    Стоит отметить что базу используя для личной разработки.
    Дочитал до этого пункта и... Из личного опыта могу рассказать Вам одну историю... Есть у нас сервер 1U, купленный изначально "для работы", потом мы его отдали под проект. В сервере среди прочего стоит SSD, самый обыкновенный, на 120Гб, из числа тех что стоят сейчас в районе 1500руб., стоит он там уже более 2-х лет (с того момента как мы его отдали проекту), ежедневно и беспрерывно, 24х7 диск "молотит" база достаточно крупного проекта (и сам проект стоит там же), изначально было много опасений на тему того, что диск не проживёт там и месяц... но, любопытство всё же пересилило и мы решили попробовать. Результат - по прошествии 2+ лет "здоровье" диска в районе 74%, думаю ещё года 3 он там проживёт за милую душу. Единственное отличие нашего диска от тех, что продаются сейчас - у него MLC-память, но что-то мне подсказывает, что этот факт никак не даёт диску сколь-нибудь фантастическую живучесть по сравнению со всеми остальными.

    P.S. С учётом цен на SSD на сегодняшний день, и того, что Вы собираетесь его использовать даже не в боевых условиях - я бы не стал забивать себе голову такими мелочами. Храните базу там, где Вам удобнее. Скорее всего, диск будет выброшен и заменён на другой раньше по техническим причинам, чем успеет "сдохнуть".
    Ответ написан
    1 комментарий
  • Зачем тестировать верстку на локальном сервере?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Например, сборщик Gulp поднимает локальный сервер по адресу localhost:3000. Чем это может помочь при тестировании верстки?
    Насколько я помню, сам Gulp ничего не поднимает, но это не суть... Сервер, локальный, нужен как минимум для возможности указания корректных по отношению к корню сервера путей, для тех же картинок, например: <img src="/img/image1.png" alt="#" /> - без локального сервера будет работать "никак". Уже этого факта достаточно, что бы этот самый сервер поднимать :)
    Ответ написан
    Комментировать
  • Стоит ли оборачивать button в div?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Думаю, что особого смысла в "оборачивании" в контексте Вашего вопроса - нет. У любого из известных мне тегов, в т.к. и у <button/> можно выставить любые параметры, в т.ч. касающиеся его позиционирования.

    Отцентрировать его можно указав родительскому блоку display: block;, а самой кнопке margin: auto; или же отцентрировать её через flex...
    Ответ написан
  • Зачем добавлять классы в контейнер в Laravel?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Почему лучше добавлять классы в контейнер и создавать их из контейнера а не через new?
    Откровенно говоря, вопрос звучит аки "почему молоток лучше чем пассатижи?".

    В контейнер кладут классы, прежде всего для того, что бы иметь возможность управления зависимостями. Иными словами, что бы иметь возможность подменить класс А на класс Б, при первой необходимости не затрагивая основные структуры программы, а так же для того, что бы система знала, где искать какой-либо класс, когда его запрашивают. И сделано это было отнюдь не для удобства реализации Синглтонов и т.п. Иными словами, контейнер - это часть реализации DI-механизмов, а не "синтаксический сахар".

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

    P.S. Я понимаю, что объяснение слегка примитивное и не совсем точно отражает суть, но другого объяснения, которое бы не переросло в формат/масштаб на учной статьи, на данный момент у меня не нашлось.
    Ответ написан
  • Как потестировать два VPS/VDS провайдера?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Боюсь что даже при наличии подобных инструментов тесты будут очень относительными. Совершенно не факт, что на сервере N1 во время ваших не будет испытывать пиковую нагрузку, а сервер N2 в это время будет размещен на вновь введёной в эксплуатацию машине и по тому будет просто "летать".

    но еще и панель управления в придачу.
    Панель обычно неплохо так потребляет ресурсы, особенно если это задохный VPS с 1-м виртуальным процессором и 0.5-1Гб памяти.

    который оказался слабее, еще установили OPCache, xDebug (не запускается при каждом запросе)
    OPCache если мне памяти не изменяет давно уже ставиться вместе с PHP по умолчанию. А вот установленный XDebug на боевоем сервере... боюсь даже представить, что употребляет автор подобных решений.

    Я Вам из личного опыта скажу, был один такой хороший хостер X, среди прочего они позволяли устанавливать на сервер ОС из собственного образа, что лично меня безумно радовало. Но, в один прекрасный день, поднимая очередную ноду для нужд проекта, я вдруг заметил, что система ставится неприлично долго. Начал "ковырять" и заметил, что скорость записи на диск, на всех моих VPS'ках в среднем составляла 5КБайт/сек.!! 5 килобайт! А потом она вообще упала до 1Кб в среднем, а потом весь ДЦ видимо рухнул... Благо я вовремя успел заметить проблему и быстренько перевёз прокты в другое место.

    Я всё это к тому, что Ваш разовый замер ничего не даст, кроме как показателей чего-то на уровне "сейчас".
    Ответ написан
    2 комментария
  • PHP: как сделать так, чтобы аргумент мог принять только одно из определённых значений?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Мне почему-то кажется, что должно существовать какое-то более грамотное решение.

    Возможно, вот такое:
    if(in_array($arg, ['foo', 'bar', 'baz'])) {
        // ...
    }
    Ответ написан
    2 комментария
  • Какие требования к бд и архитектуре для такого приложения?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Вопрос:
    Какую архитектуру базы данных создать, под каждый сайт отдельные таблицы или отдельную базу данных под каждый мгаазин или сотни тысяч товаров в одной держать. Кто работал с конструторами сайтов, какая у них база данных под каждого клиента. И стоит ли вообще использовать mysql или стоит рассмотреть другого вариант? Как бы вы построили базу данных, если бы таких магазинов было 100 и более.
    С точки зрения логики, безопасности, здравого смысла и ряда прочих факторов, включая архитектурные особенности (по части хранения таблиц в рамках файловой системы) самих БД - я хранил подобные данные в разных БД. Но, с учётом того, что "сотня тысяч" строк, это по большому счёту "пшик" и база уровня "шаред-хостинг" (думаю, ещё даже не VPS) - то для удобства можно хранить всё это и в одной базе.

    На счёт стоит ли использовать MySQL - лично Вам, в данный момент - я думаю стоит. Смена одной БД на другую, без полного понимая контекста того, зачем это делается и чем одна отличается от дургой - обычно ничем хорошим не горозит. Движки БД (популярных) сами по себе, "из коробки", друг от друга не слишком сильно отличаются и чудесным образом один из них "по умолчанию" не будет "лучше" чем другой. Я неоднократно работал над проектами где "сотни тысяч" (записей) появлялись ежедневно и они (эти проекты) прекрасно себя чувствовали на MySQL'е.
    Ответ написан
    Комментировать
  • $.each как вывести переменную из функции?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Я думаю, Вам нужно перестать переопределять переменную внутри цикла, т.к. лично у меня и "внутри" ничего не выводит. Выглядеть это будет так:

    var test = 0;
    $.each(b, function(i, item) {
      test = test+ item;
      alert(test); // Выводит
    });
    alert(test);


    Если нужно сохранить родительскую область видимости внутри функции, то так:
    var test = 0;
    $.each(b, (i, item) => {
      test = test+ item;
      alert(test); // Выводит
    });
    
    alert(test);
    Ответ написан
    Комментировать
  • Как сделать авторизацию между двумя api?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    2. Передавать какой-то секретный ключ с сервера АПИ и проверять его на сервере статистики. Этот вариант мне кажется наиболее удобным, но в каком виде его хранить и как передавать?
    Видится мне, что это самый разумный вариант. Список адресов - не слишком надёжен и не особо логичен.

    Как передавать - так же как и сам запрос, в виде параметра, заголовка или любой другой части запроса, которая в конечном итоге будет разбираться на сервере. Как хранить - мы обычно храним в ENV (переменных окружения) или конфигурационных файлах проекта.
    Ответ написан
    2 комментария
  • Как работаете с формами в Ларавел?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    1. Как помнится из коробки что-то было для работы с формами, но потом выкинули?
    Так и есть, выкинули за ненадобностью подобных хвостов в основном фреймворке. В том смысле, что этот хвост ещё и поддерживать нужно...

    Выходит по дефолту работаем с формами на чистом HTML (+blade)? Может какие-то пакеты юзаете?
    Можно так, можете пользоваться теми формами которые выпилили, можете воспользоваться вариантом аки symfony, ещё можно тут поискать другие варианты.

    2. Как правильно работать при CRUD c C и U, т.е. нужно два раза форму показать и это разные вьюхи? или форму в одну вьюху закидываете и там рулите?
    Всё индивидуально. В общей сложности, при простых вариантах - создавать разные файлы форм не обязательно, при "C" можете создавать ту же форму что и при "U", передавая туда пустую модель.
    Ответ написан
    Комментировать
  • Подойдет ли домен для международного сайта?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Подойдёт ли такой домен для международного сайта
    Почему нет? Для международного сайта подойдёт любой домен не привязанный к конкретной стране. Лично я страны "сайт" не припоминаю...

    А регистрация данного домена стоит лишь 64 рубля.
    А продление наверное пару-тройку тысяч :)) И наверное это reg.ru опять расщедрился? К слову, у них много доменов по 64руб., со стоимостью продления очень далёкой от стоимости регистрации...
    Ответ написан
    2 комментария
  • Что лучше для страницы заказов AJAX vs Сокеты?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    "Лучше" - сокеты, "проще" - AJAX.

    Но это повысит нагрузку на сервер
    Не совсем корректное утверждение. Сокеты тоже дают некоторую нагрузку на сервер + по большому счёту - всё что угодно может повысить нагрузку на сервер. Вопрос не в нагрузке на сервер а в том, в каких величинах эта нагрузка выражается и насколько она критична в каждом конкретном случае.
    Ответ написан
    Комментировать
  • Плоха ли описанная архитектура, для laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Чем это хуже подхода - когда вся логика распологается в сервисах, и в целом чем плох такой подход?
    Он ничем не хуже и не лучше. Пакеты - это одно, сервисы - другое, а Вы их зачем-то "складываете в одну корзину". Что по сути своей представляет пакет? - пакет - это некий модуль, решающий какую-то конкретную задачу, поддерживаемый и обслуживаемый конкретным веднором. В массе своей пакеты никак не привязаны к тому, где и как они будут использоваться. То есть, пакет - это некий набор общей логики, процессов и т.д. для решения какой-то задачи (или набора схожих/связанных задач), например для обработки изображений.

    Сервис или какая-то иная часть приложения - это часть именно конкретного (вашего) приложения, то есть что-то, что написано и предназначено конкретно для данного приложения, а не для универсального решения общих задач. Пакет - логическая противоположенность этому.

    Не стоит забывать, что чем более универсальным является какое-то решение (аки "швецарский нож") - тем хуже оно решает конкретную задачу. Это же полностью применимо и к тому, что описываете Вы. Если Вы будете делать некие универсальные решения и складывать их в пакеты:
    1. Потеряете выраженность решений
    2. Потеряете производительность
    3. Получите на обслуживание много приложений (пакетов) вместо одного конкретного

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

    "Не гадить в код" - это искусство и опыт, которые никакой "пакет" не заменит.
    Ответ написан
    1 комментарий
  • Где взять svg код иконок?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    подскажите пожалуйста , есть ли где-то svg код иконок для html?
    В сети их как грязи, например тут.

    Сейчас использую awesome
    Там тоже несколько тысяч.

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

    и что лучше awesome или svg код
    FontAwesome - можно скачать отдельно, в SVG формате (каждую иконку отдельно).

    на странице по 20-30 таких кодов может быть?
    С точки зрения сокращения обращений к серверу - встраивать SVG в страницу - лучше. С точки зрения читаемости такого кода - думаю, хуже.

    P.S. Есть масса различных инструментов для анализа скорости загрузки страницы и оценки ряда прочих факторов. Например, Google Page Speed. Лучше - когда показатели высокие и/или вписываются в норму, остальное второстепенно.
    Ответ написан
    Комментировать
  • Какой выбрать ноутбук для студента-программиста? С дискретной видеокартой или без?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    По бюджету не подсажу, но пару общих рекомендаций:
    1. Настоятельно не рекомендую тратить деньги на дискретную видеокарту, особенно в ноутбуке, особенно с учётом того, что это ноутбук для работы
    1.1 Помимо экономии денег и отсутствия дополнительных греющих элементов, отсутствие дискретной видеокарты сокращает желание заняться чем-то выходящим за пределы работы и/или обучения
    2. 8Гб памяти маловато, лучше бы 16... или хотя бы возможность увеличить её до 16, 8 для работы - это почти вполотную
    3. Обычный HDD рекомендую заменить на SSD'шник. Не знаю как Вам, но лично мне 120Гб "для работы" хватает за уши, даже при установке 2-х ОС. Основная проблема HDD'шников в ноутбуках в том, что они почти все на 5400 оборов и работают порой чертовски медленно.
    4. Обязательно смотрите, что бы матрица была не TN. На этом, простите, дерьме - даже фильмы смотреть можно с трудом и ещё они все "синят", порой так, что "глаза вытекают". Любая другая, (X)VA, IPS, PLS и т.п. только не TN.
    5. Процессор лучше Intel. Они конечно "кастрированные" сильно, но лично у меня крайне негативный опыт работы с AMD'шниками в ноутбуках. Пол года-год и "понеслась"... перегревы и т.п.

    P.S. Я себе для работы присмотрел "Lenovo thinkpad", но в Ваш бюджет он кажется не впишется, если только б/у... К слову, у него нет дискретой видеокарты.
    Ответ написан
  • Как пользоваться ngrok правильно?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Но когда захожу по ссылке, выходит:
    Это значит, что ОпенСерер отдаёт дефолтный сайт. Иными словами, проблема либо в том, что дефолтный сайт отличается от того, который Вы хотите показать кому-то, либо в том, что у вас на сервере не зарегистрирован тот домен, который Вы указали в примере выше.

    Решения соотв. тоже два:
    1. Либо Вам зарегистрировать такой домен у себя (локально)
    2. Либо в качестве дефолтного сайта отдавать тот, который Вам нужно
    Ответ написан
    3 комментария