Как стать автором
Обновить
52
0
Валерий Баштовой @motivateclock

Пользователь

Отправить сообщение

JavaScript: 12 вопросов и ответов

Время на прочтение16 мин
Количество просмотров84K
JavaScript — это потрясающий инструмент, который можно найти буквально в каждом углу современного интернета. Но даже несмотря на его невероятную распространённость, и профессионалам в области JS всегда будет чему поучиться. Всегда найдётся что-то такое, чего они не знают.

image

В этом материале вы найдёте разбор двенадцати вопросов о JavaScript, на которые нередко не могут ответить даже опытные разработчики. Сначала мы рассмотрим десять типичных вопросов, включая такие, которые часто всплывают на собеседованиях. Оставшиеся два вопроса посвящены более сложным и неоднозначным вещам, в частности, использованию JS для улучшения производительности веб-страниц и разработке приложений, которые не теряют актуальности с течением времени.
Читать дальше →
Всего голосов 52: ↑35 и ↓17+18
Комментарии26

Паттерны React

Время на прочтение10 мин
Количество просмотров133K
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «React Patterns» Майкла Чана, с некоторыми моими примечаниями и дополнениями.

Прежде всего хотел бы поблагодарить автора оригинального текста. В переводе я использовал понятие «Простой компонент» как обозначение Stateless Component aka Dump Component aka Component vs Container
Конструктивная критика, а так же альтернативные паттерны и фичи React приветствуются в комментах.

Оглавление
  • Простые компоненты — Stateless function
  • JSX распределение атрибутов — JSX Spread Attributes
  • Деструктуризация аргументов — Destructuring Arguments
  • Условный рендеринг — Conditional Rendering
  • Типы потомков — Children Types
  • Массив как потомок — Array as children
  • Функция как потомок — Function as children
  • Функция в render — Render callback
  • Проход по потомкам — Children pass-through
  • Перенаправление компонента — Proxy component
  • Стилизация компонентов — Style component
  • Переключатель событий — Event switch
  • Компонент-макет — Layout component
  • Компонент-контейнер — Container component
  • Компоненты высшего порядка — Higher-order component

Поехали!
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии26

Окружение для разработки веб-приложений на TypeScript и React: от 'hello world' до современного SPA. Часть 1

Время на прочтение14 мин
Количество просмотров37K
Цель данной статьи — вместе с читателем написать окружение для разработки современных веб-приложений, последовательно добавляя и настраивая необходимые инструменты и библиотеки. По аналогии с многочисленными starter-kit / boilerplate репозиториями, но наш, собственный.

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

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

image
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии11

Я не чудовище

Время на прочтение4 мин
Количество просмотров8.5K

Наука превратила кальмаров из чудовищ, о которых рассказывают сказки, в чудо



Хроматофоры на коже взрослого кальмара, подкрашенные антителами. Радиальные линии — мускулы, остальные соединительные линии, скорее всего, являются нервами. Всё, что видно на фото, в реальности имеет размер в полтора мм

Головоногие занимают почётное место в культурных мифах. Их длинные щупальца, крупные, немигающие глаза, и просто огромный размер гигантского кальмара пугали нас по меньшей мере со Средних веков, когда рассказы пугали торговцев чудовищами, ждавшими их в тёмных морях, готовыми сожрать целые суда с командами.

Но наука многое сделала для того, чтобы рассеять эти страшные истории, и в то же время подпитать наше удивление тем, как потрясающе сильно головоногие отличаются от нас. Нам уже известно, что это существа довольно умные, и что их мозг организован совсем не так, как наш. Некоторые виды осьминогов могут временно перекодировать свои гены с целью адаптации. Кальмары меняют цвет и рисунок своей кожи либо чтобы спрятаться от хищников, либо чтобы общаться друг с другом. «Нам иногда нравится менять свой внешний вид при помощи татуировок или косметики, но у нас и близко нет ничего такого сложного, что есть у кальмаров», — говорит Стив Сенфт, нейробиолог из Морской биологической лаборатории г. Вудс-хол, шт. Массачусетс.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии3

Рендеринг WEB-страницы: что об этом должен знать front-end разработчик

Время на прочтение6 мин
Количество просмотров227K
Приветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.

Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Читать дальше →
Всего голосов 121: ↑110 и ↓11+99
Комментарии42

Использование преимуществ TypeScript в JavaScript разработке

Время на прочтение3 мин
Количество просмотров18K

Язык программирования TypeScript от Microsoft привносит многие преимущества статической типизации в JavaScript. Несмотря на то, что он не проверяет типы во время исполнения, он позволяет производить более точный статический анализ, повышает безопасность и открывает возможности для лучшей интеграции с IDE. Код на TypeScript обычно транспилируется в стандартный JavaScript, который выполняется в браузерах или Node.js. Учитывая привлекательность TypeScript, не удивительно, что его популярность быстро растёт.

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии28

Введение в часто используемые особенности ES6. Часть 1

Время на прочтение11 мин
Количество просмотров22K

Данная публикация является переводом статьи «Introduction to commonly used ES6 features» под авторством Zell Liew, размещенного здесь. Перевод разделён на 2 части. Перевод 2-ой части находится здесь.


JavaScript серьезно развился в последние несколько лет. Если вы изучаете язык в 2017 году и при этом не касались ECMAScript 6 (ES6), то упускаете легкий способ читать и писать на нём.


Не волнуйтесь, если вы еще не знаток языка. От вас не требуется превосходно знать его, чтобы пользоваться преимуществами «бонусов», добавленных в ES6. В этой статье хотел бы поделиться восемью особенностями ES6, которые использую каждый день как разработчик, что поможет вам легче погрузиться в новый синтаксис.


Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии17

Области видимости и замыкания в JavaScript

Время на прочтение7 мин
Количество просмотров36K
Данная публикация представляет собой перевод материала «JavaScript Scope and Closures» под авторством Zell Liew, размещенного здесь.

Области видимости и замыкания важны в JavaScript, однако они сбивали меня с толку, когда я только начинал их изучать. Ниже приведены объяснения этих терминов, которые помогут вам разобраться в них.


Начнем с областей видимости


Область видимости


Область видимости в JavaScript определяет, какие переменные доступны вам. Существуют два типа областей видимости: глобальная и локальная.


Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии12

Аутентификация в Node.js. Учебные руководства и возможные ошибки

Время на прочтение12 мин
Количество просмотров42K
Однажды я отправился на поиск учебных руководств по аутентификации в Node.js/Express.js, но, к сожалению, не смог найти ни одного, которое меня бы полностью устроило. Некоторые были неполными, некоторые содержали ошибки в сфере безопасности, вполне способные навредить неопытным разработчикам.

Сразу скажу, что я всё ещё нахожусь в поиске надёжного, всеобъемлющего решения для аутентификации в Node/Express, которое способно составить конкуренцию Devise для Rails. Однако, удручающая ситуация в сфере руководств подвигла меня на подготовку этого материала. Тут я разберу некоторые наиболее распространённые ошибки в области аутентификации и расскажу о том, как их избежать.

image
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии3

Новый V8 и скорость Node.js: техники оптимизации сегодня и завтра

Время на прочтение19 мин
Количество просмотров27K
Node.js, с момента появления, зависит от JS-движка V8, который обеспечивает исполнение команд языка, который мы все знаем и любим. V8 — это виртуальная машина JavaScript, написанная Google для браузера Chrome. С самого начала V8 создавали для того, чтобы сделать JavaScript быстрым, по крайней мере — обеспечить большую скорость, чем конкурирующие движки. Для динамического языка без строгой типизации достижение высокой производительности — задача непростая. V8 и другие движки развиваются, всё лучше решая эту задачу. Однако, новый движок — это не просто «рост скорости исполнения JS». Это — и необходимость в новых подходах к оптимизации кода. Не всё то, что было сегодня самым быстрым, будет радовать нас максимальной производительностью в будущем. Не всё, что считалось медленным, останется таким.

Как характеристики TurboFan V8 повлияют на то, как будут оптимизировать код? Как техники, считающиеся оптимальными сегодня, покажут себя в недалёком будущем? Как ведут себя «убийцы производительности V8» в наши дни, и чего от них можно ожидать? В этом материале мы постарались найти ответы на эти и многие другие вопросы.

Перед вами — плод совместного труда Дэвида Марка Клементса и Маттео Коллины. Материал проверили Франциска Хинкельманн и Бенедикт Мейрер из команды разработчиков V8.


Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии16

Как работает Android, часть 1

Время на прочтение8 мин
Количество просмотров216K


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51

MVC на чистом JavaScript

Время на прочтение13 мин
Количество просмотров79K
Шаблоны проектирования часто встраивают в популярные фреймворки. Например, шаблон MVC (Model-View-Controller, Модель-Представление-Контроллер) можно встретить буквально повсюду. В JavaScript трудно отделить фреймворк от реализованного в нём шаблона проектирования, причём, часто авторы фреймворков интерпретируют MVC по-своему и навязывают программистам своё видение вопроса.



То, как именно будет выглядеть конкретная реализация MVC, полностью зависит от фреймворка. В результате мы получаем массу разных реализаций, что сбивает с толку и ведёт к беспорядку. Особенно это заметно, когда в одном проекте используется несколько фреймворков. Эта ситуация заставила меня задаться вопросом: «А есть ли способ лучше?».
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии28

4.04. День когда не найденная страница превратилась в праздник

Время на прочтение1 мин
Количество просмотров16K
Русский человек празднику завсегда рад. Особенно если праздник, как в случае с четвертым апреля, тематический и близкий веб-мастерской душе.

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

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии14

Старт Motivate Clock: “Не думай о секундах свысока”

Время на прочтение2 мин
Количество просмотров33K
Старт Motivate Clock


Разрешите представить. Motivate Clock – одна из самих молодых и стильных программ учета вашего рабочего времени.

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

Именно тогда я впервые задумался о том, насколько эффективно я провожу время за экраном монитора? Можно ли выполнять производственные задачи быстрей? Куда именно «уходит» мой трудовой день? Результатом этих раздумий стала программа Мotivate Clock.
Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии119

Новая версия MotivateClock. Мы сделали то, о чем Вы просили!

Время на прочтение2 мин
Количество просмотров7.1K
image

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

Ровно три месяца назад, 27 сентября, мы объявили Хабрасообществу о старте нашего проекта. Больше всего комментариев и пожеланий тогда мы услышали о необходимости реализации посайтового учета времени проведенного в различных браузерах.
Читать дальше →
Всего голосов 59: ↑49 и ↓10+39
Комментарии70

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность