Как стать автором
Обновить
6
0
Roman I. Kuzmin @ich

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

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

Coffeescript. И снова о нём. Резюме о приятностях

Время на прочтение4 мин
Количество просмотров5.7K
CoffeeScript — это, если так можно выразиться, язык высокого уровня, преобразуемый в JavaScript.

Основан простым парнем по имени Jeremy Ashkenas при поддержке его корешей, которые упомянуты на github'е. Вдохновленный Ruby, паренёк решил упростить всем нам жизнь и создал его! CoffeeScript!

Интересно?
Всего голосов 44: ↑34 и ↓10+24
Комментарии56

Как проходят алгоритмические секции на собеседованиях в Яндекс

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

Алгоритмическая секция с написанием кода на доске или бумаге — один из важнейших этапов собеседования разработчиков для получения работы в Яндексе. Мы решили подробнее рассказать о том, как устроены эти секции, чтобы помочь будущим кандидатам в подготовке. Кроме того, надеюсь, многие из тех, кто не решается прийти в Яндекс на собеседование, опасаясь слишком сложных испытаний, после этого рассказа поймут, что в действительности всё не так уж и страшно!


Так что мы подготовили для вас следующие материалы:


  • Специальный контест, содержащий задачи, похожие на те, что мы даём на интервью.
  • Этот пост. В нём рассказывается, почему нужно проводить такие секции, а также разбираются все задачи контеста.
  • Два видео, в которых разбираются задачи из контеста: в первом — задача попроще, во втором — две задачи посложнее. Из этих видео вы узнаете о типичных ошибках, допускаемых и при прохождении алгоритмических секций, и при написании продакшен-кода.
Читать дальше →
Всего голосов 86: ↑52 и ↓34+18
Комментарии105

Как Яндекс делает обычные автомобили беспилотными

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


Привет, меня зовут Антон Чистяков. Пару лет назад я работал в хелпдеске Яндекса и даже писал здесь про то, как мы придумали вендомат с аксессуарами. Теперь отвечаю за сборку беспилотных автомобилей и роботов-доставщиков. Под катом расскажу, как мы делаем простые машины беспилотными: от момента покупки авто и выбора имени до сборки и калибровки, на которых всё, впрочем, не заканчивается.
Читать дальше →
Всего голосов 107: ↑103 и ↓4+125
Комментарии138

Переменные CSS — курс молодого бойца

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

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

Основная цель статьи: я хочу иметь место, где собрано все, что я знаю о переменных CSS, чтобы узнать и понять больше. Здесь вы прочитаете обо всем, что должны знать о переменных CSS, включая примеры применения в коде. Вы готовы? Тогда погружаемся.
Приятного чтения!
Всего голосов 28: ↑26 и ↓2+31
Комментарии9

Ускоряем JavaScript-код с использованием типа данных Set

Время на прочтение6 мин
Количество просмотров28K
Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сделать код как можно более быстрым и масштабируемым, применение этих типов данных не всегда оправдано.



В этом материале мы поговорим о том, как, пользуясь типом данных Set, предоставляющим возможность работать с коллекциями уникальных значений, сделать код быстрее. Особенно это актуально для кода крупномасштабных проектов. У типов Array и Set много общего, но использование типа данных Set способно дать программисту такие возможности, ярко проявляющиеся во время выполнения программ, которых нет у типа Array.
Читать дальше →
Всего голосов 61: ↑42 и ↓19+23
Комментарии19

Революция или боль? Доклад Яндекса о React Hooks

Время на прочтение16 мин
Количество просмотров28K
Меня зовут Артём Березин, я разработчик нескольких внутренних сервисов Яндекса. Последние полгода я активно работал с React Hooks. По ходу дела возникали некоторые сложности, с которыми приходилось бороться. Теперь хочу поделиться этим опытом с вами. В докладе я разобрал React Hook API с практической точки зрения — зачем нужны хуки, стоит ли переходить, что лучше учитывать при портировании. В процессе перехода легко наделать ошибок, но избежать их тоже не так сложно.



— Хуки — это просто еще один способ описывать логику ваших компонентов. Он позволяет добавить к функциональным компонентам некоторые возможности, ранее присущие только компонентам на классах.

Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии72

Задачи с собеседований (front-end)

Время на прочтение18 мин
Количество просмотров333K
Так получилось, что за свою карьеру front-end разработчика, я побывала на многих собеседованиях. Тема прохождения интервью не теряет своей актуальности, а в комментариях, когда речь заходит о собеседованиях, начинают ломаться копья. Хочу тоже внести свой вклад и поделиться накопившейся коллекцией вопросов. Прошу.

image
Читать дальше →
Всего голосов 74: ↑58 и ↓16+42
Комментарии230

Wolfensteiny 3D — реверс-инжиниринг 251 байтов JavaScript

Время на прочтение5 мин
Количество просмотров17K
При написании кода многие не задумываются ни о чем, кроме логики самой программы. Меньшее число людей думают об оптимизации кода по времени, по памяти. Но лишь единицы доходят до последнего уровня — сжатии программы до рекордно маленького размера.

Посмотрите, например, на результат работы всего 251 байта JavaScript:


Ну, давайте разбираться, как это работает!
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии16

Веб-компоненты: обзор и использование в продакшне

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

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


Кратко про веб-компоненты: это набор технологий, которые позволяют использовать компонентный подход с инкапсуляцией стилей и скриптов в вебе нативно, без подключения каких-либо библиотек или фейрмворков. Если вам интересно, что предлагают стандарты вместо привычных уже React или Angular, и как это использовать при разработке под старые браузеры, прошу под кат.


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

Service Workers. Инструкция по применению

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


Количество выходов в интернет с мобильных устройств ежегодно растёт на 2-4% в год. Качество связи не успевает за такими темпами. Как итог, даже самое лучшее веб-приложение обеспечит ужасный опыт, если пользователь не сможет его загрузить.

Проблема в том, что до сих пор нет хорошего механизма управления кэшем ресурсов и результатов сетевых запросов. В своей статье я хочу рассказать как Service Worker (SW) может помочь в решении этой задачи. Объясню в формате рецептов — какие элементы и в какой пропорции смешать, чтобы получить нужный результат, исходя из задачи и требований.
Поехали!
Всего голосов 57: ↑57 и ↓0+57
Комментарии40

Все способы вертикального выравнивания в CSS

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

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии20

Async/Await в javascript. Взгляд со стороны

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


В последнее время все больше моих друзей, коллег и людей из сообщества говорят про работу с асинхронными функциями и в частности про использование async/await на своих проектах. Я решил разобраться для себя, что это за зверь и стоит ли его использоваться при разработке боевых проектов.

Первое что хочется развеять, это распространенное заблуждение о том, что async/await — это фича ES7.

По моему мнению, использование терминов ES6 и ES7 само по себе не очень верное и может ввести разработчиков в заблуждение. После удачного релиза спецификации ES2015, называемой ES6, у многих людей сложилось ошибочное мнение, что все в нее не вошло и заполифилено через babel — это фичи ES7. Это не так. Вот список того что появится с релизом спецификации ES2016. Как видите он не такой большой и async/await в нем никак не значится.

Я хочу, чтобы мы говорили правильно. И говоря о той, или иной фиче, ссылались на конкретную спецификацию в рамках которой она описана и реализована, а не мифические ES6, ES7 … ESN.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии53

Как Яндекс научил искусственный интеллект понимать смысл документов

Время на прочтение10 мин
Количество просмотров79K
Сегодня мы расскажем о новой поисковой технологии «Королёв», которая включает в себя не только более глубокое применение нейронных сетей для поиска по смыслу, а не по словам, но и значительные изменения в архитектуре самого индекса.



Но зачем вообще понадобились технологии из области искусственного интеллекта, если еще лет двадцать назад мы прекрасно находили в поиске искомое? Чем «Королёв» отличается от прошлогоднего алгоритма «Палех», где также использовались нейронные сети? И как архитектура индекса влияет на качество ранжирования? Специально для читателей Хабра мы ответим на все эти вопросы. И начнем с самого начала.

Читать дальше →
Всего голосов 145: ↑140 и ↓5+135
Комментарии405

ES6 по-человечески

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

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по ES6. В нём можно ознакомиться с основными понятиями стандарта.
Оригинальный текст в некоторых случаях был дополнен или заменён на более подходящий источник. Например, часть определения ключевого слова const является переводом документации с MDN.
Чтобы лучше разобраться в некоторых концепциях (для выполнения качественного перевода) использовалось описание стандарта на сайте MDN, руководство "You Don't Know JS: ES6 & Beyond" и учебник Ильи Кантора.


Перевод выложил на Гитхаб: https://github.com/etnolover/ES6-for-humans-translation. В случае нахождения ошибок пишите, исправлю.
Ссылка на оригинальный текст: https://github.com/metagrover/ES6-for-humans


Update 22.07.2016: добавил опрос про const


Содержание



Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии87

Веб-технологии для дизайнеров — зачем и как

Время на прочтение4 мин
Количество просмотров15K
При чём здесь апельсины? Просто они — оранжевыеМеня зовут Антон Шеин. Иногда я выступаю с докладами про дизайн, прототипирование и систематизацию интерфейсов.

После каждого доклада, раз за разом мне задают два основных вопроса:

  1. Должен ли дизайнер уметь работать с веб-технологиями?
  2. С чего дизайнеру начать, если хочется с ними разобраться?

Постараюсь ответить на них в этой статье.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии14

Когда ты изменил мир, а никто этого не заметил

Время на прочтение4 мин
Количество просмотров73K
Знаете, что происходит на этой фотографии? Буквально одно из самых важных событий в истории человечества.



А самое удивительное в этой истории то, что в то время практически никто этого не заметил.

Братья Уилбур и Орвилл Райт покорили полёты 17 декабря 1903 года. Мало какие изобретения изменили мир так сильно за последовавший век. Путешествие на поезде из Нью-Йорка в Лос-Анджелес занимало в 1900 году четыре дня. К 1930-м его можно было проделать за 17 часов по воздуху. К 1950-м за шесть часов.

В отличие от, допустим, расшифровки генома, непрофессионал может сразу же осознать чудо полёта для человека. Человек сидел в коробке и превратился в птицу.

Но через несколько дней, месяцев и даже лет после первого полёта Райт, почти никто этого не заметил.
Всего голосов 69: ↑63 и ↓6+57
Комментарии197

«Молчание – золото»: 13 вещей, которые не стоит говорить разработчикам и тестировщикам

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


/ фото Sistema Bibliotecario Vimercatese CC

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

Работа в команде – ответственное занятие, поскольку в этом случае люди отвечают не только за себя, но и за окружающих, они общаются, помогают друг другу. Как бы это ни было банально, ключом к продуктивному общению между людьми всегда является вежливость и взаимоуважение. Однако все же есть определенный список фраз, которые – даже когда они звучат вежливо и корректно – не стоит употреблять в разговоре с разработчиками и тестировщиками, если вы их коллега, заказчик, «владелец» или руководитель проекта.
Читать дальше →
Всего голосов 68: ↑58 и ↓10+48
Комментарии44

Опасный target="_blank"

Время на прочтение2 мин
Количество просмотров200K
Большинство создают внешние ссылки через target="_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство window.opener.

Через window.opener.location мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера.
Читать дальше →
Всего голосов 132: ↑126 и ↓6+120
Комментарии136

Перемещения и трансформации в CSS3

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

Здравствуй, дорогой хабрадруг! В интернете можно найти множество примеров отличного применения трансформаций и переходов в CSS3. В этой статье мы обратимся к основам основ CSS3 и научимся создавать что-то вроде этого. Данный туториал будет полезен тем, кто только начал знакомиться с CSS3. Давай-те же начнем!
Читать дальше →
Всего голосов 76: ↑72 и ↓4+68
Комментарии14

RESTful API на Node.js + MongoDB

Время на прочтение16 мин
Количество просмотров259K
Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.

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

В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.

Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!

Содержание

  1. Node.js + Express.js, простой web-сервер
  2. Error handling
  3. RESTful API endpoints, CRUD
  4. MongoDB & Mongoose.js
  5. Access control — OAuth 2.0, Passport.js

Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии63
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность