Как стать автором
Обновить
0
0
Дмитрий @LazyProger

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

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

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Время на прочтение17 мин
Количество просмотров66K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


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

Nuxt as fullstack server: frontend + backend API Server (Часть 1)

Время на прочтение6 мин
Количество просмотров25K
Nuxt as fullstack server: frontend + backend API Server


Разработчики Nuxt предлагают 3 метода доступа к API:

  1. Встроенный в Nuxt сервер Connect и использование serverMiddleware
  2. Интегрированные фреймворки (Express, Koa, Hapi и т.д.)
  3. Внешние API сервера

Я покажу на простом примере как организовать API сервер с использованием serverMiddleware на том же инстансе Nuxt, который у нас отвечает за frontend.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

Процедурная генерация уровней

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


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


Думая, как бы упростить себе жизнь, в голову пришла идея о процедурной генерации. Ясное дело, её тоже надо будет писать, но как говорилось в одном известном произведении, "лучше день потерять, потом за пять минут долететь".


Внимание! Под катом много текста и "жирных" гифок.

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

Данные из Google Таблиц на вашем сайте

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


Привет!

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

Поехали.

1. Открываем Таблицу Google


Для примера, я возьму таблицу, в которую падают результаты из Google Формы.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии15

Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»

Время на прочтение3 мин
Количество просмотров54K
Перевод отрывка из интервью с создателем Node.js Раяном Далом (Ryan Dahl) в котором обсуждается модель программирования и язык Go.

— Расскажи нам, как проходила начальная разработка Node? Это ведь уже было достаточно давно, ты создал Node в 2009.

Райан: — Я думаю для себя лично, что нет лучшего момента в жизни, когда ты, как это говорится, «в потоке» и у тебя есть идея, в которую ты сильно веришь. И при этом есть время, чтобы сесть и на самом деле работать над ней. И я думаю, Node была именно такой идеей, которая ждала, чтобы её кто-то ухватил, и если бы не я, то это бы сделал кто-то другой. Но так случалось, что я был тогда достаточно свободен от работы и имел время, и мог работать нон-стоп несколько месяцев, которых как раз были нужны, чтобы выкатить начальную версию. Так что да, это был отличный период.

— Отлично, супер. Node построена на идее «полностью асинхронной» модели программирования. Удачна ли она была для Node?
Читать дальше →
Всего голосов 94: ↑65 и ↓29+36
Комментарии618

Nuxt.js: 28 килобайт пользы для веб-разработчика

Время на прочтение5 мин
Количество просмотров43K
В эту пятницу на Хабре я прочитал вводную статью про Nuxt.js, но в комментариях резюмировали, что маловато будет. Так случилось, что мы в Voximplant используем эту штуку и она приносит большую пользу. Под катом я расскажу про «киллер фичу» этого микро-фреймворка и где он может пригодиться.
Всего голосов 34: ↑31 и ↓3+28
Комментарии20

Корутины в Kotlin (гайд)

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


Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии20

Четыре типажа программистов

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

Привет.


Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

Читать дальше →
Всего голосов 258: ↑237 и ↓21+216
Комментарии548

Яндекс открывает технологию машинного обучения CatBoost

Время на прочтение6 мин
Количество просмотров102K
Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

Всего голосов 216: ↑215 и ↓1+214
Комментарии128

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

Время на прочтение10 мин
Количество просмотров10K
Сегодня у нас не совсем обычная статья. Как следует из заголовка, она посвящена проблемам непрерывной защиты веб-приложений и разбита на две части, отражающие два взгляда на проблему: с позиции разработчиков WAF (Андрей Петухов, SolidLab) и с точки зрения центра мониторинга и противодействия кибератакам, который использует WAF для оказания сервиса клиентам (@avpavlov, Solar JSOC).

Начнем мы с разработчиков, а через неделю дадим слово эксплуатантам WAF.



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

SecureLogin  —  забудьте о паролях

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

В начале июня сотрудник компании Sakurity Егор Хомяков (Egor Homakov) написал пост о созданной им технологии SecureLogin, являющейся заменой парольной аутентификации. Несмотря на то что Егор наверняка прекрасно говорит и пишет по-русски, мы не смогли найти русскоязычного варианта и решили сделать перевод оригинальной статьи. Результат вы можете найти под катом.

Читать дальше →
Всего голосов 23: ↑11 и ↓12-1
Комментарии17

Возможности PostgreSQL для тех, кто перешел с MySQL

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

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


Мы рады сообщить, что подготовка к PG Day'17 Russia идет полным ходом! Мы опубликовали полное расписание предстоящего мероприятия. Приглашаем всех желающих прийти и похоливарить с Антоном лично



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


Почему вообще возникла идея такого доклада? Дело в том, что PostgreSQL сейчас явно хайповая технология, и многие переходят на эту СУБД. Иногда — по объективным причинам, иногда — просто потому что это модно.


Но сплошь и рядом складывается такая ситуация, когда какой-нибудь условный программист Вася вчера писал на MySQL, а сегодня вдруг начал писать на Посгресе. Как он будет писать? Да в целом также, как и раньше, используя лишь самый минимальный набор возможностей новой базы. Практика показывает, что проходят годы, прежде чем СУБД начинает использоваться более менее полноценно.

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

Почему стоит полностью переходить на Ceylon или Kotlin (часть 1)

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

В последнее время активную популярность набирает Kotlin. А что если попробовать выбрать более экзотические языки, и применить к ним те же аргументы? Статья написана по мотивам этой, практически повторяя все аргументы за Kotlin. Основная задача: показать, что Ceylon может практически тоже самое, что и Kotlin, применительно к Java. Но кроме этого у Ceylon есть кое-что еще, что будет описано в следующей статье.


Хочу рассказать о новом языке программирования, который называется Ceylon, и объяснить, почему вам стоит использовать его в своём следующем проекте. Раньше я писал на Java (много и долго, более 10 лет, начиная с Java 1.4 и заканчивая Java 8), и Java мне нравилась. Затем на меня большое впечатление произвела Scala, в результате чего Java как язык стал любить несколько меньше. Но судьба свела меня с языком Сeylon, и в последние полтора года мы пишем на Ceylon везде, где только можно. В реальных коммерческих проектах, правда внутренних. И в данный момент я не представляю себе ситуации, в которой лучше было бы выбрать Java, я не рассматриваю Java как язык, на котором стоит начинать новые проекты.


Ceylon разработан в Red Hat, автор языка — Gavin King, известный по такому фреймворку как Hibernate. Он создавался людьми, которые хорошо понимают недостатки Java, основная цель заключалась в решении сугубо прикладных задач, обеспечение максимально легкой читаемости кода, избегание любых неоднозначностей и подводных камней, во главу всего стала предсказуемость и структурная красота языка. Также большое внимание уделялось приемлемому времени компиляции. В настоящее время версия языка 1.3.2, непосредственно я познакомился с языком, когда вышла версия 1.2.0.


Хотя Ceylon компилируется в JavaScript, я сконцентрируюсь на его первичной среде — JVM.


Итак, несколько причин, почему вам следует полностью переходить на Ceylon (порядок совпадает с одноименными пунктами соответствующей Kotlin статьи):

Читать дальше →
Всего голосов 55: ↑40 и ↓15+25
Комментарии150

Аренда выделенных серверов в России

Время на прочтение5 мин
Количество просмотров19K
Привет, хабровчане! Честно сказать, мы не думали, что уже после первого поста наш небольшой запас выделенных серверов разберут буквально за считанные часы. Спасибо за доверие! Надеемся, что вас порадует качество канала и железа. Теперь мы подготовили новое оборудование, а к нему новогодний подарок — 1 Гбит бесплатно.


Положение на рынке ЦОД-ов


Сейчас очень много хостинговых компаний предоставляют выделенные сервера в аренду. У кого-то параметры крутые, а цена завышена, у других — наоборот, дешево, но начинка мало для чего подойдет. Чтобы найти идеально подходящий для задачи сервер надо потратить не один час времени на сайтах с рекламной информацией, чтобы понять, что и где надо брать. При этом мало кто пишет о критериях выбора — в основном причины почему надо выбрать именно этого поставщика услуг.
Читать дальше →
Всего голосов 21: ↑11 и ↓10+1
Комментарии4

Языку программирования Go — семь лет

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

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

Что такое Go и чем он хорош, мы описывать не будем: кто в теме, знают и так, а остальные могут почитать в Википедии. Уже вчера мы поделились с вами полезным переводом 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков, а сегодня передаём слово нашим разработчикам, пишущим на Go. В честь годовщины мы задали каждому из них три вопроса:

  1. Почему ты выбрал Go (плюсы/минусы)?
  2. Что ты уже написал на Go?
  3. Как лучше изучать Go, что посоветуешь начинающим?

Вот что они ответили.
Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии34

Создание писем с возможностью отписки через заголовок «List-Unsubscribe» в Яндекс и Gmail (Mail.ru — не рекомендуется)

Время на прочтение3 мин
Количество просмотров43K
Сразу оговорюсь и скажу, что метод работает и с другими почтовыми сервисами. В данной статье были протестированы только Яндекс, Gmail и Mail.ru.

image

Современные почтовые сервисы поддерживают обработку заголовка List-Unsubscribe. Если этот заголовок есть, то сервис выведет кнопку для отписки от вашей рассылки.

Почему это нельзя использовать для писем mail.ru, описано в самом конце статьи.

Это полезно и удобно. Полезность кнопки «отписаться» заключается в следующем: те, кому ваша рассылка неинтересна, нажмут «Отписаться» вместо «Это спам» с большей долей вероятности, чем если бы этой кнопки не было. В итоге довольный подписчик и чистая карма вашей рассылки и домена рассылки в целом.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Комментарии81

Как сверстать тему для WordPress

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

Введение


В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии28

Лучшие инструменты для JavaScript-разработчика

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


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

Но прежде чем перейти к делу, хотим уточнить:

  • Не нужно ломать копий, если в этот список не попали какие-то из ваших любимых фреймворков или библиотек.
  • Следите за обновлениями используемых вами инструментов. В последнее время начала активно внедряться кроссбраузерная и кроссаппаратная (cross-device) поддержка. Например, можно воспользоваться сканером, который подскажет, совместимы ли более старые версии с большинством устройств.

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

Тонкости Javascript/Node.js. Увеличиваем производительность в десятки раз

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

Вступление


Появилась необходимость обмениваться сообщениями между сервером и клиентом в бинарном виде, но в формате JSON в конечном итоге. Начал я гуглить, какие существуют библиотеки упаковки в бинарный вид. Пересмотрел немало: MesssagePack, Bson, protobuf, capnproto.org и другие. Но эти все библиотеки позволяют паковать и распаковывать готовые бинарные пакеты. Не очень копался, возможно ли делать парсер входящего трафика по кускам. Но суть не в этом. С такой задачей никогда не сталкивался и решил поиграться с нодой и сделать свой. Куда же без костылей и велосипедов? И вот с какими особенностями Node.js я столкнулся…
Читать дальше →
Всего голосов 47: ↑35 и ↓12+23
Комментарии38

Подражай-повторяй-применяй! Английская грамматика на счет три

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


Кажется, нас давно тут не было, и мы возвращаемся и возвращаемся не с пустыми руками: та-дам! До определенного момента Lingualeo был отличным способом пополнять словарный запас свежими идиомами и «живой» лексикой спикеров TED. Вы могли развивать навыки, изучая интересный контент. Но сегодня все изменилось.

За следующие 7 минут вы узнаете, чему мы научились у самих себя в детстве, про NLP-парсинг предложений, современные фишки front-end разработки и про новый способ изучать грамматику онлайн.
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии57

Информация

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