Pull to refresh
0
0
Send message

Трудности перевода в разработке: как делать интернациональные проекты и говорить с пользователями на одном языке

Reading time15 min
Views4.4K

В современных приложениях и сервисах часто нужна интернационализация (i18n, от англ. internationalization). Она позволяет создавать интерфейсы с учётом культурных и языковых особенностей пользователей из разных стран. Это требует не только простого перевода, но и некоторых технических решений, порой довольно сложных.

Меня зовут Володин Сергей, я работал руководителем команды разработки VK WorkMail. Сегодня расскажу о том, как инфраструктура переводов позволяет поддерживать 10 языков в нашем продукте и какие технические нюансы стоит учитывать при работе с разными языками. Интернационализация интерфейсов — довольно комплексная и непростая история, хотя на первый взгляд может показаться не слишком приоритетной задачей. Более того, о ней нужно начинать думать в самом начале разработки, чтобы впоследствии не наломать дров.

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments5

Турель из Portal своими руками

Reading time9 min
Views24K

А вы играли в Portal? Даже если нет, сборка личной автоматической турели с детекцией движения и оригинальным голосовым сопровождением наверняка окажется как минимум любопытной, ведь такая диковина может не просто украсить интерьер, но и стать, к примеру, отличным подарком для детей.
Читать дальше →
Total votes 89: ↑88 and ↓1+87
Comments21

Безопасный CSS, или как писать универсальные стили

Reading time11 min
Views32K

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

Читать статью
Total votes 30: ↑28 and ↓2+26
Comments12

Микросервисы: проблемы, которые мы не замечаем

Reading time15 min
Views17K

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

Многие при этом не задумываются, правильно ли они пилят микросервисы. Как в синдроме утенка: увиденное самым первым становится единственно верным решением.

Меня зовут Олег Федоткин, я Head of PaaS СберМаркет, мы занимаемся той самой платформой, которая помогает разработчикам лучше, удобнее и быстрее писать микросервисы. Мы стандартизируем всю разработку, стараясь снизить Time to Market для новых фич. Но это всё равно очень сложно. Поэтому сегодня я разберу самые распространенные микросервисные проблемы.

Читать далее
Total votes 29: ↑27 and ↓2+25
Comments5

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов

Reading time15 min
Views11K

Сталкивались ли вы с задачей построить Enterprise-grade-приложение из десятков приложений, слабо связанных друг с другом, разрабатываемых разными командами, с разными моделями релиза?

Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепция Service Mesh и идея применить «микросервисную модель» и к структуре Service Mesh. Мы реализовали Non Uniform Service Mesh (NUM), который представляет собой продукт и набор паттернов его применения.

Сама статья основана на расшифровке выступления на SaintHighload 2021 в Питере Алексея Ефимова, системного архитектора Netcracker и руководителя отдела Cloud Core. Ссылка на запись — в конце статьи.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments0

Blogged Answers: (почти) полное руководство по особенностям рендеринга в React. Часть 1

Reading time8 min
Views23K

Подробности о том, как происходит рендеринг в React и как влияет на рендеринг применение контекста.

Я часто сталкиваюсь с недопониманием относительно того, как, почему и когда React повторно рендерит компоненты и каким образом применение контекста и React-Redux влияет на время и объем повторного рендеринга. С десяток раз понабивав на клавиатуре различные вариации ответов на эти вопросы, я подумал, что имеет смысл составить одно общее пояснение и при каждом удобном случае ссылаться на него. Учтите, что вся собранная здесь информация уже гуляет по сети и рассматривалась в ряде других замечательных статей и публикаций в блогах. Некоторые из них перечислены в качестве справки в конце оригинальной публикации, в разделе Further Information. Собрать разрозненные сведения в единую картину бывает нелегко, поэтому я надеюсь, что моя статья поможет кому-то разобраться в теме.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments3

Плагин IDEA Mind Map для Intellij IDEA

Reading time8 min
Views15K

При работе в разных компаниях, чаще всего встречалось раздражающее отсутствие актуальной документации или «документационная мусорная куча», где было сложно найти требуемое. Нередко проблемы были в стиле «это знал уволившийся Петя, но его не спросить». Или в наличии деталей, которые были незначимы по мнению разработчика, но которые оказывались критическим знанием «переоткрываемым» последователями (нередко и самим разработчиком, вернувшемуся к проекту). Для облегчения жизни, был сделан специальный инструмент, позволяющий держать записи по проекту прямо среди исходных текстов.


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

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений

Reading time27 min
Views30K


Доброго времени суток, друзья!


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


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


В практической части мы реализуем простое Express-приложение, развернем его на Heroku и оценим безопасность с помощью WebPageTest и Security Headers. Также, учитывая большую популярность сервисов для генерации статических сайтов, мы настроим и развернем приложение с аналогичным функционалом на Netlify.


Исходный код приложений находится здесь.


Демо Heroku-приложения можно посмотреть здесь, а Netlify-приложения — здесь.


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


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

Дружимся с ESP

Reading time10 min
Views158K

Здравствуйте, коллеги и энтузиасты!

Последние пару лет практически все прототипирование несложных IoT-устройств я делаю на NodeMCU, хотя зачастую она и великовата по размеру, и дороговата, и избыточна по функционалу. А все потому, что имела неудачный опыт с ESP-01, которая совершенно не поддавалась прошивке. Сейчас пришло время преодолеть этот барьер и освоить другие железки, от которых мне нужно следующее - Wi-Fi и пины для подключения периферии.

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

Хочу узнать больше >>>
Total votes 17: ↑15 and ↓2+13
Comments33

Отладка Java-приложений из командной строки

Reading time6 min
Views14K

Некоторые ошибки трудно воспроизвести на вашем персональном компьютере, но их легко воспроизвести на производственных или тестовых машинах. Это обычная ситуация, с которой часто сталкиваются профессиональные Java-разработчики. Для отладки таких проблем OpenJDK предоставляет два инструмента: remote debugging и jdb. Эта статья посвящена jdb.

Для приложений Java типичными производственными и тестовыми машинами являются серверы Linux без графического интерфейса, поэтому доступны только инструменты командной строки. И мы не можем использовать профессиональные IDE, такие как IntelliJ IDEA, Eclipse или Apache NetBeans IDE.

В таких сценариях мы можем использовать jdbjdb - это отладчик командной строки, входящий в состав OpenJDK.

Это перевод руководства для начинающих. Очевидно эксперты все это знают и им не стоит тратит время на его чтение...

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments27

Как превратиться в суперзвезду Zoom-звонков за 15 минут. Часть 2. Софт

Reading time6 min
Views13K

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

Читать далее
Total votes 22: ↑19 and ↓3+16
Comments6

Самые зрелищные игры для тех, кто не любит играть

Reading time10 min
Views58K


Не всем нравится играть в компьютерные игры. Представьте — вы общаетесь с идеальным новым партнёром, разделяющим многие ваши предпочтения и интересы, но на вопрос о том, что ему нравится, шутеры или RPG, он отвечает: «Ой, я на самом деле не особо играю в игры, но мне нравится Candy Crush, это считается?»

Прежде чем вы скажете «понятно, пока» и удалитесь на пенсию в окружении кошек, вспомните, что за некоторыми играми для PC так же интересно наблюдать, как и играть, особенно если зритель не игрок. Возможно, они даже поспособствуют тому, что ваша вторая половинка попробует окунуться в мир гейминга. И вот вы уже совместно организуете рейды и спорите, какая из частей Fallout лучше… или же останетесь в одиночестве. Но рискнуть всё равно стоит.

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

В этой статье мы представим отсортированный по категориям список лучших игр, за которыми будет интересно наблюдать. Вероятно, вы заметите, что в списке часто встречаются хорроры; они определённо интересны для просмотра, а поскольку в большинстве подобных игр у игроков нет оружия, просмотр оказывается невероятно напряжённым.
Total votes 52: ↑50 and ↓2+48
Comments78

[Личная история] Разработчик в Сингапуре: найти своё счастье в Юго-Восточной Азии

Reading time16 min
Views26K

После небольшой заметки о Сингапуре возвращаемся к этой теме более детально. Александр Ставонин — Senior Engineer в компании Motional, последние 6 лет провёл в Юго-Восточной Азии, в Сингапуре. Как устроена жизнь в этом городе-государстве? Спойлер: по словам нашего героя — прекрасно, но есть и неоднозначные моменты. У Александра богатый опыт переездов: жил и работал в Киргизии, Казахстане, России, Таиланде, Южной Корее.

Чем крошка-страна лучше городов Европы? Правы ли рейтинги, помещая Сингапур в пятёрку самых дорогих мест для проживания? И как проходят интервью в технологическом хабе Юго-Восточной Азии? Рассказывает Александр.




Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments39

Строим систему для мониторинга качества frontend-проектов

Reading time7 min
Views9.4K

Всем привет! Продолжим цикл историй про то, чем занимается Web Core команда в компании ДомКлик. В предыдущей статье мы рассказывали как мы создаем дизайн-систему. В этой статье хотелось бы поделиться историей разработки системы мониторинга качества front-end проектов - Front Radar. У нас в компании большое число проектов, которые создаются большим кол-вом команд и в связи с этим появилась потребность - проверять актуальность проектов и выявлять проблемные места, которые негативно влияют на клиентский опыт.

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments8

Цвета в Swift: UIColor

Reading time6 min
Views18K

UIColor дает возможность настроить цвет для Dark Mode, дает семантический набор цветов "от Apple", а также дает возможность задать не только цвет, но и паттерн заполнения пространства, что как бы кричит нам, что UIColor это вовсе не цвет. Давайте слегка заглянем в эти чертоги UIColor.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments6

Что почитать (НаучПоп / Научная Фантастика)

Reading time6 min
Views62K

Некоторые время назад сильно увлёкся потреблением информации с научно-популярным уклоном. Но как не заблудиться в миллионах книг? Ресурс то ограничен. А значит придётся выбирать.

Удалось собрать библиотеку по 4 разделам:


Раздел 1. Законы науки и мышление
(Математика, Рациональность, Научный метод, Когнитивные искажения, Нейрофизиология, Ошибки мышления, Доказательная медицина)

Раздел 2. Законы природы
(Физика, Математика, Теория относительности, Квантовая механика, Астрофизика, Астрономия, Изобретения и открытия)

Раздел 3. Законы жизни
(Абиогенез, Теория эволюции, Молекулярная биология, Биоинформатика, Биология клетки, Антропогенез)

Раздел 4. Художественный научпоп / Научная фантастика

Обменяться рекомендациями
Total votes 44: ↑41 and ↓3+38
Comments253

Управление Java Flight Recorder

Reading time15 min
Views31K


Не так давно в мире Java случилось грандиозное событие. Во всех актуальных версиях OpenJDK стал доступен Java Flight Recorder (или просто JFR).


Что такое Java Flight Recorder?

JFR – это механизм легковесного профилирования Java-приложения. Он позволяет записывать и в последствии анализировать огромное количество метрик и событий, происходящих внутри JVM, что значительно облегчает анализ проблем. Более того, при определённых настройках его накладные расходы настолько малы, что многие (включая Oracle) рекомендуют держать его постоянно включённым везде, в том числе прод, чтобы в случае возникновения проблем сразу иметь полную картину происходившего с приложением. Просто мечта любого SRE!


Раньше этот механизм был доступен только в коммерческих версиях Java от корпорации Oracle версии 8 и более ранних. В какой-то момент его реимплементировали с нуля в OpenJDK 12, затем бекпортировали в OpenJDK 11, которая является LTS-версией. Однако вот OpenJDK 8 оставалась за бортом этого праздника жизни. Вплоть до выхода апдейта 8u272, в который наконец-то тоже бекпортировали JFR. Теперь все (за редким исключением) пользователи OpenJDK могут начинать использовать эту функциональность.


Но вот незадача: большая часть документации в интернете относится к старой, коммерческой, версии JFR и во многом не соответствует версии, которая присутствует в OpenJDK. Да и та, что есть, весьма скудная и не способствует пониманию того, как это всё использовать.


В предлагаемой вашему вниманию статье я расскажу, как управлять работой JFR и как его настраивать.

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

Эмулятор RFID на Arduino

Reading time7 min
Views28K

Многие читали мой пост "Эмулятор RFID", где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повторения. Не каждый имеет дома осциллограф, для того чтобы поймать резонанс, да и для прошивки ATtiny85 требуется отдельный программатор.

Поэтому я принял решение сделать такой эмулятор, который может повторить даже ребёнок. Все компоненты продаются чуть ли не в каждой деревне. При этом его функциональность может быть даже расширена. Например, можно сохранять в нём несколько карт или можно добавить ещё считыватель, и сохранять все карты в одном устройстве, или же использовать его для… В общем, поехали.
Total votes 56: ↑56 and ↓0+56
Comments26

Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть

Reading time14 min
Views137K


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Total votes 248: ↑248 and ↓0+248
Comments328

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk

Reading time6 min
Views38K
По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2.

В данном обзоре я не буду описывать «пагубность» влияния CO2, а также низкой влажности на самочувствие и здоровье человека. Также, как и не буду доказывать, что без этого девайса не прожить. Об этом уже написаны тонны статей, как и споров в комментах. Я постараюсь лаконично описать создание максимально бюджетного устройства, но при этом измерительного устройства, а не показометра.

Также для максимальной простоты повторения, в обзоре выложу прошивку для ESP32 и проект Blynk.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments30

Information

Rating
Does not participate
Registered
Activity