Обновить
256K+

JavaScript *

Прототипно-ориентированный язык программирования

272,65
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Кое-что о пространстве имён

Время на прочтение6 мин
Охват и читатели19K

Я программирую на PHP. И немножко на JS. Когда-то я программировал на Java, ещё раньше — на LotusScript. Попробовал на вкус python и dart. Basic, Fortran, Pascal, Prolog, VisualBasic, С++/С, perl — на всём этом я тоже изображал что-то исполняемое. Языки программирования меня интересуют с точки зрения создания компьютерных приложений. Web-приложений. Сложных web-приложений. Таких, которые пишут незнакомые друг с другом люди. Точнее, лично незнакомые — они знают друг друга по подписям в коммитах в общий репозиторий и по nickname’ам в баг-трекерах. Я не слишком умён, чтобы программировать на С/С++ для различных ОС, и поэтому я программирую на PHP для Magento.


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

Читать дальше →

Нет, вам не нужен Express в вашем REST API на Node.js

Время на прочтение3 мин
Охват и читатели31K
image

Об альтернативах Express, где и почему стоит отказаться от Express'a и небольшие замеры в переводе под катом

Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №345 (24 — 30 декабря 2018)

Время на прочтение3 мин
Охват и читатели13K
Предлагаем вашему вниманию последнюю в этом году подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →

Конечные React Компоненты

Время на прочтение7 мин
Охват и читатели20K

Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс.


Через некоторые время ИДЕЯ немного меняется, и все начинается с начала.


А начало этой истории — разделение компонент на Контейнеры и неКонтейнеры (в народе — Тупые Компоненты, простите за мой франзуский).


Читать дальше →

JS итоги 2018 и прогнозы на будущее

Время на прочтение2 мин
Охват и читатели18K
Всем привет!

В конце года я решил подумать, что ждет JS разработчика в Новом 2019 году и подвести итоги этого года.

Добро пожаловать под кат!
Читать дальше →

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Время на прочтение2 мин
Охват и читатели75K

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


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.


leetcode

Читать дальше →

Очередное незавоевание теней в Phaser, или польза велосипедов

Время на прочтение9 мин
Охват и читатели4.3K
Два года назад я уже экспериментировал с веществами тенями в Phaser 2D. На последнем Ludum Dare мы внезапно решили сделать хоррор, а какой же хоррор без теней и света! Хрустнул я костяшками пальцев…

… и ни черта не успел за LD. В игре конечно есть немного света и теней, но это жалкое подобие того, что должно было быть на самом деле.

Вернувшись домой уже после отправки игры на конкурс, я решил все-таки “закрыть гештальт” и доделать эти несчастные тени. Что получилось — можно пощупать в игре, поиграться в демке, посмотреть на картинке, и почитать в статье.

Читать дальше →

Принципы функционального программирования в JavaScript

Время на прочтение17 мин
Охват и читатели70K
Автор материала, перевод которого мы публикуем сегодня, говорит, что он, после того, как долго занимался объектно-ориентированным программированием, задумался о сложности систем. По словам Джона Оустерхаута, сложность (complexity) — это всё, что делает тяжелее понимание или модификацию программного обеспечения. Автор этой статьи, выполнив некоторые изыскания, обнаружил концепции функционального программирования наподобие иммутабельности и чистых функций. Применение таких концепций позволяет создавать функции, не имеющие побочных эффектов. Использование этих функций упрощает поддержку систем и даёт программисту некоторые другие преимущества.

image

Здесь мы поговорим о функциональном программировании и о некоторых его важных принципах. Всё это будет проиллюстрировано множеством примеров кода на JavaScript.
Читать дальше →

Разъяснительная беседа об асинхронном программировании в Javascript

Время на прочтение15 мин
Охват и читатели20K
Привет всем!

Как вы, возможно, помните, еще в октябре у нас переводилась интересная статья о применении таймеров в Javascript. Она вызвала огромную дискуссию, по результатам которой мы давно хотели вернуться к этой теме и предложить вам подробный разбор асинхронного программирования в этом языке. Рады, что нам удалось найти достойный материал и опубликовать его еще до конца года. Приятного чтения!
Читать дальше →

Screenplay — не Page Object'ом единым

Время на прочтение9 мин
Охват и читатели22K

Со временем вносить изменения в любой продукт становится сложнее, и растёт риск не только зарелизить новые фичи, но и сломать старые. Часто вместо того, чтобы руками проверять весь проект, этот процесс стараются автоматизировать. Если поговорить с людьми, которые занимаются тестированием интерфейсов, походить по конференциями, становится понятно, что в мире веб-тестирования правит Selenium, а в качестве организации кода подавляющее большинство используют Page Object.


Вот только мне, как программисту, этот паттерн и код, который я видел у разных команд, почему-то никогда не нравился — в голове звучали буквы SOLID. Но я уже был готов смириться с тем, что тестировщики пишут код, как им удобно, из-за отсутствия альтернатив, как где-то год назад, на Angular Connect, услышал я доклад, посвящённый тестированию Angular приложений c использованием Screenplay паттерна. Теперь хочу поделиться.


Читать дальше →

Как писать подкасты, что за железо нужно? Автор статей, текстов и постов сейчас вам всё расскажет

Время на прочтение14 мин
Охват и читатели17K

Наверное, любой разумный человек хоть раз в жизни спрашивает себя о чем-то из списка:


  • «Как написать хабростатью?»
  • «Что нужно, чтобы записать подкаст?»
  • «Как ты пишешь видосики?» (в том числе те, что из хаба Java)

Этот пост — короткая памятка о том, что я делаю сам. Вся серия постов (если она вообще последует) будет отвечать на все актуальные вопросы современности, связанные с регулярным созданием контента, то есть на все актуальные вопросы современности вообще.


Кроме того, я спросил, какое оборудование используют коллеги из подкастов «Разбор Полётов», «devSchacht», «Podlodka Podcast», «Витая пара», и поделился этой информацией между строк. И это причина, по которой этот пост попал в хабы JavaScript и Разработка мобильных приложений — вероятно, кому-то может быть интересно узнать, чем пользуются их любимые подкастеры.


Совсем недавно Руслан (наш Генерал Маркетинг, ARG89) спросил, есть ли у меня список вещей, которые нужно взять с собой в путешествие на конференцию. Такого списка нет — есть только субъективное ощущение того, чем можно пожертвовать вот из этого:



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

Читать дальше →

19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году

Время на прочтение16 мин
Охват и читатели39K
Автор материала, перевод которого мы публикуем, собрал 19 идей, которые могут оказаться полезными для тех Node.js-разработчиков, которые хотят повысить свой профессиональный уровень в 2019 году. Мир JavaScript огромен, поэтому освоить всё то, о чём пойдёт здесь речь, попросту нереально. Вряд ли найдётся кто-то, кто владеет всем этим в совершенстве. Однако кое-что в этом обзоре вполне может пригодиться именно вам.


Читать дальше →

Dagaz: Подробности

Время на прочтение7 мин
Охват и читатели3.1K
imageВ «пи» цифр не пересчитать,
«е» — бесконечно столь же.
А если их с конца писать, какое будет больше?

Мартин Гарднер «Крестики-нолики»


Для этой статьи, я хотел выбрать другой эпиграф, но счёл его излишне пафосным. Очередной релиз вновь затянулся. За это время, я успел сменить работу! Работа на новом месте отнимает уйму сил, но я продолжаю находить время для своего маленького увлечения. И надо сказать, то, с чем мне приходится сталкиваться в процессе, становится всё сложнее и сложнее. Я расскажу вам об этом. Я хотел начать с другого эпиграфа, но этот тоже неплох.
Читать дальше →

Ближайшие события

«Реактивный» интерфейс. Лекция Артёма Белова на FrontTalks 2018

Время на прочтение12 мин
Охват и читатели8.7K
В браузерном JavaScript интерфейсы стали предсказуемы. «Однопоточные», с транзакционным сценарием отрисовки: пустой экран — загрузка — интерфейс. Разработчик Артём Белов из компании Cxense с упором на закон Парето рассказал, как, потратив 20% времени, отрисовать приложение на 80% быстрее за счет приемов «реактивного дизайна» — еще не сформулированных, но уже используемых в продуктах с приоритетом на UX.


Но что касается более матерых парней, которые не вылезают из Webpack и заставляют страдать Webpack, а не наоборот? Они подключают плагины. Но поскольку мы в начале развития этой техники, экосистема нам предлагает плагин, который берет ваш HTML, генерирует на его основе HTML со встроенным CSS, дает QR-код для рекламы… Серьезно? После этого ты можешь взять и через “!important” перебить стили… Пожалуй, стоит задать вопрос, почему я все еще во фронтенде.

Краткая история асинхронных возможностей Javascript

Время на прочтение6 мин
Охват и читатели5.5K
По мере изучения Javascript я раз за разом натыкался на многочисленные статьи о асинхронных функциях и операциях. Несмотря на несомненные достоинства подобного функционала, каждый раз в затруднение меня вводил листинг, приводимый авторами. Слова менялись, суть оставалась той же, в голове заваривалась каша. Под катом — небольшой гайд по историческому развитию и версиям ECMA.
Читать дальше →

Занимательный JavaScript: Снежный день

Время на прочтение7 мин
Охват и читатели8.2K

Image


Очередная надуманная задачка по ненормальному программированию на JavaScript. В этот раз по случаю грядущего Нового 2019 года. Надеюсь, будет так же интересно решать, как мне было интересно придумывать. Любопытных прошу под кат. Всем шампанского и всех с наступающим!

Читать дальше →

HomeKit и ioBroker Давайте дружить домами

Время на прочтение18 мин
Охват и читатели13K


Без сомнения, Apple iOS остается одной из самых популярных мобильных ОС, а значит, современные системы автоматизации должны уметь интегрироваться в эту экосистему и предоставлять возможность взаимодействия. Именно для этого предназначен фреймворк Homekit, который позволяет работать с "умными" устройствами с экрана iPhone/iPad/iWatch, а с недавнего времени и Mac (macOS Mojave).


Большинство систем автоматизации (не люблю маркетинговое название "умный дом") уже давно содержат модули интеграции с Homekit, но даже подготовленному пользователю не всегда просто разобраться в том, как сделать его устройство доступным в приложении "Дом" (или Eve).


Сегодня я расскажу, как проделать эти манипуляции в системе ioBroker (это открытая и бесплатная система автоматизации). Но чтобы не приводить тупо всё множество примеров устройств, я хочу объяснить некоторые принципы и показать подходы, зная которые, вы легко сможете реализовать остальные примеры.


"Знание некоторых принципов легко возмещает незнание некоторых фактов"
Клод Адриан Гельвеций

Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №344 (17 — 23 декабря 2018)

Время на прочтение3 мин
Охват и читатели12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →

Красивая и познавательная анимация: случаи кругового движения и колебаний

Время на прочтение4 мин
Охват и читатели15K
Здравствуйте.

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



Для отрисовки я использовал javascript и canvas. Для каждого примера дана ссылка, где вы можете всё внимательно посмотреть. Можно заглядывать в исходный код, можно копировать себе — я не буду возражать. Материал вполне может пригодиться на занятиях и факультативах по физике, математике или информатике.

Итак, поехали.
Читать дальше →

Годные туториалы на YouTube

Время на прочтение3 мин
Охват и читатели58K
На YouTube много бесплатных обучающих и курсов и туториалов.

image

Я веду freeCodeCamp, YouTube канал без рекламы. У нас есть полные видеокурсы и учебные пособия по многим популярным языкам программирования и фреймворкам (включая JavaScript, Python, Java, Ruby, C, C ++, Angular и не только).

Есть и другие YouTube каналы с бесплатными уроками по программированию, которые ничуть не хуже, а иногда даже лучше, чем платные.

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

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

Есть много отличных каналов, для которых у меня не хватило места в этом списке. Поделитесь своими находками в комментах.