Pull to refresh
2
0
Анастасия @Rosomaha

Front

Send message

Асинхронное программирование в JavaScript (Callback, Promise, RxJs )

Reading time10 min
Views46K

Всем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал.



Но перед тем как начать основной материал нам нужно сделать вводную. Итак, давайте начнем с определений: что такое стек и очередь?


Стек — это коллекция, элементы которой получают по принципу «последний вошел, первый вышел» LIFO


Очередь — это коллекция, элементы которой получают по принципу («первый вошел, первый вышел» FIFO


Окей, продолжим.



JavaScript — это однопоточный язык программирования. Это значит, что он имеется только один поток выполнения и один стек, в который помещаются функции в очередь на выполнение. Следовательно в один момент времени JavaScript может выполнить только одну операцию, другие операции при этом будут ждать своей очереди в стеке, пока их не вызовут.

Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments50

Что ты такое, Event Loop? Или как устроен цикл событий в браузере Chrome

Reading time3 min
Views151K
Как думаете, что произойдет, если запустить в консоли браузера этот фрагмент кода?

function foo() {
  setTimeout(foo, 0);
}

foo();

А этот?

function foo() {
  Promise.resolve().then(foo);
}

foo();

Если вы также, как и я, прочитали кучу статей про Event Loop, Main Thread, таски, микротаски и прочее, но затрудняетесь ответить на вопросы выше — эта статья для вас.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments16

Иван Тулуп: асинхронщина в JS под капотом

Reading time24 min
Views52K
А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботиться.

Об этом и о том, как работает асинхронщина в JS под капотом, как Event Loop работает в браузерах и в Node.js, есть ли какие-то различия и, может быть, похожие вещи рассказал Михаил Башуров (SaitoNakamura) в своем докладе на РИТ++. С удовольствием делимся с вами расшифровкой этого познавательного выступления.



О спикере: Михаил Башуров — fullstack веб-разработчик на JS и .NET из Luxoft. Любит красивый UI, зеленые тесты, транспиляцию, компиляцию, технику compiler allowing и улучшать dev experience.

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

Total votes 40: ↑33 and ↓7+26
Comments4

Понятнее о S.O.L.I.D

Reading time8 min
Views60K
Большинство разработчиков с разговорами о принципах архитектурного дизайна, да и принципах чистой архитектуры вообще, обычно сталкивается разве что на очередном собеседовании. А зря. Мне приходилось работать с командами, которые ничего не слышали о S.O.L.I.D, и команды эти пролетали по срокам разработки на многие месяцы. Другие же команды, которые следовали принципам дизайна и тратили очень много времени на буквоедство, соблюдение принципов чистой архитектуры, код-ревью и написание тестов, в результате значительно экономили время Заказчика, писали лёгкий, чистый, удобочитаемый код, и, самое главное, получали от этого кайф.

Сегодня мы поговорим о том, как следовать принципам S.O.L.I.D и получать от этого удовольствие.



Что такое S.O.L.I.D? Погуглите — и получите 5 принципов, которые в 90% случаев описываются очень скупо. Скупость эта потом выливается в непонимание и долгие споры. Я же предлагаю вернуться к одному из признанных источников и хотя бы на время закрыть этот вопрос.

Источником принципов S.O.L.I.D принято считать книгу Роберта Мартина «Чистая архитектура». Если у Вас есть время прочесть книгу, лучше отложите эту статью и почитайте книгу. Если времени у Вас нет, а завтра собес — велком.
Читать дальше →
Total votes 26: ↑18 and ↓8+10
Comments37

68 непрошеных советов

Reading time6 min
Views76K
Это перевод самого недавнего поста Кевина Келли, со-основателя журнала Wired, писателя, фотографа, футуролога.


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

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

Читать дальше →
Total votes 92: ↑85 and ↓7+78
Comments106

9 четких инструментов для изучения и прокачки английской лексики

Reading time6 min
Views63K


В Оксфордском словаре английского языка почти 450 000 слов! Но если вы учите язык как иностранный, их совсем не нужно запоминать все и сразу.

Чтобы полноценно общаться на английском языке, вполне достаточно всего лишь 2000–3000 слов. При должном усердии и небольшом количестве хитростей их вполне можно выучить за год.

В этой статье мы собрали 9 шикарных инструментов, которые помогут вам учить английские слова и сделают учебную рутину интереснее. Не будем долго рассусоливать, погнали!
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments9

Как получать 100 тысяч за код. Полное руководство для начинающих

Reading time9 min
Views58K

Сохраните в закладки сейчас, скажите спасибо через год. В конце каждого этапа — ссылки для внеклассного чтения.


Что нужно знать, чтобы получать зарплату 100 тысяч

1. Познакомьтесь с веб-разработкой


Ситуация на 1 этапе

Продолжительность этапа: 1 месяц.


Что изучить на этом этапе.


  1. Структуру HTML.
  2. Отличия фронтенда и бэкенда.
  3. Разметку и оформление текста.
  4. Как размечать страницу по макету.
  5. Как ставить ссылки и вставлять изображения.
  6. Основы CSS — правила, селекторы, свойства и каскадирование.
  7. Хотя бы немного понимать, как работает и где применяется JavaScript.

Сначала будет много непонятных слов, аббревиатур и голова пойдёт кругом. В одном JavaScript десятка три направлений, поэтому нужно понять, ваше ли это вообще. Смотрите видео на Ютюбе или тренируйтесь на интерактивных курсах. Другой вариант — по учебникам, но с ними сложнее всего. Электронные пока держатся, а вот бумажные устарели ещё до публикации.


Ещё 7 шагов
Total votes 52: ↑30 and ↓22+8
Comments91

10 React-компонентов на все случаи жизни

Reading time3 min
Views28K
Я полагаю, что для решения различных задач React-разработки лучше использовать маленькие узкоспециализированные инструменты, а не универсальные решения, предлагаемые библиотеками компонентов. Мне нравится выбирать компоненты самостоятельно, я не люблю читать длинную документацию, и мне хочется избежать бессмысленных обновлений библиотек, после которых в проекте нередко что-то ломается.



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

Материал, перевод которого мы сегодня публикуем, посвящён рассказу о 10 React-компонентах.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments15

Когда смерть превращается в искусство: эпитафии известных людей с глубоким смыслом на английском

Reading time7 min
Views19K
В Средневековье любили черный юмор. Именно поэтому искусство эпитафий стало настолько популярным. Философские или забавные изречения на свой могильный камень сочиняли еще при жизни и нередко пользовались услугами профессиональных эпитафистов.

Традиция написания эпитафий перешла и в наше время. Но если в нашей стране их пишут довольно редко, то в англоязычных странах написать что-нибудь слезливое или веселое на могиле — это норма.

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


Total votes 37: ↑31 and ↓6+25
Comments27

Как немец-хохотун лук (тот, что со стрелами) прокачал

Reading time2 min
Views23K
Увидел тут с утреца статью про пушку Гаусса и сразу вспомнил один замечательный канал на ютубе, где, вовсе не сумрачный, а очень даже жизнерадостный немецкий гений взял и сделал нечто абсолютно новое в такой (казалось бы) абсолютно завершённой области как лучное дело. Простейшее устройство одновременно:

  1. Является магазином (то есть, даёт серьёзный плюс к скорости стрельбы),
  2. Значительно упрощает прицеливание,
  3. Да ещё и в два раза снижает усилие, нужное для натяжения лука!

Впечатляет? И это вы ещё его смех не слышали! (вот здесь его компиляция на полторы минуты, лучший способ начать понедельник по моему скромному мнению). Ну а под катом краткое пояснение принципов работы, если лень смотреть видео. Как говорит сам Йорг LET ME SHOW ITS FEATURES:


Total votes 23: ↑19 and ↓4+15
Comments23

Переезд программиста в Эстонию: работа, деньги и стоимость жизни

Reading time4 min
Views30K


На Хабре довольно популярны статьи о переезде в разные страны. Я собрал информацию о переезде в столицу Эстонии – Таллин. Сегодня поговорим о том, легко ли разработчику найти вакансии с возможностью релокации, сколько можно заработать и чего вообще ожидать от жизни на севере Европы.
Читать дальше →
Total votes 33: ↑25 and ↓8+17
Comments46

К вопросу об ограничениях

Reading time22 min
Views7.6K
Ваше лже-счастье – динамический процесс. Он неудовлетворим в принципе. А мы в первую очередь говорим о подлинном, фундаментальном счастье. Его условия определяются одним-единственным словом.
– Каким же?
Он ждал – и дождался.
– Ограничение..

Тему данного поста подсказали мне молодые коллеги, пришедшие с вопросом относительно линейности схемы, которую мы и будем далее рассматривать. Когда я ответил на их вопрос и объяснил, что так и должно быть и нулевое правило инженера в очередной раз доказало свою непогрешимость и «Чудес на свете не бывает», на следующий вопрос, как сделать правильно, я внезапно затруднился с ответом. После определенных размышлений я пришел к выводам, которыми и собираюсь поделиться. Но давайте по порядку.

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

Так какие же проблемы могут быть связаны со столь простым устройством?
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments25

15 лучших и крупнейших библиотек иконок

Reading time3 min
Views35K


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments12

Интересные -webkit CSS свойства

Reading time2 min
Views65K
Если вы знаете о том, что WebKit умеет изменять вид тэга SPAN на кнопку, или на поле ввода, или если вы знаете каким свойством можно диктовать поведение элемента в момент тапа по нему, то вам не сюда.
Остальных прошу под кат
Total votes 61: ↑52 and ↓9+43
Comments25

Front-end додзё: проекты для тренировки навыков разработчика (5 новых + 43 старых)

Reading time15 min
Views44K

1. Клон Notion


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

image

www.notion.so

Чему вы научитесь, создавая клон Notion:

  • HTML Drag and drop API. Пользователь может «схватить мышкой» draggable элемент и поместить его в droppable зону.
  • Как синхронизировать в режиме реального времени данные между компьютером и смартфоном.
  • Мы позволяем пользователям создавать, читать, обновлять и удалять записи, тем самым мы тренируем CRUD-навыки.

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments7

Ближе к земле: как я сменил коворкинг на дом в деревне

Reading time7 min
Views85K
От редакции блога: наверняка многие помнят историю про поселок программистов в Кировской области — начинание экс-разработчика из Яндекса впечатлило многих. А наш разработчик решил создать свое поселение в братской стране. Передаем ему слово.



Привет, меня зовут Георгий Новик, я работаю бэкенд-разработчиком в Skyeng. В основном реализую хотелки операторов, менеджеров и других заинтересованных лиц в отношении нашей большой CRM, а еще подключаю всякие новомодные вещи для customer service — ботов для техподдержки, сервисов автоматического прозвона и пр.

Как и многие разработчики, я не привязан к офису. Что делает человек, который не обязан ежедневно ездить в контору? Один отправится жить на Бали. Другой осядет в коворкинге или на родном диване. Я же выбрал совсем другое направление и переехал на хутор в белорусских лесах. И теперь от меня до ближайшего приличного коворкинга 130 километров.
Читать дальше →
Total votes 192: ↑185 and ↓7+178
Comments787

Как создать макет для сайта и не остаться крайним

Reading time4 min
Views11K

Ниже я приведу краткий обзор обязательных моментов на которые нужно обратить внимание при создании web макета для дальнейшей передачи его на вёрстку.



Они помогут вам:


  • глубже продумать свой макет
  • избежать лишних вопросов
  • получить более качественный результат
  • остаться друзьями с frontend-разработчиком
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments9

Шпаргалка для технического собеседования

Reading time8 min
Views207K


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

Читать дальше →
Total votes 81: ↑68 and ↓13+55
Comments85

Ключевое слово this в JavaScript. Полное* руководство

Reading time6 min
Views41K
* скорее всего, я что-нибудь да упустил, но уверен, в комментариях мне это подскажут

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

image

Содержание.

  1. Введение
  2. Заблуждения о this
  3. Как определить значение this
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments30

Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера

Reading time9 min
Views371K

Прошу прощения у всех, кто долго ждал этой статьи. Подготовка материалов требует массы времени и труда. В этой статье я постараюсь рассказать обо всех методиках коррекции зрения, которые существуют на данный момент. Мы пройдем путь от первых очков XIII века до современных лазерных методов коррекции, таких как femto-LASIK и ФРК.

Если вы не читали предыдущих статей цикла, то я бы рекомендовал ознакомиться в первую очередь со второй частью. Именно в ней подробно разбираются основные нарушения зрения и биологические основы нашего зрения. Объем статьи получился очень большой, поэтому я решил разбить ее на две части для облегчения восприятия.
Все, кому интересно — добро пожаловать под кат.

Остальные части


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера
Читать дальше →
Total votes 140: ↑138 and ↓2+136
Comments207

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Frontend Developer, Web Developer
Middle
JavaScript
React
TypeScript
Redux
Angular
React Native