• Как подружить Windows 10 + Docker + PhpStorm + Xdebug?

    denisbondar
    @denisbondar
    Python, PHP developer
    Добрый день.
    Я у себя в блоге недавно в деталях описал весь этот процесс. Работает гарантировано.
    Добро пожаловать!

    https://blog.denisbondar.com/post/phpstorm_docker_...
    Ответ написан
    5 комментариев
  • Реальная заработная плата frontend/backend разработчика в Москве?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    вполне оправданная, сотку тут все дают, и больше дают (и есть, где сильно больше) и не тяжело такую работу найти

    но конторы разные:
    - требуют пахать за 10
    - требуют многое, а пилить Г в итоге дают
    - готовы и давать деньги и условия и делиться знаниями
    - готовы обещать, но не давать

    рынок огромный, толковых разрабов тяжело найти... хорошие компании или проект -- аналогично тяжело,

    ну и никто с джунами возиться не хочет :)
    Ответ написан
    15 комментариев
  • Как организовать процесс web-разработки?

    @karminski
    Senior PHP /React.js developer
    1. У вас должно быть два сервера: один для разработки (локальный), второй боевой (vds).
    2. Установите любую IDE, например от JetBrains. В ней настройте деплой.
    3. Как только на локальном сервере внесли новый код, убедились, что он работает правильно, нажимаете кнопку деплоя в IDE.
    4. Вы у цели.

    Это сценарий для новичков. Далее по мере вашего развития вы сами дойдете и до докера, и до много чего ещё интересного. Удачи.
    Ответ написан
    Комментировать
  • Как оптимизировать код на чистом JS?

    RAX7
    @RAX7
    <body>
      <section class="video-block">
        <div class="information">
          <select id="select">
            <option disabled selected>Выберите язык</option>
            <option>Английский язык</option>
          </select>
          <a data-text="Video information:">Информация о видео:</a>
          <a data-text="Title: All For The Sake Of Hype">Название: Всё Ради Хайпа</a>
          <a data-text="№1 in YouTube trends">№1 в трендах YouTube</a>
          <a data-text="Number of views: 1.5 million">Количество просмотров: 1.5млн</a>
          <a data-text="Number of likes: 10 chiliad">Количество лайков: 10тыч</a>
        </div>
        <figure>
          <video id="mesto" class="vidos nety" controls="controls" copreload="auto" autoplay="true" loop="true" muted="muted">
            <source src="src/video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
          </video>
        </figure>
      </section>
      <section class="button-block">
        <div id="button" class="button">
          <a id="buttonText" data-text="Watch video" href="#">Смотреть видео</a>
        </div>
      </section>
      <script src="js/script.js"></script>
    </body>

    window.onload = function() {
      let a = document.getElementById('button');
      let vidos = document.getElementById('mesto');
      let b = document.getElementById('select').options.selectedIndex;
      let texts = document.querySelectorAll('[data-text]');
      let textButton = document.getElementById('buttonText');
    
      let video = function() {
        vidos.classList.remove("nety");
        if (b == 0) {
          texts.forEach(el => el.textContent = el.dataset.text);
          textButton.textContent = textButton.dataset.text;
        };
      };
      a.onclick = video;
    }
    Ответ написан
    Комментировать
  • Перенос сайта с Ucoz - насколько мощный сервер нужен?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    до 300 тысяч страниц в день
    видимо имеется в виду в сутки...

    оценочно:
    300к / 18 активных часов = 16 666 запросов(примерно 17к),
    17к / (60ч*60мин) = 5 рпс,
    то есть реально в пике будет около 5-7 реквестов в секунду, ну может 15 в особо жесткие пики.
    Средний хостинг с нормальным движком (Yii, Lara, Symphony) и не кривой реализацией легко потянет. Поделка с укоза вообще не представляю как работать будет.

    быстрый SSD для бд и хотя бы пара ТБ для хранилища.

    Возможно хорошим решением будет отделить хостинг и хранилище, например хранение отдать на амазон.
    Ответ написан
    5 комментариев
  • Какие используете единицы измерения при верстке?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Какие используете единицы измерения при верстке?

    Подходящие!
    Для решения разных задач используются разные единицы измерения

    примеры

    1. Размер шрифта удобно писать в px, em и rem.
    Если он фиксированный, то это px.
    Если зависит от настроек пользователя, то rem. Для html задают font-size: 62.5%, для body font-size: 1.6rem в итоге для стандартных настроек получают изначальные 16px, но для удобства расчетов в этом случае 1rem=10px.
    Если размер шрифта зависит от размера шрифта родителя, то используют em, например, заголовок должен быть в 1.2 раза крупнее текста. h1{font-size: 1.2em}
    А может быть мне нужен адаптивный шрифт, чтобы на всех экранах слово занимало всю ширину, тогда vw vh

    2. Границы. Обычно толщина границ не зависит от шрифта или размеров блоков, значит, px
    border: 1px

    3. Блоки.
    У блоков могут быть разные зависимости.
    Например, четверть родителя -> проценты %
    Или фиксированная -> px
    Или зависит от ширины/высоты вьюпорта -> vw vh
    Или зависит от шрифта -> ch (Ширина символа 0 в шрифте текущего элемента.)

    4. Отступы.
    Могут зависеть от шрифта, могут быть % от ширины блока или фиксированными в px.

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

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не оттуда пляшете.

    Давайте я вам как девочка девочке всё объясню. На примере джинсов.
    Есть такая штука мода. Сейчас в обтяжку, раньше клеш или широченные. Но при этом всегда остаются люди предпочитающие классику или консерваторы, которые предпочитают даже слегка устаревшую классику.

    Так вот, с сайтами аналогичная история.
    10 лет назад считалось, что шрифт 14px это гигантомания и использовали 10 или 12. Между строчками крошечные отступы. Особо нерадивые даже между абзацами пытались не делать пустых строк.

    Есть мода и восприятие пользователем современных сайтов. То, как хочется видеть именно сейчас. Изменяются даже пропорции и зависимости.
    96 это точно такое же красивое число как 100. Это 16*6. А 16 это стандартный размер шрифта основных браузеров.

    Кроме этого есть аспекты адаптивности.
    И правильно не ширина кнопки равна 100 или 96px, а ширина кнопки это ширина текста плюс отступы. И хорошо бы, чтобы эти отступы были пропорциональны размеру шрифта, а не кратны 5px. Вы поставите отступ четко 20px, а пользователь поставит в настройках браузера шрифт 150%. И получится куцая кнопка с некрасивыми маленькими отступами.
    При этом не все элементы должны быть кратны размеру шрифта, какие-то имеют другие зависимости.

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

    Поэтому, хороший дизайнер либо сопровождает работу верстальщика, либо пишет сопроводительное письмо с указанием зависимостей, либо и то и другое.

    И да, дизайнер может четко сказать, что справа отступ 19px, а слева 17, потому что визуально (например, из-за особенностей шрифта) получается ровно. Если это проблема для верстальщика, то не надо работать с таким верстальщиком.
    Верно и в обратную сторону, если дизайнер нагородил какую-то невменяемую конструкцию из-за которой прибавляется лишняя 1000 строчек кода, то имеет смысл обсудить целесообразность ее использования с самим дизайнером и заказчиком.

    Про вклад заказчиков в дизайн, я думаю, вы и сами знаете. У них особенное чувство прекрасного, хорошо, если просто консерватор из первого абзаца.
    Ответ написан
    6 комментариев
  • Есть ли какие-то best practices как организовывать файлы веб-проекта с докером?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Содержимое репы:
    • app/
    • public/
    • config/
    • ...
    • Dockerfile
    • docker-compose.yml
    • docker/ - для конфигов сервисов в Docker Compose

    В докерфайле прописываете сборку проекта и монтирование билда через multi-stage build, дабы не тащить npm/php-composer и прочее в образ, который будете деплоить. Пример Dockerfile:
    FROM: build_image as builder
    COPY . /src/app
    CD /src/app
    RUN "build --output /src/app/build"
    
    FROM: deploy_image
    COPY --from=builder /src/app/build /app
    WORKDIR /app
    //дальше запуск приложения как обычно
    Ответ написан
    3 комментария
  • Как вы находите идеи домашних проектов?

    search
    @search
    мама говорит что я особенный
    На работе.

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

    Проделывал такой финт несколько раз весьма успешно. Кстати когда начинаешь опенсоурсить то это обычно порождает побочные проекты и так лавинообразно. Именно так появляются люди с сотнями собственных проектов на гихабе.
    Ответ написан
    Комментировать
  • Почему не работает функция md5_file(); в php на хостинге?

    SagePtr
    @SagePtr
    Еда - это святое
    Самый банальный вариант - путь к файлу указываете неправильно. Может быть, не учитываете регистр имени файла (который в других ОС кроме винды - имеет значение)
    Ответ написан
    Комментировать
  • Как правильно использовать сервисы и репозитории в web приложении?

    @kuftachev
    Yii2 и Laravel используют Active Record вместо Entity и Repository, то есть описание данных и доступ к ним.

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

    Это я к тому, что в архитектуре больше философии, чем инженерии.

    В общем, не заморачивайтесь. Если у Вас просто CRUD, то нет смысла плодить кучу абстракций и нужно использовать Active Record и запросы через него в контроллере.

    Если запросы сложнее и это уже связано с доменной областью, то пишем в Active Query у Yii2 и методы под каждую ситуацию, чтобы при замене логики не искать по всему коду. Но это а том случае, если именно приложение, а не конкретного action.

    Если какая-то простая логика, типа сложить два числа, то можно прямо в самом Active Record, если уже что-то сложнее, то выноситься в уровень Service про который Вы и спрашивали. Тогда он будет запрашивать у Active Record, а Controller будет работать с Service.

    Repository даёт абстракцию над хранилищем, но я бы не использовал его с Yii2. Тоже очень неоднозначная штука, то что в Java почему-то называют Repository, на самом деле является просто DAO, при этом в .Net используют настоящие Repository.

    Главное правило, если кода много и начинаете в нем теряться, нужно думать о том, как его разделить. Остальное с опытом!
    Ответ написан
    Комментировать
  • С чего начать laravel?

    @Kostik_1993
    Fullstack Web Developer | PHP | Laravel | Vue.js
    С документации. Laracast для видео уроков. Остальное это 99% шлака. Качество будет зависеть от знания вами языка и паттернов. Никакие уроки из вас не е сделают программиста. Как труд сделал из обезьяны человека, так и из кодера программиста может сделать только он.
    Ответ написан
    4 комментария
  • Что написать для тренировки на js с нуля?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    Из того, что часто может пригодится в вебе

    • Паралакс
    • слайдер
    • генерацию таблиц из js
    • сортировку таблиц
    • общение с сервером
    • Плеер (аудио/видео)
    • Работа со временем (momentjs)
    • Подгрузка постов при скроле
    • Движение блоков при скроле
    • Пагинация
    • Модалка
    • Взаимодействие с изображениями (фильтр, обрезка, ...)
    • Кастомные селекты, датапикеры
    • Табы


    + можешь поискать топ сайтов и попробовать повторить интересные штуки из них
    + jQuery
    + фрейморки, например Vue
    + node js
    Ответ написан
    Комментировать
  • Как попасть на хабр?

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

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

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Комментировать можно и без статей. Это плохо тем, что карму можно поднять только до определенного уровня (вроде, до +4), а при комментировании карму чаще сливают, чем поднимают.
    Получить полноценный акк можно от НЛО (не подходит по вопросу), и от любого участника, у которого есть инвайт. Инвайты дают за статьи с рейтингом 50+(если ничего не поменялось). Также у платящих компаний есть инвайты для сотрудников (в зависимости от того, сколько платят).
    Ответ написан
    4 комментария
  • Как попасть на хабр?

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

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вопрос из серии пальцем в небо.
    Не меряется нагрузка в посетителях. Она меряется в rps и *bit/s. Также нужно знать прожорливость вашего ПО к io+ram+cpu иногда еще и gpu.
    Количество серверов, способы распределения нагрузки, всякие репликации бд, распределения между ДЦ подбираются по конкретный проект.
    Не бывает в природе такого, что вот так хренак и у вас откуда не возьмись 1кк активных юзеров, ну разве что событийные проекты типа прямых трансляций. Именно по этому рекомендую начать с малого, а дальше оптимизировать и распределять нагрузку между серверами там, где это необходимо. Например, у вас фото сток: cdn - это то, что вам потребуется. У вас месенджер - стоит выделить кучку серверов на поддержание сокетов с пользователями + хорошо прработать историю сообщений.
    Ответ написан
    1 комментарий
  • Какой task manager вы используете?

    @Sing303
    Идеального решения, чтобы все было в 1 месте, да ещё и с таким же функционалом я не нашёл

    Мой вариант:
    Электронная почта - GMail (ежемесячный полный бекап)
    Распределённый и быстрый доступ к личным файлам - Google Drive (постоянная синхронизация)
    Хранение кода - GitLab (постоянная синхронизация)
    Сервис личных быстрых заметок - Google Keep (ежемесячный полный бекап)
    Сервис личных долгосрочных заметок - Google Docs (ежемесячный полный бекап)
    Список дел - Todoist (ежемесячный полный бекап)
    MindMap - XMind (Файлы на Google Drive. Постоянная синхронизация)

    P.S.
    Больших личных проектов нет, но, скорее всего, использовал бы Trello (пока хватает todoist)
    Evernote заменил на Google Keep + Google Docs, т.к. удобнее когда все в 1 месте, ну и меньше ограничений.
    Todolist показался субъективно удобнее аналогов (использую всего несколько видов проектов DAY, LATER, ROUTINE, CONTROL, MAYBE, PROJECTS)
    Ответ написан
    3 комментария
  • Как определить, что загрузка через XMLHttpRequest не идёт?

    uiworks
    @uiworks
    xhr.timeout = 30000; 
    xhr.ontimeout = function() {
      //обработка
    }
    Ответ написан
    Комментировать