Как стать автором
Обновить
5
0

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

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

Var, let или const? Проблемы областей видимости переменных и ES6

Время на прочтение13 мин
Количество просмотров102K
Области видимости в JavaScript всегда были непростой темой, особенно в сравнении с более строго организованными языками, такими, как C и Java. В течение многих лет области видимости в JS особенно широко не обсуждались, так как в языке попросту не было средств, которые позволяли бы существенно повлиять на сложившуюся ситуацию. Но в ECMAScript 6 появились некоторые новые возможности, которые позволяют разработчикам лучше контролировать области видимости переменных. Эти возможности в наши дни уже очень хорошо поддерживают браузеры, они вполне доступны для большинства разработчиков. Однако новые ключевые слова для объявления переменных, учитывая ещё и то, что старое ключевое слово var никуда не делось, означают не только новые возможности, но и появление новых вопросов. Когда использовать ключевые слова let и const? Как они себя ведут? В каких ситуациях всё ещё актуально ключевое слово var? Материал, перевод которого мы сегодня публикуем, направлен на исследование проблемы областей видимости переменных в JavaScript.


Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии41

«Я бесполезный дурак и хочу уволиться» — 10 вопросов программисту, пилотный выпуск

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


Привет, Хабр!

Помните историю про Стива Джобса и Денниса Ритчи? Не хотим снова устраивать споры и читать морали, но правда остается правдой — тысячи крутых технарей сидят в тени, а их истории запрятаны в чулан.

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

Чтобы вы поняли, как оно будет выглядеть, начнем со своего примера. Под катом 10 общих вопросов, которые мы будем задавать всем. Для пилота на них ответил fillpackart. (В этом месяце я брал вместе с ним несколько, кажется, неплохих интервью: раз, два, три). Почитайте, и если хотите рассказать о себе таким же образом, пишите сообщения мне или baragol.
Читать дальше →
Всего голосов 165: ↑149 и ↓16+133
Комментарии293

4 библиотеки, упрощающие жизнь React-разработчика

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

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

1) Nanoid


Ссылка на github
Это маленькая библиотека, которая имеет всего одну функцию — генерация уникального id. Она может быть полезна в массе случаев, как любой другой генератор случайных последовательностей символов. Неоспоримые плюсы: простота и крошечный размер — 143 байта.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии25

Основы React (текстовый учебник, 2-е издание)

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

Прошло 2.5 года после публикации первой версии подробного туториала по основам React. За это время gitbook насчитал 250 000+ уникальных посетителей.


book cover


Под катом подробнее об учебнике и список изменений.

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

Подключение bootstrap в Next.js

Время на прочтение2 мин
Количество просмотров9K
Категорически приветствую.

Столкнулся я тут с необходимостью подключить Bootsrtap в Next.js. Беглый гуглёж дал несколько тем на stackoverflow, парочку монструозных (всё в одном и все пакеты устарели ) шаблонов на гитхабе, и немножечко оффдоков. На деле же всё оказалось довольно тривиально, но, надеюсь, эта заметка сэкономит кому-то время.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии0

Node.js и серверный рендеринг в Airbnb

Время на прочтение19 мин
Количество просмотров13K
Материал, перевод которого мы публикуем сегодня, посвящён рассказу о том, как в Airbnb оптимизируют серверные части веб-приложений с прицелом на всё более широкое использование технологий серверного рендеринга. В течение нескольких лет компания постепенно переводила весь свой фронтенд на единообразную архитектуру, в соответствии с которой веб-страницы представляют собой иерархические структуры React-компонентов, наполняемые данными из их API. В частности, в ходе этого процесса шёл планомерный отказ от Ruby on Rails. На самом деле, Airbnb планирует переход на новый сервис, основанный исключительно на Node.js, благодаря которому в браузеры пользователей будут попадать полностью готовые страницы, отрендеренные на сервере. Этот сервис будет формировать большую часть HTML-кода для всех продуктов Airbnb. Движок рендеринга, о котором идёт речь, отличается от большинства используемых компанией бэкенд-сервисов в силу того, что он не написан на Ruby или Java. Однако отличается он и от традиционных высоконагруженных Node.js-сервисов, вокруг которых построены ментальные модели и вспомогательные инструменты, используемые в Airbnb.


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

Использование функций JavaScript для построения 3D-моделей

Время на прочтение10 мин
Количество просмотров7.5K
В данной статье рассмотрено применение геометрической библиотеки функций WebGeometry для построения моделей сложных многогранников. Библиотека написана на языке Javascript. Ссылка на GitHub с примером, в котором приведен простейший пример использования библиотеки. Замечания и критика приветствуются.



Для отображения моделей, предварительно рассчитанных с помощью функций из библиотеки WebGeometry, применяется библиотека ThreeJS. Холст (canvas) HTML5 используется для показа отдельных плоских элементов моделей и вывода на экран вспомогательной информации.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии1

Как быстро прототипировать приложения с CSS-сеткой и CSS-переменными

Время на прочтение4 мин
Количество просмотров10K
Как CSS-сетка, так и CSS-переменные представляют собой мощные инструменты для frontend-разработчиков. Первое позволяет значительно упростить создание макетов веб-сайта, в то время как второе дает всю мощь переменных таблицам стилей.

image

В этом материале я покажу вам, как использовать оба инструмента для того, чтобы быстро прототипировать дизайн приложений.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

О генераторах в JavaScript ES6, и о том, почему изучать их необязательно

Время на прочтение4 мин
Количество просмотров26K
С ростом популярности конструкции async/await растёт и интерес к её внутренним механизмам. Порывшись в интернете, несложно выяснить, что в основе async/await лежат широко известные промисы, и генераторы, которые пользуются куда меньшей известностью и популярностью.



Материал, перевод которого мы сегодня публикуем, посвящён генераторам. А именно, тут мы поговорим о том, как они работают, и о том, как они, совместно с промисами, используются в недрах конструкции async/await. Автор этой статьи говорит, что генераторы, ради их практического применения, осваивать необязательно. Кроме того, он отмечает, что он рассчитывает на то, что читатель немного разбирается в промисах.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии18

Сравнение JS-фреймворков: React, Vue и Hyperapp

Время на прочтение13 мин
Количество просмотров20K
Автор материала, перевод которого мы сегодня публикуем, полагает, что Hyperapp — это заслуживающая внимания альтернатива таким веб-фреймворкам, как React или Vue. Он говорит, что причиной такого утверждения стало то, что он выяснил, что Hyperapp легче в освоении, чем эти два фреймворка. Его идея подверглась критике, так как кажется, что основана она исключительно на его мнении, а такой подход попросту не даёт другим фреймворкам возможности показать их сильные стороны. Эта статья направлена на объективный анализ Hyperapp, React и Vue, проведённый на основе простых примеров, демонстрирующих их возможности, и на основе результатов их испытаний.


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

JavaScript ES6: слабые стороны

Время на прочтение8 мин
Количество просмотров18K
В июне 2018 года стандарт ECMAScript 2015 (ES6) отметил свой трёхлетний юбилей. В ES6, во-первых, появилось множество новых возможностей JavaScript, во-вторых, с этого стандарта начинается новая эра развития языка. Кроме того, это был последний масштабный релиз JS, так как теперь TC39 применяет схему выпуска небольших ежегодных выпусков стандарта, а не выводит его новую редакцию раз в несколько лет.



Последние 4 года ES6, вполне оправданно, привлекает к себе всеобщее внимание. Автор материала, перевод которого мы сегодня публикуем, говорит, что он, всё это время, благодаря Babel, писал весь код с использованием современного варианта спецификаций JS. Он полагает, что прошло достаточно времени для того, чтобы критически проанализировать новые возможности ES6. В особенности его интересует то, чем он некоторое время пользовался, а потом пользоваться перестал из-за того, что это ухудшало его код.
Читать дальше →
Всего голосов 47: ↑31 и ↓16+15
Комментарии29

Как я переехал… домой, или мой ответ автору статьи о «беспощадной муке»

Время на прочтение11 мин
Количество просмотров27K
На Хабре обсуждаются переезды в крупные города или за рубеж за хорошей работой. У меня другая история. Я успел попробовать разную обстановку и схемы сотрудничества с работодателем и выбрал то, что лучше всего соответствует моему складу характера, — с удовольствием вернулся в родной город, попутно узнав многое о самом себе и удаленке. Уже почти год я занимаюсь функциональным и автоматизированным тестированием в питерской компании «Максилект», проживая при этом в Красноярске (сдвиг во времени +4 часа).

image

Честно скажу, хотел рассказать о своем опыте в отрыве от классических мифов об удаленной работе. Но пока готовил текст, на Хабре вышла статья схожей тематики от «менеджера околоайтишной сферы». Как сама статья, так и комментарии к ней демонстрируют принципиально иной (скажем откровенно, практически никакой) уровень зрелости и сотрудника, и организации, согласившейся на такой формат. Почему? Отвечу субъективным мнением на субъективное мнение — подробности под катом…
Читать дальше →
Всего голосов 55: ↑42 и ↓13+29
Комментарии44

Пифагорейское математическое обоснование музыкальной гаммы

Время на прочтение16 мин
Количество просмотров33K
Глава из книги Александра Волошинова «Математика и искусство» (Москва: Просвещение, 1992)

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

Плутарх

Строго говоря, речь здесь пойдет о пифагоровом строе. Что же такое гамма и строй в музыке?
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии50

Самые распространенные ошибки в вашем React коде, которые вы (возможно) делаете

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


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


Весь код написан в ES6 стиле, поэтому, что бы повторить его вам нужно использовать Babel в вашем проекте (а еще есть такие кто его не использует?).


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


Если вам интересно, то добро пожаловать под кат.

Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии133

Основы JavaScript для начинающих разработчиков

Время на прочтение11 мин
Количество просмотров142K
Материал, перевод которого мы сегодня публикуем, посвящён основам JavaScript и предназначен для начинающих программистов. Его можно рассматривать и как небольшой справочник по базовым конструкциям JS. Здесь мы, в частности, поговорим о системе типов данных, о переменных, о массивах, о функциях, о прототипах объектов, и о некоторых других особенностях языка.


Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии19

Цель важнее кода

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

У программы есть цель, о которой иногда забывают



Изображение молотка, лежащего на доске. В доске застрял шуруп, который туда усиленно забивали

Кажется, программисты забыли о предназначении программного обеспечения — решать проблемы реального мира.

50 лет назад, в 1968 году, прошла Рабочая конференция по инжинирингу ПО, организованная Комитетом по науке НАТО. Тогда стали замечать, что программное обеспечение становится фундаментальной частью общества. И одновременно его становится труднее понять. После этой конференции программирование начало превращаться в настоящую индустрию. Оно начало уходить из-под контроля бизнеса.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии15

Секреты JavaScript-кухни: специи

Время на прочтение5 мин
Количество просмотров10K
Взгляните на следующие фрагменты кода, решающие одну и ту же задачу, и подумайте о том, какой из них вам больше нравится.
Вот первый: Вот второй:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 .filter(int => isEven(int))
 .filter(int => isBiggerThan(3, int))
 .map(int => int + 1)
 .map(int => toChar(int))
 .filter(char => !isVowel(char))
 .join('')
// 'fhjl'
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 .filter(isEven)
 .filter(isBiggerThan(3))
 .map(plus(1))
 .map(toChar)
 .filter(not(isVowel))
 .join('')
// 'fhjl'
«Готов поспорить, что второй вариант отличается гораздо лучшей читабельностью, чем первый», — говорит автор материала, перевод которого мы сегодня публикуем. По его словам — всё дело в аргументах методов filter() и map().



