• Есть альтернативы почты для домена от Яндекса?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Юзерам при регистрации на сайте прилетают инструкции на почту. Яндекс считает, что это спам и блокирует..
    У Яндекса насколько я помню есть ряд ограничений, в т.ч. раньше было ограничение - не более 100 исходящих писем в час. Если Вы хотите отправлять различные системные письма (инструкции, уведомления и пр. им подобные) - рекомендую воспользоваться специализированным сервисом для отправки писем, ряд из них предоставляет в т.ч. и бесплатные пакеты. К таким сервисам в частности можно отнести:
    1. MailGun (как выше уже озвучили)
    2. UniSender
    3. MailChimp
    4. SendPulse
    И масса других

    P.S. А ещё у Яндекса есть поддержка, я думаю самым разумным было бы в первую очередь обратится к ним и спросить, по какой именно причине Ваши письма считаются спамом (если правила пользования почтой Вы уже прочли и уверены в том, что не нарушаете их).
    Ответ написан
    Комментировать
  • Какой ЯП учить, чтобы быстрее начать зарабатывать? Какой стэк проще и быстрее освоить?

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

    Какой стэк проще и быстрее освоить?
    DOS + Basic, TurboBasic, etc. Мне кажется, это один из самых простых вариантов (стека).

    P.S. Ещё можно в сторону платформы 1с посмотреть, там вообще по русски писать можно, много литературы (в т.ч. на русском), масса видео и прочей подобной байды и в целом изучить эту экосистему на приемлемом уровне, можно быстрей чем некоторые другие.
    Ответ написан
    Комментировать
  • Что почитать о создании многопользовательского приложения для редактирования данных?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Что можно почитать по этому поводу, в каком направлении хотя бы гуглить?
    Основных вариантов, на вскидку, могу предложить следующие:
    1. При редактировании записи (строки или любой другой сущности, по вашему усмотрению) на неё устанавливается метка, примерно такая: "редактируется пользователем таким-то", соответствующая метка удаляется по завершению редактирования. Таким образом это работает в некоторых CMS.
    2. Можно придумать какую-то систему на основе WebSocket-протокола, я думаю сервисы на подобии GoogleDocs или Trello (позволяющие редактировать один документ сразу нескольким пользователям) работают именно на его основе, это как минимум позволит видеть обновления данных всем пользователям практически в реальном времени
    3. Можно хранить все версии данных, а потом что-то делать с ними... Что именно делать - пока сказать затрудняюсь, т.к. не до конца понимаю, какие у Вас конечные требования, возможно этот вариант не подойдёт.
    Ответ написан
    Комментировать
  • Почему всем так нужен Doctrine, если он много не умеет?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Работаю в компании где юзается доктрина (2 версия). Если конечно же доктрина чего то не умеет, то запрос переписывается на plain SQL.
    Справедливости ради, я думаю стоит заметить, что ни один из известных мне ORM'ов - не умеет "всего", даже на уровне MySQL'а. А если говорить про более продвинутые БД (в плане функциональных возможностей), например, PostgreSQL - то ORM'ы вообще "мало чего умеют" (в процентном соотношении).

    Собственно, я думаю, что это не всё.
    Я более чем уверен, что это далеко не всё.

    Почему доктрину многие так восхваляют? Пока что я увидел сплошные минусы для себя.
    Я бы не был столь категоричным (минусы всё-таки не сплошные, какие-то плюсы в ней однозначно есть), но, на вопрос "почему?" лично я для себя сделал вывод, что основная популярность Doctrine - обусловлена тем, что она по умолчанию поставляется (или поставлялась) с Symfony, а Symfony в свою очередь основную популярность завоевала тем, что долгое время он(а) считалась самым сложным (или одним из самых сложных) PHP-фреймворков, с довольно высоким порогом вхождения, что в свою очередь возводило её в ранг некоего "идола", отличающего "опытного" разработчика от тех, кто в силу различных причин Symfony осилить не смог (или не захотел). Вот такая вот цепочка...

    P.S. Всё выше написанное, является моим субъективным наблюдением, основанным на моём личном опыте работы со студентами и людьми повышающими свою квалификацию в ракурсе веб-разработок. Уважаемые коллеги, убедительно прошу вас не устраивать срач под этим постом, у меня к сожалению нет времени в достаточном количестве, что бы вести объективную дискуссию, а поддерживать перепалку - желания.
    Ответ написан
    3 комментария
  • Как изменить массив, подключаемый через require?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Как уже верно подметил предыдущий оратор - добавить в массив Вы можете что угодно, а сохранить это "без танцев с бубном" вряд ли получиться. Если Вам нужно загружать и сохранять какие-то данные для этого есть другие способы и форматы, например, JSON (json_encode()/json_decode()), или serialize()/unserialize().
    Ответ написан
    Комментировать
  • Есть ли альтернативный подход для верстки?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Есть какие-любо предложения? Неужели в 2019 году люди продолжают верстать вручную?
    Я конечно могу ошибаться, но насколько мне известно - на данный момент всё ещё продолжают. Относительно недавно (месяца 2-3 назад, приблизительно) сталкивался с подобным вопросом и... могу сказать, что "абсолютное позиционирование элементов на странице" - это не ключевая проблема. В том смысле, что какой-то софт эту проблему решать уже научился (какой именно - сейчас точно не вспомню, под "тест" попало всё, что уадалось найти в интернете, включая различные онлайн-сервисы). Основная проблема, как я уже говорил сместилась в с "абсолютного позиционирования" в сторону г-о кода, все образцы в той или иной мере обильно гадили в конечный код.

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

    Думается мне, когда что-то сможет генерировать код очень близкий к чистовому, достойного качества - профессия верстальщика начнёт становится частью истории, как когда-то профессия, ну скажем, кучера.

    P.S.
    не застал табличную верстку, а может быть оно и к лучшему
    Я застал времена, когда CSS ещё не придумали :)
    Ответ написан
    4 комментария
  • Сложно ли учить новый язык программирования после JavaScript?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Сложно ли учить новый язык программирования после JavaScript?
    Что Вы подразумеваете под словом "учить новый язык"? Учить синтаксис нового языка? Нет, не сложно, но не особо понятно, зачем оно в целом Вам надо? Знание синтаксиса языка без более глубокого понимания происходящего на более низком уровне - всё равно, что знание алфавита без понимания того, что означаю слова (составленные из букв этого алфавита).

    И даже если Вы изучили язык N ну очень хорошо (я про синтаксис), это будет порядка 5% от того, что Вам нужно будет изучить в целом, что бы стать высококлассным спецом в мире современной разработки.

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

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Здравствуйте, как в текстовом поле запретить все теги, кроме определенных.
    Здравствуйте, я думаю это относительно легко реализовать с помощью JavaScript'а, но в целом этот подход настолько же бессмысленный, насколько и простой. Во первых по тому, что пользователь может банально отключить JS у себя в браузере (одним кликом), а во вторых - запрос может легко придти вообще не из браузера (иными словами, "рукастые" пользователи всегда могут прислать всё что угодно, в буквальном смысле). По этому, я бы на Вашем месте ограничился "табличкой" аля "Разрешены только такие-то теги", а все запрещённые теги просто вырезал бы на стороне сервера (молча).
    Ответ написан
    Комментировать
  • Как в Laravel кешировать json-ответ?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Можно ли эти данные закешировать как-то стандартными средствами Laravel и чтобы они обновлялись раз в 5 минут?
    А что Вам мешает закэшировать их например, в Redis со сроком жизни кэша 5 минут и проверять, есть ли данные в кэше (и если их там нет - класть их туда, на следующие 5 минут)?

    P.S. Средства лары для работы с кэшем хорошо описаны тут.
    Ответ написан
    2 комментария
  • Возможно ли сделать такой фон средствами CSS?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Добрый день. Возможно ли сделать такой фон средствами CSS? Или же будет лучше сохранить картинку с этими полосками и все?
    Добрый день. Возможно. Я бы сделал, пожалуй, через repeating-linear-gradient так как меньше картинок = меньше запросов к серверу ну и я уверен, что CSS-будет более компактным, чем аналогичная картинка.
    Ответ написан
    Комментировать
  • Какой монитор для кодинга 2019?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    В последнее время сталкивался с мнениями, что чем больше диагональ - тем больше расстояние до монитора и крупнее текст, благодаря чему меньше устают глаза.
    Не очень представляю зачем может понадобиться монитор 32"... Я со своим "куриным" зрением и хроническим нежеланием носить очки - использую для работы 3 монитора 27", 2шт. FullHD + 1шт. 4k разрешением. Больше (диагональ) - лично я смысла не вижу никакого ставить. Разрешение мониторов, диагональ, матрицу и т.п. подбирал специально для работы, 2 монитора с матрицей IPS, один - с VA (точнее MVA, если не ошибаюсь), у всех отличные углы обзора.

    Так же пару раз сталкивался с PLS-матрицей и мониторами Samsung - ничего "такого" в них не заметил, между PLS и IPS особых различий разглядеть не смог, с той лишь разницей что в течение года на этих мониторах (в количестве двух штук) "поехала" подсветка, а на втором году начала "прогорать" матрица (на обоих).

    тем больше расстояние до монитора и крупнее текст, благодаря чему меньше устают глаза.
    И тем крупнее пиксель соотв.
    Ответ написан
    3 комментария
  • Как объединить таблицы?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Вариантов тут на мой взгляд несколько:
    1. Воспользовать связями на уровне Laravel
    2. Создать в БД view'шку с нужными данными и делать выборку из неё
    3. С помощью DB::select, создать запрос, в котором Вы объедините таблицы с помощью запроса как Вам нужно
    Ответ написан
    Комментировать
  • Правильно ли я делаю?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Подскажите, как лучше верстать проекты. Может быть вы посоветуете другие подходы в разработке
    Как лучше - зависит от конкретного случая, но, когда я занимался вёрсткой это выглядело примерно так:
    0. Используем препроцессор, какой-нибудь, например SASS (SCSS)
    1. Благодаря препроцессору, среди прочего - Вы можете дробить файлы стилей на сколь угодное число оных (хотя, я бы так делать не стал)
    2. CSS (при нашем подходе) мог делиться на следующие части:
    • Файл с основными (базовыми) стилями (в отдельных случаях он может быть включён в inline-виде прямо в заголовок страницы)
    • Файл с дополнительными стилями
    • Файл с общими медиа-запросами (по необходимости)
    • Файлы с медиа-запросами на каждое разрешение (каждый файл грузится в зависимости от разрешения устройства)
    • Файл с темой (если таковые есть)


    Касательно файлов с медиа-запросами, в общей сложности выглядит это примерно так: сначала делается вёрстка в базовом разрешении (либо "мобильная", либо "десктопная"), а потом пишутся общие стили для адаптации оной, действительные для всех разрешений, потом пишется "слой корректировок" под каждое отдельно взятое разрешение (по необходимости).

    *Выше озвучен исключительно наш подход к работе, выработанный нами и для наших проектов, далеко не факт, что подобный подход подойдёт Вам.

    Так же, рекомендую ознакомиться со списком методологий (от себя к этому списку хочу добавить то, что подход "гадить в HTML-код, создавая при этом элементы без которых легко можно обойтись" - нарушает основополагающие рекомендации CSS-основоположников, по этому, в большинстве случаев, методологии пропагандирующие подобный подход нами даже не рассматриваются).
    Ответ написан
    2 комментария
  • От какой ветки нужно ветвить фиче-бранчи для разработки?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Поделитесь опытом, какой способ вы используете для своей разработки?
    Лично мы используем такой способ:
    1. Есть мастер ветка, туда попадает только полностью оттестированный код (обратите внимание - не в конце какого-то спринта; не после того, как на горе рак свистнет; а после прохождения всех этапов тестирования)
    2. Есть dev-ветка, ею заведует старший разработчик и по мере необходимости "подливает" туда фиче-ветки.
    3. Есть много фич-веток, в которых работают отдельно взятые личности, при этом откуда они будут брать кодовую базу для доработки - их личная трагедия. Если при слиянии возникают конфликты - есть старший разработчик, если ему что-то непонятно - есть авторы кода, которых можно позвать и спросить "какого тут происходит?".

    Лучшая формула работы, из моего личного опыта - это "думать головой", а не слепо следовать какому-то набору правил.
    Ответ написан
    Комментировать
  • Фронтенд и бекенд в разных репозиториях или в одном?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как хранить исходники вместе или раздельно по разным репозиториям? Какие плюсы и минусы каждого способа?
    Мне кажется тут вопрос не столько в "плюсах и минусах" сколько в здравом смысле. Мне не совсем понятно, что в конечном счёте означает "бекенд на python, фронтэнд на angular". Это два независимых проекта, способных работать автономно друг от друга и "общаться", например, через API, разработка которых происходит параллельно и независимо друг от друга, при этом какие-либо части проектов не пересекаются между собой (например, куски HTML/CSS/JS/etc кода не копируются в бекенд-часть)? Если так - то крайне логично разделить это на два отдельных репозитория, т.к. это по сути два разных проекта, связанных между собой весьма косвенно. Если же у Вас проекты имеют более прочную связь между собой или степень контаминации исходного кода выше той, что я описал ранее - то это один проект и дробить его на множество репозиториев, лично я смысла не вижу никакого (а то мы так дойдём до "давайте хранить HTML-код в одном репозитории, CSS в дургом, JS в третьем и т.д.).

    P.S. Обычно, такие вещи разъясняет штатный тимлид, а не коллеги по форуму :)
    Ответ написан
    5 комментариев
  • Хостинг или VPS?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Хостинг или VPS?
    Я за VPS. Но не столько из-за "ресурсов", сколько из-за того, что на VPS "больше кислорода" и полная свобода действий, а так же отсутствие "соседей по общежитию" (тут речь безусловно идёт про "грамотные" VPS, к коим относился и Beget, когда я его тестировал).

    P.S. Но обратная сторона медали (которую собственно уже озвучил оратор выше) - это необходимость администрирования всего этого дела самостоятельно, я бы не назвал это "недостатком", скорее "особенностью" (лично для меня - это плюс).
    Ответ написан
  • Как можно управлять стилями css/scss через админку Laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    А как к этому можно было бы Laravel прикрутить или наоборот к Laravel?
    Точно так же как и к обычному PHP. Зачем менять HEADER - мне пока не ясно, можете грузить любой текст с сервера, подключая его как CSS (должно по идее работать без всяких дополнительных телодвижений).

    И вообще такое практикуется?
    Обычно - нет.

    Ведь есть же куча админок, где есть возможность менять цвет фона, цвет кнопок. Как такое реализуется?
    Чаще всего, либо с помощью JavaScript'a, либо с помощью подмены CSS-файла (на главной странице) переопределяющего некоторые стили (либо совокупностью этих методов).
    Ответ написан
    3 комментария
  • Нужно ли настраивать TCP сервер для шифрование данных?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Подозреваю, что Вы что-то не поняли. Let's enctypt (если это тот сервис о котором я думаю) это сервис по выдаче сертификатов для веб-серверов, т.е. сертификатов для того, что бы Вы могли перевести ваш HTTP-протокол на HTTPS (не совсем технически верно говорю, но стараюсь объяснять как можно более понятно).

    Сам по себе протокол HTTP - это протокол, который (обычно) работает поверх протокола TCP/IP, и если я правильно понял, суть ответа приведённого Вами по ссылке (выше) - в том, что сначала устанавливается защищённое (зашифрованное) соединение, а уже потом по нему проходят запросы (т.е. HTTP-запросы поверх защищённого соединения). Сам по себе HTTP(S)-протокол при этом работает поверх TCP/IP протокола, никакие "дополнительные (TCP)-серверы" Вам настраивать не нужно.

    P.S. Если Вам нужны подробности - почитайте что-нибудь на тему "шифрование с помощью открытого и закрытого ключа" или "ассиметричное шифрование".
    Ответ написан
    Комментировать
  • Как избавиться от протокола в url адресе?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Это же элементарно делается... Например: $url = str_replace('http://', 'https://', $url);(подробности) или через preg_replace можете сделать (например, заменить все 'http://', 'https://' и 'ftp://' на "пустую строку", делается так же элементарно).
    Ответ написан
    Комментировать
  • Как сохранить временно картинку в Laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли в laravel способ сохранить картинку на определенное время?
    В самом Laravel'е - вряд ли (скорее всего - нет). По причине того, что это не очень типовая задача и к конкретному фреймворку (например, Laravel) она прямого отношения не имеет.

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

    Так же, в Redis'е есть возможность устанавливать срок жизни данных, а в Laravel есть поддержка Redis'а. Можно воспользоваться этой возможностью Redis'а, сохраняя данные там. Так же в Redis'е есть "события", которые в т.ч. могут оповестить о том, что срок жизни "таких-то" данных истёк и привязать соотв. удаление файла связанного с этими данными с диска.

    *оба этих варианта, в теории могут дать сбой и данные могут не удалиться, по этой причине раз в N часов/дней я бы рекомендовал всё-таки сканировать директорию с файлами на поиск "неудалённого мусора".

    В MySQL есть встроенный scheduler, файлы можно сохранять там и удалять по истечение срока их жизни (который можно указать при сохранении).

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

    P.S. "Что лучше" - зависит от каждого случая индивидуально, если ничего "лишнего" в проекте нет - можно использовать at + cron (для не частых проверок на наличие различного мусора, который по какой-то причине не был удалён, хотя, возможно это и не обязательно, глубоких тестов я не проводил...)
    Ответ написан
    Комментировать