Pull to refresh
22
0
Андрей Щетинин @andrewsch

User

Send message

Двенадцать заповедей локализации ПО

Reading time11 min
Views14K


Вы представили новый сайт — и все в восторге. Ваш дизайн свеж, код безупречен, вы полностью готовы к запуску. Но тут кто-то интересуется: «А на японском работает?»

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

Локализация делает ваш движок готовым к работе на любом языке — и будет гораздо проще, если вы займетесь ею с самого начала. Компания-локализатор Alconost перевела для вас дюжину простых правил, благодаря которым можно спокойно запускаться в любой точке мира.
Читать дальше →

Интерфейсы: Мой, твой, ваш, наш или этот

Reading time4 min
Views33K
Заметка о точках зрения.

image

Эволюция Моего Компьютера


Помните иконку Мой Компьютер (My Computer) на старых версиях Windows? То была чудесная маленькая иконка, представляющая собой всё, что было на вашем компьютере — все программы, все труды и произведения, все цифровые кусочки пользователя.

В более поздних версиях Windows Microsoft назвали эту иконку Компьютер (Computer), позднее переименовав её в Этот Компьютер (This PC). С чем были связаны эти перемены? Возможно, местоимение “мой” вводило в заблуждение? Было непоследовательным? Или вообще не нужным?

image

Постоянные смены названия этой иконки заставили меня задуматься: по каким критериям
разработчики делают выбор между «мой» и «ваш»?

Бравый справочник css-свойств для новичка

Reading time1 min
Views28K
Как новички изучают css-свойства? Они читают про все свойства, которые только есть, что-то запоминают, в основном только width, height и background, а потом постоянно рыщут по своим конспектам и гуглу, пытаются вспомнить какое свойство за что отвечает, как оно пишется и какие у него есть значения.

И тут мне пришла в голову идея. А что если сделать такую штуку, которая наглядно показывает как пишутся и работают все css-свойства? Причем, все это на одной странице.

Таким образом, за два вечера создался вот такой css-помощник: lesson-web.ru/modules/css_helper
Читать дальше →

История одного тестового задания

Reading time5 min
Views58K
Глава отдела разработки Ecwid Василий Васильков написал о том, как кандидаты делают тестовые задания и что из этого выходит. Получилось забавно. Публикуем заметку слово в слово.

***

Я расскажу историю одного тестового задания. Немного длинную, но, надеюсь, интересную.

У нас в Ecwid все тестовые задания для инженеров выложены открыто на GitHub вот тут — github.com/Ecwid/new-job. Можно просто начать делать любую понравившуюся задачу, никого не предупреждая, а потом, когда сами будете довольны результатом, поделиться им со мной.

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

Качальщик нужно сделать действительно очень примитивный. Судите сами — ты ему список ссылок в текстовом файле, а он скачивает эти файлы и кладет в указанную папку на локальном диске. Должен уметь качать несколько файлов одновременно (в несколько потоков, например, 3 потока) и выдерживать указанное ограничение на скорость загрузки, например, 500 килобайт в секунду. Всё.
Читать дальше →

Без ТЗ: почему клиент не хочет его

Reading time5 min
Views78K
Из практики бизнес-аналитика: как клиенты пытаются запустить проект без ТЗ, и что с этим делать?



1. «У нас очень маленький и простой проект»


Когда я умру, и черти придут тащить меня в ад, они начнут именно с этой фразы. С каждым шагом они будут рассказывать мне о том, как вспомнили о каком-то новом ерундовом функционале, который изначально подразумевался и всем очевиден…
Читать дальше →

Log in или Log on? Front-end или Frontend? Продолжаем разбираться

Reading time2 min
Views28K


В прошлый раз мы говорили о разнице между login и log in. В продолжение темы — ещё несколько нюансов, о которых вы просили рассказать в комментариях.

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

Проверка мобильного приложения на соответствие требованиям европейского законодательства в области защиты данных

Reading time1 min
Views5.7K
В конце сентября на Хабре появилась заметка со ссылкой на чеклист для проверки приложений на соответствие европейскому законодательству в области защиты данных. В комментариях к заметке несколько человек высказали пожелание о переводе документа с немецкого на местное наречие. Ничтоже сумняшеся решил перевести данный документ на русский язык.

» Черновик перевода я оставил на GitBooks (просьба все правки по переводу добавлять прямо туда).
» Скомпилированная и готовая к боевому использованию версия документа может быть найдена тут.
» Оригинальная версия всё еще лежит здесь.
Читать дальше →

Человеческий фактор

Reading time7 min
Views28K


В реальном мире такой сюжет, что просто захлебнёшься. В автора игры Z-Game, перевозящего тираж настолок, влетает грузовик на МКАДе. Полтиража и легковушка в хлам, у Марвина — сотряс, но он бодр и счастлив, через сутки продолжает развозить коробки. В ночь перед детским утренником, куда должна была прийти учитель-воспитатель для мастер-класса, выясняется, что она заболела — и мы ищем срочно замену в 6 утра. При комплектации выставки забываем вложить правила в демонстрационные образцы (400 штук) — срочно отправляем человека самолётом из России в Германию, а потом превращаем хорошую гостиницу в сборочный цех производства. После выставки у нас, по идее, останется несколько палет товара, который не хочется везти обратно — пошукали, кому его можно продать — и почти случайно подписали контракт на дистрибуцию по всей Европе. На сайте человек оставляет комментарий про товар «муравьиная ферма», рассказывая, что это, на самом деле, концлагерь для муравьёв. Суть обращения — переименуйте товар.

И это только три дня.
Читать дальше →

Что означает восстание водителей Uber для платежной индустрии

Reading time11 min
Views17K
imageС развитием цифровых платформ, связывающих поставщиков услуг и потребителей, все чаще можно заметить странный феномен — одна из сторон ни с того ни с сего начинает находить изъяны в еще вчера казавшейся идеальной бизнес-модели. Для процессинговой компании PayOnline подобные цифровые платформы представляют особый интерес, поэтому тенденции, затрагивающие этот сегмент рынка, для нас всегда актуальны. Ниже перевод материала, автор которого дает вышеупомянутому феномену специальное определение: «амнезия мэтчмейкерской модели».

Мэтчмейкеры — компании, которые помогают двум или нескольким группам клиентов найти друг друга в рамках своей платформы. К этому понятию можно отнести как динамичные публичные компании, такие как Alibaba, Facebook или Visa, так и наиболее дорогие стартапы вроде Airbnb и Uber.

Пугающая эпидемия поразила многих мэтчмейкеров, достаточно удачливых чтобы решить наиболее серьезные проблемы этой модели: успешный запуск и масштабный рост. По словам Карен Уэбстер, Uber, Facebook, Android и даже OpenTable вкупе с платежными сетями и некоторыми другими инноваторами страдают от этой болезни. Она возникает у одной из заинтересованных участников платформы, ранее получивших немалую пользу за счет ее стремительного роста и особенностей ее модели. Теперь же такие участники хотят продолжать получать те же результаты и даже больше, но за счет еще меньших усилий. В этом материале Карен ставит диагноз и предлагает лекарство, которое, по иронии судьбы, оказалось в точности тем же средством, которое изначально обеспечило успех мэтчмейкеров.
Читать дальше →

С маленькой или с Большой

Reading time5 min
Views37K
Такая мелочь, как применения заглавных букв может быть весьма важной. Для английского языка. Статья будет особенно полезна тем, кто занимается разработкой продуктов на английском.
(Кстати, кто еще не знает, «вуз» пишется маленькими буковками.)

image

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

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

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

Пятница: все дизайнеры интерфейсов попадают в ад…

Reading time1 min
Views47K
image

Каждый раз, когда я вижу надпись «Обновить сейчас или напомнить завтра», у меня возникает улыбка, при мысли о том, что все люди, участвовавшие в разработке подобных диалоговых окон (с*ки, верните кнопку «Нет и никогда больше не спрашивать»), окажутся в тепленьком уютненьком аду, где им нужно будет просто ввести телефонный номер…

Лепим микросервис

Reading time6 min
Views15K

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


Используемые компоненты:



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


  • player_registered(id,name);
  • player_renamed(id,name);
  • player_won(id, points).

Сервис раз в минуту должен отсылать сообщение с содержимым рейтинга.Рейтинг сортируется по набранным очкам за календарную неделю.

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

Пара распространённых заблуждений про радиоканалы RFID и Wi-Fi (и RFID как точки Wi-Fi)

Reading time7 min
Views43K

RFID-метка для пациентов, чтобы их было видно на карте больницы

— А можете каждому строителю чип в голову вшить?
— Теоретически да, но, может быть, объясните, зачем вам это нужно?
— Они у нас стройматериалы воруют. Прямо во время работ. А так каждого будет видно, куда он там зашёл, куда не надо.

Проект решился вшиванием в форменную одежду RFID-метки, разделением стройки на зоны и дальше тем, что делается в сети при построении периметра. То есть построением профиля «белого» трафика — кто, куда и когда ходит. А потом — как на файрволле — запретили строителям всё остальное. Кражи сразу сократились. Прораб получил потустороннюю силу и видел почти каждый косяк.

А дальше каждый чёртов раз, когда я рассказываю про RFID-решение, люди начинают махать руками и путать эти метки с Wi-Fi, Bluetooth и пассивными резонирующими контурами. Одна из причин — некоторые RFID-метки действительно работают по Wi-Fi 802.11. Давайте расскажу, как это используется на практике в разных странах.
Читать дальше →

Проектирование большого проекта на примере аналога Alibaba.com

Reading time9 min
Views23K
Многие рассказываю о проектировании: как пользоваться Axure или Sketch, какие функции должен содержать сайт, как правильно спроектировать страницу товара. Это все, безусловно, очень полезно, но не показывает полную картину происходящего в проектировании. В интернете даже нет ни одного полного примера технического задания на проекты такого уровня. На самом деле, чтобы спроектировать большой сайт, нужно потратить сотни часов на исследования, прототипирование и разработку подробного ТЗ. В этой статье я впервые в рунете покажу все этапы проектирования и результаты по ним, полный динамический прототип (более 150 прототипов) и большое ТЗ (более 200 страниц описания). Все это мы будем делать на примере проектирования аналога крупнейшей в мире E-commerce площадки «Alibaba.com».
Читать дальше →

Ранний релиз или выдержанный?

Reading time7 min
Views8.6K

Что общего между mutt, mplayer и gzip помимо того, что это качественные проекты с открытым кодом? В качестве подсказки даю наводящий вопрос: вы можете точно назвать месяц выхода очередной версии Debian Linux, до официального объявления на вебсайте?




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

график или ad-hoc?

Jasmine vs. Mocha, Chai и Sinon

Reading time6 min
Views39K
Тестирование в JS становится все более распространенной практикой. Но с чего начать? Существует множество фреймворков которые предоставляют API для написания JS тестов.

Данная статья — это краткий обзор различий между двумя популярными фреймворками для тестирования JS: Jasmine 2 и Mocha. Мы также обсудим наиболее полулярные библиотеки Chai и Sinon которые часто используются в связке с Jasmine и Mocha.

1. API (application programming interface)


API в Jasmine и Mocha очень схожи. Они оба поддерживают написание тестов используя BDD (Behavior Driven Development) подход. Вы можете спросить: «что такое BDD»? Если кратко, это подход к написанию тестов, который предоставляет возможность описания функциональности на разговорном языке.

describe('calculator', function() {
  describe('add()', function() {
    it('should add 2 numbers together', function() {
      // assertions here
    });
  });
});

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

Управление задачами на разработку. История из жизни

Reading time6 min
Views13K
О том, когда задач больше чем ресурсов на их выполнение, очередь задач со временем увеличивается и часть из них можно смело назвать «дурацкими».
Дурацкая задача – когда ожидаемая от реализации польза не оправдывает количества необходимых ресурсов, но Заказчик настаивает на необходимости её выполнения.
О
  • управлении потоком задач на разработку,
    Как избавится от «дурацких» задач?
  • управлении расходами на разработку,
    Как определить и выбрать самые выгодные задачи?
  • распределении ограниченных ресурсов.
    Как сделать так, чтобы все Заказчики были довольны, а количество ресурсов при этом осталось тем же?

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

Вводим текст красиво

Reading time8 min
Views55K
Сырые, но важные данные вроде номеров телефонов или кредиток — это именно то, что пользователи чаще всего вводят в наших приложениях. И с этим есть огромная проблема. Перепроверять 16 цифр своего Мастеркарда или 11 цифр номера телефона — это сущий ад для любого юзера. Решать эту проблему, естественно, приходится разработчикам, от лица которых я и пишу этот пост.

Поскольку современный Андроид не предоставляет инструментов для автоматического форматирования произвольного текста, эту задачу каждый решает своими костылями силами. Сначала в наших проектах эта задача решалась по месту: возникла необходимость — напиши свой TextWatcher и форматируй как надо. Но мы быстро поняли, что так делать не стоит — количество локальных костылей и специфических багов росло экспоненциально. Кроме того, задача весьма общая, так что и решать её надо системно.

Для начала хотелось следующего:

  1. Указал маску вроде +7 (___) ___-__-__
  2. Повесил её на EditText
  3. ...
  4. PROFIT

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

Начав работать над этим направлением, мы осознали, что создание полноценного языка описания формата — это сродни написанию своего RegEx-движка, что, честно говоря, в наши планы не входило. В итоге мы пришли к варианту, когда такой язык при необходимости можно добавить в любой момент (даже в клиентском коде) или пользоваться простеньким DSL, доступным из коробки (что в нашей практике решило 90% задач).

Посмотрев на то, что получилось, мы решили, что это круто, и надо бы поделиться с сообществом. Так у нас и родилась библиотека для Android-разработки Decoro. И сейчас я покажу пару фокусов из её арсенала.
Читать дальше →

4 способа увеличить конверсию лендинга и повысить продажи

Reading time4 min
Views6.2K
image

Лендинг — продающая страница, на которую приходит пользователь. Структура посадочной напрямую влияет на продажи. Мы собрали правила по созданию хорошего лендинга и примеры успешных редизайнов, которые помогли увеличить конверсию страниц.
Читать дальше →

Измерение сопротивления и индуктивности двигателя постоянного тока

Reading time9 min
Views28K

Постановка задачи


Есть двигатель постоянного тока. Задача — разработать, собрать и протестировать устройство, позволяющиее реализовать контур тока применительно к этому двигателю. Желаемое время переходного процесса на застопоренном двигателе (без противо-ЭДС) — не более 10мс. Интерфес связи с внешним управляющим контроллером — SPI.

Двигатель постоянного тока, коллекторный, максимальное напряжение 24В, рабочий ток до 5А.

Что значит — контур тока? Самые распространённые драйверы для управления двигателями это всякие вариации полумостов, которые усиливают напряжение. А мне хочется, чтобы драйвер брал на вход не напряжение, а силу тока. Сила, развиваемая электроприводом, прямо пропорциональна силе протекающего тока. А значит, и прямо пропорциональна ускорению на валу двигателя. Такой контур тока позволит избежать извращений, на которые нужно идти без него, как я это делал тут.

Я разбил этот текст на две статьи:


Вот так выглядит макет управляющего железа:


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

Information

Rating
Does not participate
Location
Реховот, Мерказ, Израиль
Date of birth
Registered
Activity