Сегодня мы поговорим о том, как перерабатывать код, подобный первому примеру, так, чтобы он выглядел как код из второго. Автор статьи обещает, что после того, как вы поймёте, как это работает, вы будете относиться к своим программам по-новому и не сможете не обращать внимания на то, что раньше могло показаться вполне нормальным и не требующим улучшения.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии15

Моя история создания мотивационного приложения (iOS и Android) для дочери с дочерью на Unity и C#

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

История создания приложения, позволяющего детям зарабатывать деньги своим умом


Это первая часть истории (вперемешку с рассказом о моих ошибках и их решениях) о том, как я (где-то два года в свободное время) разрабатывал мобильное приложение под iOS и Android, которое бы мотивировало мою дочь решать примеры по математике, чтобы она достигла автоматизма в основах арифметики (склад числа 10 или табличка умножения). В итоге, получилось приложение, позволяющее ребёнку зарабатывать деньги своим умом.


Использовал я движок Unity и язык C#, а также дополнительный набор софта вроде обязательного Photohsop или Audacity (для создания звуков).


План рассказа (часть первая)


  • Предыстория
  • О монетизации
  • Почему Unity
  • О Scriptable Objects
  • О плагине Anima2D
  • О Lean Localization
  • Об iTween
  • О Unity Analitics
  • О Visual Studio
  • Ссылки

Предыстория и колорадские жуки


Мой предыдущий опыт — это несколько лет в 3D и, с недавних пор, разработка нескольких инди-игр на пару с программистом, где я выступал в основном только в роли дизайнера и художника (очень редко пописывая какие-то элементарные скрипты на C#). Хотя, с программированием знаком не понаслышке (колупал Basic в школе и баловался с C/C++ в универе).


Вся эта эпопея началось с проблемы. Я увидел, что при решении школьных задач, дочь «буксует» и ошибается не на чём-то сложном, а на основах. Я решил, что будет прикольно, если я напишу ей забавное приложение, где она в игровой форме будет решать примеры (набираясь таким образом опыта и достигая автоматизма). И, чтобы мотивировать её ещё больше, я сделал так, что за правильное решение примеров она получала деньги (количество денег подсчитывало приложение на основе количества правильных ответов, а я потом выводил нужную сумму, выплачивая дочери наличные).

Всего голосов 34: ↑31 и ↓3+28
Комментарии17

27 отличных open source-инструментов для веб-разработки

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


Перевод 27 Amazing Web Development Tools for the Past Year (v.2018)

В 2017-м мы сравнили около 7 500 open source-инструментов для веб-разработки, из которых выбрали 27 лучших (0,4%). Это крайне конкурентный список, в который вошли инструменты, библиотеки и проекты, опубликованные в течение 2017-го. Mybridge AI оценивает их качество на основании популярности, заинтересованности и новизне. Чтобы было понятно, у выбранных продуктов среднее количество звёзд на Github — 5260.

Open source-инструменты могут почти даром повысить вашу продуктивность. Также вы можете чему-то научиться, читая исходный код и создавая что-нибудь на основе этих проектов. Так что рекомендуем уделить время и поэкспериментировать с инструментами из нашей подборки, возможно, какие-то из них прошли мимо вас.
Читать дальше →
Всего голосов 70: ↑55 и ↓15+40
Комментарии10

Зачем идти в IT-магистратуру

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

«А нам и без магистратуры неплохо…»


  • Билл Гейтс не имеет высшего образования – только два года обучения в бакалавриате Гарвардского университета…
  • Стив Джобс проучился всего 1 семестр в колледже…
  • Павел Дуров имеет диплом специалиста-филолога, а основатели Яндекса – Аркадий Волож и Илья Сегалович учились на геологов…

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

Но это не совсем верно. Попробуем это доказать.

image
Читать дальше →
Всего голосов 30: ↑19 и ↓11+8
Комментарии81
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность