• Какой способ лучше?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Смотря, что хотите сделать. Но, думаю, второй
    Ответ написан
    3 комментария
  • Как сделать такую анимацию?

    khlopchyna
    @khlopchyna
    Чувак, все на много проще, смотри где они это взяли)
    https://paveldogreat.github.io/WebGL-Fluid-Simulation/
    Ответ написан
    1 комментарий
  • Какова перспектива транслита HTML в ELF?

    DevMan
    @DevMan
    поздравляю, вы решили переизобрести браузер.
    Ответ написан
    3 комментария
  • Как экспортировать видимую часть изображения обрезанного маской?

    1) Выбираем нужный слой
    2) Переходим в Слой -> Экспортировать как
    И получаем вот:
    Контур маски и содержание слоя видно на скриншоте
    5c6bdb763e560105044299.jpeg
    Ответ написан
    1 комментарий
  • Что изучить по основам организации разработки?

    @Vitsliputsli
    Система контроля версий, ежедневно сливайте наработки и проверяйте что поломалось, декомпозиция задач, их оценка и ежедневная фиксация прогресса, если есть возможность привлекайте заказчика, чтобы он видел прогресс и мог вас скорректировать, когда пойдете не туда.
    То же самое модными словами: git, CI, task manager, декомпозиция и оценка задач, agile.
    Ответ написан
    Комментировать
  • Что изучить по основам организации разработки?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Если есть время и желание почитайте эту книгу.
    Ответ написан
    Комментировать
  • Что изучить по основам организации разработки?

    tsepen
    @tsepen
    Frontend developer
    Почитайте про Agile методику, сейчас очень популярная тема. Декомпозируйте общую задачу на мелки, заведите какой нибудь таск-трекер, вносите туда задачи и фиксируйте статус выполнения. Дальше по ходу дела сориентируетесь как оптимизировать эти процессы
    Ответ написан
    Комментировать
  • Что изучить по основам организации разработки?

    Sanes
    @Sanes
    Грабли, это хорошо.
    Нет никаких универсальных советов. Это приходит с опытом.
    Добавьте немного бюрократии к своей работе.
    Например фиксируйте на бумаге или в электронном виде все проблемы, с которыми столкнулись в плане организации работы над проектом.

    Ну или почитайте про канбан, водопады и т.п. Толку правда от этого мало.
    Ответ написан
    Комментировать
  • Как реализовать данную идею?

    LenovoId
    @LenovoId
    svg, css,js
    svg как обычно ...
    скачайте inkscape и тренеруйтесь

    примерно вот так : https://codepen.io/topicstarter/pen/VqrzLJ
    Ответ написан
    Комментировать
  • Как реализовать такой слайдер?

    mtvphnx
    @mtvphnx Автор вопроса
    Двигаю пиксели, играюсь со шрифтами
    Готовое решение:
    https://codepen.io/matvey-phoen1x/pen/pxpNPo
    Ответ написан
    Комментировать
  • Как реализовать такой слайдер?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    slick + Center Mode
    Центральному блоку задаешь нужный zoom или увеличиваешь блок в px, так же там можно поиграться с расстояниями между блоками
    Ответ написан
    Комментировать
  • Какие способы реализовать обрезанную круглую рамку?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Создаете два блока, даете им нужную рамку и поворачиваете.
    Ответ написан
    Комментировать
  • Какие способы реализовать обрезанную круглую рамку?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    https://codepen.io/wokster/pen/MzbmLO
    или как вариант все тоже самое но для псевдоэлемента :before, что бы не вращать контент
    Можно конечно и svg, но в данном случае избыточно. Голый css отлично справляться. Это если надо что-то сложнее или анимацию сложную, тогда svg.
    Ответ написан
    1 комментарий
  • Как делается отмена blur только под курсором?

    riot26
    @riot26
    <:З )~~
    Делается на canvas. Вот выдрал скрипт с примера:
    Ответ написан
    Комментировать
  • Зачем вызов функции оборачивать в другую функцию?

    Softer
    @Softer
    Чтобы без труда поменять реализацию. Например выпустят разрабы нечто вроде Math.random_ex. Оно-то лучше, но не везде работает и менять везде по коду не удобно. А так - в одном месте сменил или if поставил и готово :)
    Ответ написан
    Комментировать
  • Пожалуйста оцените мое убогое ООП?

    Stasgar
    @Stasgar
    Обученная макака
    Во-первых: начните изучать архитектурную часть программирования, изучите паттерны проектирования, изучите SOLID, DRY, KISS и остальные модные словечки, постарайтесь всё это осознать, или, на крайняк - зазубрить. Всё придет с опытом, изначально все не понимали зачем всё так сложно, но эта сложность обусловлена неисчислимыми литрами слёз и потраченных нервов, всё не просто так.

    Судя по всему это тестовое или учебное задание. От вас требовалось отоверинжинирить простую задачу. Давайте попробуем:

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

    Разобъем задачу на отдельные независимые этапы:
    1) Преобразование одной структуры данных (текстового файла) в другую (объект, понятный PHP, к примеру)
    2) Преобразование этой структуры данных в Json формат.
    Первый вопрос, который может возникнуть - почему сразу не преобразовать в json? Ответ - при расширении системы в будущем - нам понадобится вывести данные в виде массива, или в виде XML, или даже в виде готового файла Excel. Нам будет сложно дополнять логику изначального класса, ничего при этом не сломав и не затронув уже существующий функционал. Также ответом на этот вопрос может являться каждая буква из SOLID принципов, подробнее отвечу дальше, когда буду пояснять за реализацию, см. ниже

    Теперь рассмотрим эту задачу с точки зрения ООП, начнем думать не от конкретной реализации, а от интерфейса и абстракции (мы не парсим конкретный файл, мы парсим просто файл, мы не переводим его в конкретное представление json, мы переводим его просто в представление):
    Нам понадобится 2 класса - непосредственно класс, читающий файл и преобразующий его в простейший тип данных (например PHP array). Второй класс - преобразователь простейшего типа данных парсера в какой-то определенный тип:
    1. LogFileReaded implements/extends FileReaderContract(интерфейс, возможно абстрактный класс, если понадобится предустановленная логика)

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

    2. JsonPresenter implements/extends DataTypePresenterContract

      Абстракция содержит контракт на метод output(), а в конструкторе принимются исходные данные. В конкретной реализации JsonPresenter в output() будет банальный json_encode() (да, это нормально, нет, класс не лишний и нет, json_encode() нельзя пихать в сам парсер) А теперь к вопросу - почему не следует просто запихать это всё в парсер и вместо массива отдать json: в будущем, когда система будет расширяться - нам понадобится представить данные в виде XML - что тогда будем делать - переписывать весь код парсера ради добавления switch case "json" и т.д.? А если что-то сломается во всей системе? А если вариантов представления станет настолько много, что файл будет просто не читаем? А при данном подходе достаточно будет просто написать новый класс XMLPresenter, или даже ExcelPresenter, который на выводе не строку будет выдавать, а целый файл (опустим типизацию output пока)). Также этот класс можно реализовать в виде декоратора (паттерн), да и много еще как.



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

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

    P.S. В данной реализации опускаются и упрощаются некоторые моменты для понятности
    Ответ написан
    21 комментарий
  • Почему этот цикл намертво вешает вкладку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что условие e.attributes.length > 0 у вас всегда истинно и цикл никогда не завершается.
    Ответ написан
    2 комментария
  • Какой рейтинг (codeforces) у вебмастеров и разработчиков ААА игр?

    GavriKos
    @GavriKos
    0. Разработчики ААА игр херячат код, а не лазят по сайтам с ником "I_love_Tanya_Romanova".
    Ответ написан
    1 комментарий