• Синхронный и асинхронный код, почему так называется?

    maxlanser
    @maxlanser
    Front End Developer
    меня тоже очень долго мучал и путал это вопрос в понимании самого механизма синхронного и асинхронного кода... у меня было понятие синхронного и асинхронного точно такое как и у автора вопроса.
    И спасибо ответившему за пояснение, сейчас прям все стало на свои места)))
    Значит дейсивительно сам термин синхронного а синхронного сильно путает и наверно надо было как то по-другому дать этим понятиям определения... Неужели до сих пор такой вопрос не подымался в массах??
    Ответ написан
    Комментировать
  • Синхронный и асинхронный код, почему так называется?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    А сам код синхронным не называется, это его по ошибке или для упрощения так называют. Синхронным и асинхронным называется только API ввода-вывода, т.е. операции, прерывающие исполнение кода и требующие от системы обратиться к внешнему устройству, работающему не синхронно с центральным процессором. Операции ввода-выдвода, каковые есть: работа с дисками, портами, контроллерами, периферийными устройствами, как клава, мыша, тачскрин, разные датчики, вебкамера, сетевые карты, блютузы и другие радиомодули, принтеры, видеокарты и прочее. Все они получают задание от программы, и исполняют его отдельно, своими мощностями. Потом внешние устройства присылают программе сигнал о статусе исполнения и, возможно, полученные данные. Программа все это время может ждать (если у нее синхронное API, т.е. блокирующее) или что-то делать (если асинхронное, т.е. не блокирующее). Если программа ждет, не переходит к выполнению следующего действия, то это синхронный ввод-вывод, потому, что осуществляется процесс синхронизации программы с внешним устройством. Внешне устройство посылает прерывание, которое обрабатывает операционная система и через несколько слоев драйверов оно попадает в программу, обычно в виде колбека или события. Если программа ждала, то вызов API не завершался, она все время слушала, когда придет событие о завершении операции ввода вывода, а получив его API отдает ответ и управление переходит к следующей команде, что и называется, синхронизацией с периферийным устройством. Если программа не ждала, то вызов API сразу завершается и не блокирует поток выполнения программ, это называется асинхронным API, потому, что процесс синхронизации не происходит явно, а ответы возвращаются через события.
    Ответ написан
    3 комментария
  • Стоит ли применять JQuery начинающему верстальщику?

    @Rheinmetall
    Могу сморозить глупость
    Советую пройти курсы JS и jQuery на codecademy.com Проходятся быстро и при этом дают какое-то базовое понимание происходящего. Язык правда английский, но я с моим плохим пониманием английского пользовался кнопкой "перевести страницу" (в гугл хроме) и этого в принципе вполне хватало для понимания. Конечно я не стал джедаем jQuery, но если до прохождения меня вообще пугало само слово jQuery, то сейчас я могу делать какие-то несложные вещи, вроде разворачивающихся меню с подпунктами, навешивания класов на клик, скролл и т.д. Естественно для людей которые на этом собаку съели это может казаться смехотворным, но самое главное что после этих курсов я вообще могу сделать хоть что-то, а до них не мог. То есть начало положено и путь обозначен, дальше остается идти по нему дальше. Удачи
    Ответ написан
    Комментировать
  • Стоит ли применять JQuery начинающему верстальщику?

    Если возникла такая потребность - то стоит, у самого вышло именно так. Нет, конечно какой-то минимум я могу написать на javascript, но когда я увидел как там производится работа с DOM объектами, я понял что jQuery для человека, который вообще в этом не смыслит - очень хорошая вещь.

    Реально же вопрос должен становиться не "использовать ли мне jq?", а "как я буду решать поставленные передо мной задачи?"

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

    @elov4anin
    Frontend developer
    1 Ипользуете БЕМ блоки - заметно ускорят верстку, благодаре реиспользуемости.
    2 Разберитесь с перепроцессорами CSS - less, sass, stylus. Я остановился на пока на стайлус. Миксины, работа с переменными и цветами. чем то напомнит программирование и так же поможет в скорости верстки и поддержке проектов.
    3. Освойте emmet или pug(jade). Тут дело вкуса, тоже ускорят процесс верстки.
    4. Используйет технику помидоро - поработали 20-30 минут - перерыв 5-10. Так раза 2 а потом можно и большой. Но это не каждому заходит, но помогает сконцетрироваться на задаче.
    5. Сброщики проектов gulp/grunt/webpack - автоматизируют рутину. Тут нет предела для творчества
    6. Изучите JS, - будет не скучно))))
    Ответ написан
    1 комментарий
  • Как создать паралльный контур в corel?

    @AlexandrKom Автор вопроса
    Ctrl+F9
    но потом придётся делать дополнительные действия, разгруппировывать стиль и превращать в кривые
    Ответ написан
    1 комментарий
  • Как соединить 2 контура в Adobe Illustrator?

    @Jenish
    b0df661262604517af0b8767101ec589.jpg
    1 - это просто два контура
    2 - это составной контур
    3 - это слитые контуры

    Полагаю, это у вас составной контур и надо ее разбить для начала. Для этого надо правой кнопкой нажать на объект и выбрать пункт Release Compound Path или SHIFT+CTRL+ALT+8, выровнять как вам надо и нажать Unite в панели Pathfinder. Подробнее тут
    Чтобы объекты получались "стык в стык" пользуйтесь быстрыми направляющими (smart guides) и правильно настройте привязку объектов (snap to), которая тем точнее работает, чем больше зум :)
    Ответ написан
    Комментировать
  • Зачем продолжают изучать Corel draw? Он ещё жив?

    @tamsq
    Во первых равных программ для работы с печатной продукцией, редактированию и предпечатной подготовке дизайн-макетов большого размера (пример: 6х3 м, 3х12 м, 3х20 м) Корелу нет. Благодаря открытому рабочему столу размером 40х40 метров! вы можете легко редактировать и выводить на печать к примеру баннера огромного размера в масштабе 1 к 1. Т.е Corel Draw идеально заточен под печатку. Попробуйте открыть баннер 6х3 в масштабе 1к1 в Илюстраторе - он у вас просто обкашляется и как помниться не откроет в полном масштабе. А Corel Draw идеально оптимизирован для таких задач. Просто летаете по рабочему пространству, без ограничений с монтажными областями. Во вторых Corel Draw - такой же мощный векторный редактор как и Illustrator и с ним вы можете решать идентичные задачи по созданию иллюстраций, логотипов, маркетинг-китов и тому подобного. В третьих - исходя из первого пункта - 90% плоттеров совместимы с Corel Draw. Да Корел не так стабилен как Иллюстратор, но и Иллюстратор заточен именно для создания векторных иллюстраций и у него немного другая специфика (хотя кстати Affinity Designer во многом превосходит возможности Иллюстратора по созданию векторных изображений). Я считаю, что в принципе сравнить Illustrator и Corel вообще некорректно, это хоть и очень похожие программы, но немного для разных задач. Это как сравнивать бульдозер и грейдер, говоря о том, что лучше. Практически все рекламно-производственные компании работают только на Corel Draw. А рекламное производство не вымрет никогда. И я описал только малую часть работ, что может этот "комбайн" по имени Corel. Не говоря уже о проектировании и создании технических чертежей.) (Corel Designer не в счет) Лично я всегда работаю в связке Illustrator + Corel Draw + Photoshop, потому-что каждая прога решают определенные задачи намного лучше и быстрее.
    Ответ написан
    Комментировать
  • В чем суть SPA?

    @marsdenden
    Суть в том, что вместо перехода по ссылкам и загрузки новой страницы при каждом клике по ссылке происходит подгрузка некоторых данных через тот же axios во vue. И тот же vue отвечает за отображение этих данных. То есть SPA - это самое что ни на есть разделение на бэкенд и фронтенд - серверную и клиентскую часть. Ничего сложного.
    SPA - single page application, то есть одностраничное приложение. Загрузка страницы происходит один раз, а дальше - запрос-ответ. Благодаря этой схеме при первоначальной загрузке грузятся все стили и скрипты (которые уже содержат шаблоны в себе) и дальнейший обмен с сервером получается достаточно экономичным с точки зрения трафика, что положительно влияет на загрузку сервера и скорость получения данных.
    Ответ написан
    7 комментариев
  • В чем суть SPA?

    Stalker_RED
    @Stalker_RED
    Gmail видел? Там нажимаешь всякие кнопочки, менюшки, письма читаешь, пишешь, отправляешь... но страница при этом не перезагружается. Вся движуха на одной странице.

    Или вот google docs, гуглокарта (да и яндексовая тоже), яндекс.музыка и куча всего другого.
    Ответ написан
    Комментировать
  • Как раскодировать ссылку?

    В консоли браузера функция atob
    atob("aHR0cDovL3J1dHJhY2tlci5vcmcvZm9ydW0vdmlld3RvcGljLnBocD90PTUzMTcwMzY")

    выдаёт http://rutracker.org/forum/viewtopic.php?t=5317036
    Ответ написан
    Комментировать
  • Автоматический очиститель форматирования в буфере обмена?

    DevMan
    @DevMan
    Ответ написан
    Комментировать
  • Чем отличается библиотека от фреймворка?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Чего только не напишут )))

    Фреймворк это тоже библиотека, но не простая, а задающая развитие проекта при его использовании.

    Поясню примером:

    class CarInterface {
    public:
       virtual ~CarInterface() = 0 {}
       
       virtual void go() = 0;
    };
    
    int go(const CarInterface& car);


    Смотря на этот кусок мы видим ДВУХ программистов: программист-разработчик и программист-пользователь. Первый это автор фреймворка и он задумал, что его интерфейс автомобиля будет иметь определенные варианты использования и характеристики, но он не может знать какие именно? Поэтому он ОБЯЗЫВАЕТ программиста пользователя реализовать конкретный автомобиль.

    Фрейморк это библиотека решающая определенный круг задач и при этом направляющая программиста пользователя в строго определенном направлении при решении задачи!

    Другой пример, библиотека Flask: Для того , чтобы обработать HTTP-запрос POST-методом я обязан применять функцию route с аргументом methods в котором указать список содержащий строку 'POST'. Код:

    @app.route('/executables/<id>', methods=['POST'])
    def get_executables(id):
      pass


    можеть мне удобнее не methods, http_verbs, но автор ЗАСТАВИЛ меня передавать с названием methods.

    Фрейморк заставляет не просто так, а с целью получения однообразности кода.
    Ответ написан
  • Чем отличается библиотека от фреймворка?

    @President42
    Библиотека просто даёт Вам набор функций, которые Вы можете использовать когда и где хотите.
    Фреймворк обычно жёстко контролирует структуру приложения, ограничивает Ваши возможности (в том числе, и выстрелить себе в ногу).
    Ответ написан
  • Есть ли польза от codewars?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Когда решил что основным ЯП у меня теперь будет JS, надо было переформатировать мозги, для этого сотню-другую часов интенсивно что-то кодить, не важно что, важно чтобы на JS и в хорошем темпе.

    Тут, как раз, Кодварс подвернулся. Прокачался до 2.5 qyu и подзабросил, но эффект получил должный, теперь на php кодить не так комфортно (иногда совсем не так).

    Чужие решения смотреть тоже интересно, иногда думаешь вот ведь круто, но в прод я бы такое не выпустил.

    Сами алгоритмы с кодварс в реале вряд ли понадобятся, а вот составные их части очень даже.

    в общем для меня кодварс оказался весьма приятным и эффективным способом привыкнуть к ЯП.
    Ответ написан
    Комментировать