Pull to refresh
52
0
Валерий Баштовой @motivateclock

User

Send message

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

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

image

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

Паттерны React

Reading time10 min
Views133K
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «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

Поехали!
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments26

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

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

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

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

image
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments11

Я не чудовище

Reading time4 min
Views8.5K

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



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

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

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

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

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

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

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

Reading time3 min
Views18K

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

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments28

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

Reading time11 min
Views22K

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


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


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


Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments17

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

Reading time7 min
Views36K
Данная публикация представляет собой перевод материала «JavaScript Scope and Closures» под авторством Zell Liew, размещенного здесь.

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


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


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


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


Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments12

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

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

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

image
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments3

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

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

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

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


Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments16

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

Reading time8 min
Views217K


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

Читать дальше →
Total votes 92: ↑91 and ↓1+90
Comments51

MVC на чистом JavaScript

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



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

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

Reading time1 min
Views16K
Русский человек празднику завсегда рад. Особенно если праздник, как в случае с четвертым апреля, тематический и близкий веб-мастерской душе.

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

Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments14

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

Reading time2 min
Views33K
Старт Motivate Clock


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

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

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

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

Reading time2 min
Views7.1K
image

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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity