Pull to refresh
2
0

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

Send message

Брендсквоттеры на марше: как у нас пытались отжать название сервиса

Reading time5 min
Views30K
Эта история началась чуть более года назад. Если бы я писал плохие детективы, то начал бы ее с фразы вроде “В этот прекрасный весенний день ничего не предвещало беды”. Но так как это не детектив, а реальная жизнь, я просто изложу эту историю максимально кратко и близко к сути. Если она послужит вам полезным предостережением, я буду очень рад. У нас чудом получилось проскочить между Сциллой и Харибдой, но совершенно не факт, что где-то в недрах “Роспатента” сейчас не лежит аналогичная заявка неизвестного брендсквоттера на ваш сервис или программу.

Итак, все началось в тот день, когда мы решили зарегистрировать торговую марку нашего сервиса в России. На тот момент у нас уже была зарегистрированная ТМ в США, поэтому мы не ожидали никаких проблем с регистрацией в РФ. Однако, реальность внесла свои коррективы. Через неделю после начала стандартной процедуры регистрации, мы получили письмо от патентного поверенного, которое, мягко говоря, выбило нас из колеи:
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments58

Тренды онлайн-образования: опыт TED, LinguaLeo, Knewton и других

Reading time5 min
Views20K


То, что сегодня стало большим и зрелым рынком цифровых технологий, строилось руками энтузиастов-самоучек. Пятнадцать-двадцать лет назад дизайну сайтов никто не учил, а вузы не выпускали программистов со специализацией в вебе. Сегодня порог входа существенно ниже, во многом благодаря доступности образования: в интернете полно онлайн-курсов. И это хорошо (если не вестись на всякие «стань C++ программистом за три дня и получай 200К»).

Мы собрали свой топ-5 трендов в онлайн-образовании (да и в обучении вообще), которые кажутся нам особенно важными. В конце статьи — опрос, надеемся, что вы согласитесь поучаствовать и отметить, какие тренды кажутся вам самыми актуальными.
Total votes 48: ↑45 and ↓3+42
Comments12

Формы на сайте — спамер поневоле

Reading time6 min
Views33K


В профильных сообществах email—маркетологов, на форумах, посвященных поддержке CMS, на конференциях — везде сейчас активно обсуждается проблема спам-атак, устойчивым вектором которых является инъекция текста в формы на сайтах. Такой способ используется для отправки спама, а также для проведения узконаправленных атак, парализующих работу с отдельными ящиками.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments80

11 лучших шрифтов для программирования

Reading time3 min
Views259K
Много статей и сайтов сравнивают шрифты для программирования — всё это отличные ресурсы. Так зачем я опять поднимаю эту тему? Потому что сам всегда терялся в десятках шрифтов и не мог понять, какой лучше. Так что я опробовал много шрифтов и выбрал следующие для вас. Они довольно популярны и их легко получить. И самое главное, все эти шрифты бесплатны!

Я ранжировал шрифты по следующим показателям:

  • Насколько различимы схожие символы, такие как 0O, 1lI.
  • Легко ли читается шрифт (ширина строк, ширина/высота символов).
  • И мои личные предпочтения!

Все скриншоты сделаны в VSCode на одном фрагменте кода. Если не обозначено иное, то везде установлен размер "editor.fontSize": 14.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments117

Дайджест свежих материалов из мира фронтенда за последнюю неделю №315 (14 — 20 мая 2018)

Reading time3 min
Views18K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments0

Символы, генераторы, async/await и асинхронные итераторы в JavaScript: их сущность, взаимосвязь и варианты использования

Reading time23 min
Views33K
Сущность и предназначение множества возможностей JavaScript вполне очевидны. А вот некоторые, вроде генераторов, могут, на первый взгляд, показаться странными. Такое же впечатление способны вызвать и, скажем, символы, которые похожи и на значения примитивных типов, и на объекты. Однако, язык программирования — это целостная система, одни возможности которой полагаются на другие. Поэтому обычно нельзя в полной мере понять что-то одно, не разобравшись со всем тем, с чем это связано, от чего зависит, и на что влияет.

image

Материал, перевод которого мы сегодня публикуем, направлен на разъяснение таких механизмов и конструкций JavaScript, как символы, известные символы, итераторы, итерируемые объекты, генераторы, механизм async/await, и асинхронные итераторы. В частности, речь здесь пойдёт о том, почему они появились в языке, и о том, как ими пользоваться. Надо отметить, что темы, которые будут здесь подняты, рассчитаны на тех, кто уже имеет некоторое представление о JavaScript.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments14

Пирамида тестов на практике

Reading time45 min
Views254K
Об авторе: Хэм Фокке — разработчик и консультант ThoughtWorks в Германии. Устав от деплоя в три ночи, он добавил в свой инструментарий средства непрерывной доставки и тщательной автоматизации. Сейчас налаживает такие системы другим командам для обеспечения надёжной и эффективной поставки программного обеспечения. Так он экономит компаниям время, которое эти надоедливые людишки тратили на свои выходки.

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

Содержание

Примечания

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

Как ускорить мобильный поиск в два раза. Лекция Яндекса

Reading time11 min
Views8K
На телефоне веб-страницы часто загружаются дольше, чем на десктопе. Разработчик Иван Хватов рассказывает о причинах отставания и о том, как с ним справляться. Лекция состоит из нескольких частей: первая — про основные этапы загрузки страницы на мобильных устройствах, вторая — про техники, которые мы применяем для ускорения загрузки, третья — про наш метод адаптации верстки под разную скорость.


— Всем привет, меня зовут Иван Хватов, я работаю в инфраструктуре поиска. Последнее время работаю над ускорением загрузки поисковой выдачи. Работаю с версткой, командами бэкэнда и доставкой трафика. Сегодня расскажу, как мы ускоряли мобильный поиск, какие техники мы применяли, успешные и неуспешные. Они неуникальны для нас. Что-то, возможно, сможете попробовать вы сами. Расскажем про наши неуспехи, чему мы на них научились и как пришли к адаптации верстки в зависимости от скорости соединения.
Total votes 41: ↑41 and ↓0+41
Comments2

Весенние митапы (и один летний) от Альфа-Банка

Reading time1 min
Views4.2K

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

Если у вас осталось свободное время – приглашаем на наши весенние митапы:

  • IBMi-MeetUp: авто-тестирование на IBMi
  • React Moscow Meetup 4
  • QAчественное общение: боли в тестировании
  • MskDotNet Meetup

Подробности под катом.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments10

Противостояние: итоги

Reading time8 min
Views7.2K

 
Прошла долгожданная кибербитва «Противостояние», развернувшаяся на базе восьмого ежегодного ИБ-форума Positive Hack Days. Рассказываем от лица непосредственных участников соревнования — команд Jet Secuirty Team и Jet Antifraud Team, о самых ярких технических подробностях состязания хакеров с защитниками. Грязные трюки нападающих, нестандартные способы взлома, хитроумные ловушки и сюрпризы защитников — все это ждет вас под катом.
Total votes 22: ↑22 and ↓0+22
Comments1

Открытая трансляция главного зала HolyJS

Reading time5 min
Views3.4K


Послезавтра в Петербурге начнётся двухдневная конференция HolyJS. Мы будем рады видеть всех на мероприятии, но и для отсутствующих тоже кое-что припасли: доклады первого зала можно будет смотреть бесплатно в прямом эфире на YouTube.

Хотя это только часть от общей программы конференции, попало много интересного для самых разных слушателей: тут и «приключения во фронтенде», и производительность Node.js, и мобильный веб, и так далее вплоть до майнинга крипты в браузере.

Сразу сообщаем заветную ссылку: holyjs-piter.ru/online-free. А под катом приводим описания докладов, попавших в бесплатную трансляцию — можно пробежаться по ним и быстро понять, что из этого вам интересно.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments0

Пакуем в контейнеры, деплоим, мониторим – программа Root Conf

Reading time5 min
Views5.7K
То, что РИТ++ — это фестиваль для тех, кто делает интернет, — не пустые слова. Мы, действительно, считаем, что полезно разбираться не только в тонкостях своего стека, но и быть в курсе общих тенденций отрасли и знать, кто живет по соседству.

А кто соседствует с бэкендерами и фронтендерами? Правильно, эксплуатация! И Root Conf — конференция о поддержке и эксплуатации IT-проектов, мониторинге, виртуализации, CD/CI, отказоустойчивости и всему такому прочему.



Обзор программы построим по следующему принципу: сначала доклады, которые пройдут в главном зале, а потом остальные по секциям.
Вы же помните, что главный зал транслируется нами на YouTube бесплатно? Чтобы не пропустить, подпишитесь на любое из наших уведомлений — на компанию или на сайте в рассылке.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments1

Имитация естественного движения: Steering Behaviors — 2

Reading time24 min
Views11K
Первая часть статьи здесь.


Часть 6. Избегание коллизий


Для правильной навигации NPC часто требуется способность избегать препятствий. В этой части мы рассмотрим steering behavior collision avoidance (избегание коллизий), позволяющее персонажам благополучно уворачиваться от препятствий в окружении.



Введение


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

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


Анализируются препятствия перед персонажем и выбирается ближайшее (наиболее угрожающее).

Поведение избежания коллизий — это не алгоритм поиска путей. Оно заставляет персонажей двигаться по окружению, избегая препятствий, постепенно находя путь сквозь блоки — но в случаях с препятствиями в виде L или T, например, оно действует не очень хорошо.
Total votes 25: ↑24 and ↓1+23
Comments2

7 типичных ошибок в английском, которые мы делаем при общении с иностранцами

Reading time4 min
Views243K
image

Помните анекдот про Штирлица, в котором ничего не выдавало советского разведчика, даже волочащийся парашют и буденовка? Примерно такая же история регулярно происходит с нашими соотечественниками при общении с носителями английского языка. Американец Дэниел на канале онлайн-школы Skyeng рассказал, какие фразы и ошибки выдают в нас иностранцев, а также как этого избежать.
Читать дальше →
Total votes 79: ↑67 and ↓12+55
Comments350

Особенности разработки API: какой API является хорошим?

Reading time21 min
Views24K
Наверное, абсолютно все читатели используют API, работая с фрэймворками, библиотеками, виджетами, как некий язык общения между сущностью и основным приложением. И вы наверняка замечали, что некоторыми API удобнее пользоваться, а в некоторых есть явные проблемы. Всеволод Шмыров (@vsesh) в своем докладе на Frontend Conf, расшифровку которого вы найдете под катом, постарался ответить на вопрос, какой API является хорошим.

Рассказ опирается на опыт разработки АPI Яндекс.Карт, и хотя это и JavaScript-библиотека, многие принципы и особенности его разработки применимы и к другим типам АPI, к примеру, к серверным API и Standalone библиотекам. Все то, о чем пойдет речь, относится именно к публичному АPI. Если к API вашей библиотеки обращаются только ваши коллеги, которым вы можете легко рассказать, что где-то что-то надо поменять, то вы, скорее всего, не столкнетесь с теми проблемами, с которыми сталкиваются разработчики публичного АPI.

image

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


Total votes 30: ↑29 and ↓1+28
Comments17

Безопасный каршеринг: составляющие, основные проблемы и конкурс Яндекса

Reading time6 min
Views18K
Запущенный в феврале Яндекс.Драйв, как и любой сервис каршеринга, работает благодаря комплексу уникальных систем — в автомобиле, в телефоне пользователя и на сервере. Система, которая ещё недавно была в новинку для IT-сообщества, расположена в самой машине. Она включает в себя несколько девайсов — блок телематики, CAN-шину и мультимедийное оборудование. Подробнее о том, как всё это коммуницирует между собой, я и хочу вам рассказать. Кроме того, я объясню, почему именно сейчас компании и эксперты по безопасности должны уделять максимум внимания защите каршеринговых сервисов. Дело в том, что это не просто yet another приложения в вашем телефоне, а целая взлётная полоса для автомобильной индустрии завтрашнего дня.



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

Те, кто обнаружит самую серьезную проблему, получат от Яндекса полмиллиона рублей. Приз за второе место — 300 000 рублей, за третье — 200 000 рублей. О деталях я расскажу чуть ниже, а пока вернёмся к устройству каршеринга.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments31

Поиск и устранение неисправностей Node.js-приложений под капотом

Reading time14 min
Views13K
С момента появления Node.js диагностика совершенствовалась в несколько этапов, от отладки приложений до глубокого анализа производительности. В этот раз речь пойдет о стратегиях использования таких инструментов, как core dump debuggers, flame graphs, ошибках в production и утечке памяти.


Мы расшифровали для Хабра доклад Николая Матвиенко из Grid Dynamics с нашей конференции HolyJS. Далее повествование идёт от лица спикера.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments1

Работа с буфером обмена в JavaScript с использованием асинхронного API Clipboard

Reading time4 min
Views107K
Существует новое API JavaScript, предназначенное для организации асинхронного доступа к буферу обмена с использованием спецификации, которая всё ещё находится на этапе разработки. До сих пор в веб-разработке стандартным способом копирования текста в буфер обмена является подход, предусматривающий использование метода document.execCommand. Основной недостаток этого подхода заключается в том, что это — синхронная блокирующая операция. Асинхронное API для работы с буфером обмена основано на промисах, одной из его задач является устранение этого недостатка. Оно призвано дать веб-разработчикам более простое в использовании унифицированное API для работы с буфером обмена. Кроме того, это API спроектировано с учётом возможности поддержки множества типов данных, а не только text/plain.


Надо отметить, что сейчас новое API доступно только в Chrome 66+ и поддерживает лишь копирование и вставку обычного текста. Кроме того, работает оно только тогда, когда страница загружена по HTTPS или с localhost, и только в тех случаях, когда страница открыта в текущей активной вкладке браузера.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments8

DevConf 2018 уже в пятницу, 18 мая

Reading time1 min
Views1.8K
В эту пятницу, 18 мая, состоится профессиональная конференция веб-разработчиков DevConf 2018. Приглашаем принять участие. Очень кратко про программу:

DevConf::BackEnd: Агрегатное мышление, переписывание проекта с Drupal 8 на Yii 2, Yii 2.1, PHP и фреймворки, Service Oriented Architecture, отправка уведомлений, sample profiling, open tracing, Business Intelligence.

DevConf::FrontEnd: HOC в React, WebRTC: видеозвонки из браузера, Headless Chrome, архитектура большого легаси проекта, JSON API, Фреймворк для индивидуального дизайна, Тестируй это, Node.js и бесплатный митап LuaInMoscow.

DevConf::Storage: MySQL/MariaDB/Percona Server: что нового, логическая репликация в PostgreSQL, SphinxSearch, ClickHouse, ProxySQL для отказоустойчивости MySQL, обзорный доклад про разные механизмы сжатия данных от Андрея Аксенова.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments0

Лучшие методики проектирования производительных мобильных API

Reading time11 min
Views14K


В сети есть множество информативных статей о высокой производительности на мобильных устройствах, и столько же об общем проектировании API. Но очень мало обсуждаются архитектурные решения, необходимые для оптимизации производительности бэкендных API, предназначенных для использования мобильными клиентами.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments3

Information

Rating
5,203-rd
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Registered
Activity