Задать вопрос
  • Чем webpack лучше gulp/grunt?

    Webpack - это система сборки с массой возможностей. В частности, он анализирует JS-код (а также CSS или другой, через лоадеры), это даёт ему superpowers.

    Gulp/grunt - это общая система для организации задач, которая сама по себе сборку не поддерживает, но её можно на ней написать, с помощью плагинов. При этом анализа кода, скорее всего, не будет, а значит ряд продвинутых фич отпадут.

    То есть, это две разные вещи. В качестве одной из задач на gulp/grunt вполне может быть сборка webpack, так обычно и делают.

    Простую сборку вполне можно написать и на gulp/grunt напрямую. А если посложнее или просто хочется иметь задел "на будущее", то можно воспользоваться специальным инструментом (Webpack).

    P.S. У меня когда-то были и gulp task'и сборщики и browserify, но уже давно их место плотненько занял Webpack.
    Ответ написан
    18 комментариев
  • Сложно ли написать свой блог на nodejs?

    Кстати, рекомендованный выше сайт https://learn.javascript.ru как раз написан на Node.JS (точнее, io.js). Никаких сложностей нет, но, как и всегда в реальных проектах - есть много-много деталей.
    Ответ написан
    3 комментария
  • Какие есть руководства по верстке?

    @Sun_Day
    Препроцессор типа sass, бэм(если нужен), семантическая верстка, адаптивы всякие.

    руководства по верстке


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

    Если просто нужен принцип организации css, то пользуйтесь каким-нибудь sass'ом. Если порядок в html, то изучайте семантическую верстку.
    Ответ написан
    Комментировать
  • Как сделать плавный переход градиента?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Градиенты нельзя анимировать в рамках CSS "в лоб". Но можно сделать несколько элементов с разными градиентами друг над другом и менять им прозрачность:

    Ответ написан
    4 комментария
  • Стоит ли использовать везде GraphQL?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    Если Вы не пишите внешнее или публичное API, то GraphQL и REST - будут крайне отвратительным выбором. Они ограничивают Вас в низкоуровневом CRUD, создавая больше проблем, чем решают, а главное затрудняют выражать Ваше API в терминах доменной области.
    Посмотрите в сторону RPC протоколов, и посмотрите как элегантно на них можно описать конкретно Ваш домен. Да и выбор тут огромен: Apache Thrift, gRPC, JSON-RPC, а так же мой любимый, но почему-то малоизвестный в русскоязычном интернете E/A/?T (расшифровывается как entity/action/optional-target)
    Ответ написан
    4 комментария
  • В чем превосходство Typescript?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Как бы это странно не звучало, но одно из главных преимуществ TypeScript - это ускорение разработки в несколько раз. Да, когда еще ничего нет - разработка незначительно замедлится, так как помимо логики нужно описать еще и типы. Но это только в начале. И это не только возможность писать большую часть кода с помощью автодополнения. Поддержка существующего кода занимает в десятки раз больше времени, чем его начальное написание. Стоит ли вложить несколько лишних часов на старте, чтоб сэкономить в последствии месяцы? Как по мне стоит.

    Еще одним огромным плюсом является возможность проектировать на типах. Познав дзен TypeScript'а я перестал пользоваться UML, так как типы дают мне ту же наглядность, но при этом еще и сокращают время, так как типы - это уже код. Ну и источник правды остается один. Бизнес требования выраженные в типах не дают отклонится от них при написании логики, исключая возможность неправильной трактовки задачи. Перенеся задачу в типы, я могу обсудить ее с коллегами и исправить неточности еще до написания кода, что опять же сильно экономит время.

    Ну и отвчечу на некоторые Ваши сомнения:
    TSLint в VSCode прям жутко тугой
    TSLint официально deprecated, вместо него стоит использовать плагин к eslint, заодно можете мой конфиг попробовать.

    Типы? Есть JSDOC
    JSDoc в плане типов не умеет и 10% того, что умеет TypeScript. Кроме того, никто в здравом уме не пишет JSDoc на приватную логику, а значит проверки типов там не будет. JSDoc не гарантирует корректность рефакторинга, а вот благодаря TypeScript я, опять таки, точно не забуду обновить JSDoc.

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

    Поддержка браузерами скомпилированного кода? Да какбы почти весь JS имеет поддержку 95%+, тот же Babel уже забыл когда использовал.
    Вообще это не основная задача компилятора TypeScript, а опциональная возможность. И babel + preset-env с ней справляются гораздо лучше. И никто не мешает использовать их вместе. А еще думаю вопрос времени, когда кто-то напишет оптимизатор кода использующий информацию о типах из TS.

    Примерно в каждой второй есть инстансы, на которые смотришь - и чешешь репу - а как называется тип этой переменной в @types/?
    import {someObject} from 'some-library';
    
    type TypeFromValue = typeof someObject;
    const valueCopy: TypeFromValue = {
        ...someObject,
        type: 'overrides',
        with: 'type check',
    };
    и кстати, вот пример того что JSDoc типы не умеют.

    //@ts-check
    и почти везде останется бесполезный any.

    P.S. удачи такие типы на JSDoc описывать
    P.P.S. Еще прелести современного TypeScript невозможные у...
    Ответ написан
    8 комментариев
  • Как взять первый заказ на Upwork?

    @vism
    Надо просто быть профессионалом, честным и ответственным.

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

    Правильные вопросы:
    -как пройти верификацию
    -как писать кавер леттер
    -как заполнить профиль
    Ответ написан
    Комментировать
  • Плохо ли то, что я перепрыгиваю с направлений?

    IonDen
    @IonDen Куратор тега IT-образование
    JavaScript developer. IonDen.com
    Обычное юношеское метание. Ничего плохого в этом нет.

    Теперь пора обрести следующий навык - усидчивость. Для этого возьмите тот технологический стек что вы изучаете сейчас (или какой вам больше нравится) и напишите на нем большой проект. Это может быть open-source библиотека, app в гугл. сторе или что-то еще.

    Чистое программирование в отрыве от реальных задач представлят разве что спортивный интерес. А вы ведь хотите получить какую-то профессию правильно?
    Ответ написан
    Комментировать
  • Как реализовать распознавание кривых на canvas?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Готовых решений я не знаю, но есть следующие идеи.

    Во-первых, научимся аппроксимировать одной кривой. Первая и четвертая точки нам известны - это первый и последний пиксель. координаты двух других опорных точек кривой Безье - это четыре неизвестных.

    Составим функцию ошибки f(x1, y1, x2, y2) = (X(i/n)-x_i)^2+(Y(i/n)-y_i)^2. Тут x_i, y_i - координаты i-ого пикселя в нарисованной кривой, пронумерованные от 0 до n, X(t), Y(t) - координаты точки на кривой Безье - линейные комбинации x1, x2 и y1, y2 с известными вычисляемыми от t коэффициентами. Это фактически сумма квадратов расстояний от каждого пикселя до неизвестной кривой. Ее можно минимизировать подобно методу наименьших квадратов - считайте производную по всем переменным, приравнивайте к 0. Получите 4 неизвестные и 4 линейных уравнения. Можно вообще на бумажке руками методом Краммера решить, а можно алгоритмом Гаусса подсчитать.

    Тут есть допущение, что i-ый пиксель будет аппроксимироваться t=i/n точкой на кривой. Вообще говоря, это не гарантированно, но в качестве некой грубой меры оптимальности подойдет. Может вообще отлично работать будет и так, я не знаю. Поэксперементируйте. Но еще можно потом честно искать ближайшую точку на кривой к заданному пикселю как оптимум полинома 6-ей степени от t, когда все опорные точки кривой фиксированы. Тут надо брать производную, находить ее нули и среди них брать лучшее t. Чтобы найти нули полинома 5-ой степени можно рекурсивно брать производную, находить нули полинома меньшей степени, и потом на каждом монотонном отрезке искать пересечение с OX бинарным поиском. Или использовать метод Ньютона. Это давно решенная задача - должно быть куча готовых решений.

    Когда вы так научились считать расстояние от кучки пикселей до кривой Безье, можно локально градиентным спуском по 4-м координатам x1, x2, y1, y2 улучшать эту правильную метрику с оптимума полученного грубой метрикой.

    Вот мы и умеем аппроксимировать кучку пикселей одной кривой. Заодно мы получаем метрику близости кривой к пикселям. Но надо сделать ее не зависящей от длины - поэтому складывайте квадраты расстояний и делите на количество пикселей.

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

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет выгоды, поэтому мало кто джунов нанимает и выращивает. Редкие исключения можно разделить на три группы:
    1. Галеры, выжимающие из джунов все соки за счёт того, что для джуна это первое место работы и он ещё не знает, как правильно строятся отношения с работодателем.
    2. Компании с узкоспецифичными технологиями, которые не могут нанять специалиста на рынке труда, но могут быть уверены, что выращенный не убежит.
    3. Огромные корпорации, которые могут позволить себе делать вложение в развитие рынка труда.
    Ответ написан
    Комментировать
  • Какая выгода компаниям "растить" джуниоров внутри себя?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Там, куда мидлы не пойдут:
    - говно-проекты
    - всякие битриксы
    - дикое легаси
    - низкие зп
    - там где на самом деле не очень сложные технологии и уровень джунов с парой месяцев вникания вполне годится, то есть компании могут утилизировать именно такой уровень
    - рыщут среди "джунов" тех, которые мидлы, просто этого не знают

    Не везде факторы работают осознанно (то есть это не заговор и не злодеи), а просто примерно в компании понимают, что эти джуны — то, что им почему-то и нужно или даже единственное доступное
    Ответ написан
    2 комментария
  • Стоит ли писать статью о разработке собственного программного решения в области pro audio?

    @rPman
    Какие проблемы, пиши в черновик, по окончанию проекта или доведению до какого-то промежуточного результата запустишь серию публикация 'как я провел лето', гадать стоит ли писать или не стоит - глупо, если хочется пиши!

    Если цель проекта не просто собрать лайки, а получить фидбек - то однозначно писать стоит. И если получишь отрицательный отклик - это будет тоже полезный результат, стоит рассматривать это именно в таком ключе.
    Ответ написан
    Комментировать
  • Запутался. Куда дальше двигаться?

    @balberbro
    1) Пока ты ноешь и сомневаешься, кто-то делает свои лендинг-пейдж на html/css/js.
    2) Пока ты ноешь и сомневаешься, кто-то учит react/angular или vue
    3) Пока ты ноешь и сомневаешься, кто-то учит основы php/python/java/net (на выбор) и делает полноценные сайты.
    4) Пока ты ноешь и сомневаешься, кто-то получает реальный опыт и набивает руку на своих проектах
    5) Пока ты ноешь и сомневаешься, кто-то находит работу и начинает получать адекватные деньги.

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

    @cloudz
    на js
    location.reload();
    Ответ написан
    Комментировать
  • Как узнать свой уровень программирования (Senior Middle Junior)?

    zo0m
    @zo0m
    full stack developer
    Раз не можете определиться со статусом то скорее всего вы джун, либо сидите в глубоком фрилансе :), но тогда все равно скорее джун.
    Если больше 2х лет в офисе штаны протирали, может и можете себе мидла прицепить).

    Но вообще, какая разница, все зависит от того куда вы идете. В веб-студиях я слышал есть всякие Senior Wordpress Developer, и вроде ж синиор))

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    В моём блоге:
    https://site coder.blogspot.com/2015/12/cost-calculation-freelance-work-and-formula-of-motivation.html

    https://site coder.blogspot.com/2017/05/website-template-price-calculation.html

    (без пробелов!)

    есть подробные формулы с расчётами по производительности и оплаты. Это наиболее близкие к производительности опытного программиста.
    Ответ написан
    5 комментариев
  • Что указывать в своем первом резюме на позицию разработчика?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Указывать набор теоретических знаний, которые можете подтвердить, и ссылку на пет-проект.
    Ответ написан
    Комментировать