Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Пишем на Go как в Google. Лучшие практики — часть первая

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.3K
Блог компании SkillFactory Open source *Программирование *Go *
Туториал
Перевод

Рекомендации по стилю для проектов Google с открытым исходным кодом


Лучшие практики Go


Этот документ — часть документации по стилю Go в Google. Он не является ни нормативным, ни каноничным, это дополнение к «Руководству по стилю». Подробности смотрите в Обзоре.


О документе


Здесь приведены рекомендации по лучшим практикам применения требований «Руководства по стилю» для Go. Это руководство охватывает общие и распространенные случаи, но не может применяться к каждому частному случаю. Обсуждение альтернатив, по возможности, включено в текст руководства вместе с указаниями о том, когда они применимы, а когда — нет.


Полная документация руководства по стилю описывается в обзоре.

Читать дальше →
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 3

Новости

Kafka Client для фреймворка Ktor

Время на прочтение 6 мин
Количество просмотров 408
Java *Kotlin *
Из песочницы

Мне понадобилось написать приложение на Ktor с использованием Apache Kafka и Kafka Streams. Официального клиента или плагина для Ktor'a я не нашел, а работать с ванильной Кафкой не хотелось, поэтому я как любой уважающий себя разработчик решил написать велосипед.

Читать далее
Рейтинг 0
Комментарии 0

Открытое бесплатное chrome расширение для изучающих японский язык (OCR + translation + annotation)

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 672
Open source *JavaScript *Google Chrome ReactJS *TypeScript *
Из песочницы

В этой статье я хотел бы рассказать как решил создать свой первый проект.

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

Но японский язык (также как и китайский и, частично, корейский) имеют довольно высокий входной барьер для чтения, потому что нужно не только выучить два алфавита, но и запомнить как минимум несколько сотен кандзи (300-500).

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Генерация сайтов с помощью AI

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.4K
PHP *Symfony *DIY или Сделай сам
Из песочницы

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

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 4

Истории

Микрофронтенды — универсальное решение всех проблем или просто удобный подход?

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.7K
Блог компании VK Блог компании Конференции Олега Бунина (Онтико) Разработка веб-сайтов *JavaScript *Программирование *
Обзор

Сейчас понятие «микрофронтенды» встречается довольно часто, но что это такое и какие задачи они решают? Зачем нам микрофронтенды, если есть микросервисы или монолит? И стоит ли тащить микрофронтенды в свой проект только потому, что это модно? Расскажу об этом, а также о трёх способах организации микрофронтендов: Podium, Single-SPA и Module Federation. Какой среди них лучший и нашли ли разработчики в нём панацею? Об этом читайте под катом.

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

Как придумал себе (проблему) задачу и вспомнил школьный курс алгебры

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.8K
Математика *
Из песочницы

Я бы мог побыстрее доделать приложение "в стол" и пойти отдыхать. Но не мог пройти мимо и не задержаться когда дело дошло до подсчёта вероятностей выпадения цифр в последовательности. Решил что переложу бремя такого подсчёта на ГПСЧ, а сам просто придумаю функцию, которая получает необходимую последовательность из целого числа. Статья будет о том, как я придумал такую функцию.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 3

Браузер из барокко. О книжном колесе Рамелли

Время на прочтение 7 мин
Количество просмотров 1.7K
Браузеры Гаджеты Научно-популярное

Не так давно я узнал, что в раннесредневековом Китае и позднесредневековой Европе предпринимались попытки конструировать «поворотные шкафы» и «книжные колёса» — агрегаты для параллельного чтения нескольких текстов. Эти механизмы удивительным образом предвосхитили некоторые свойства GUI, переоткрытые только в XXI веке.

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 2

Сравнение SQL- и NoSQL-баз данных

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 2.8K
Блог компании RUVDS.com SQL *NoSQL *Администрирование баз данных *
Обзор

SQL и NoSQL — две популярные модели баз данных, которые используют для решения различных задач. Чтобы понять, какая из них подойдёт в вашем случае, необходимо разобраться в их различиях, преимуществах и недостатках.

В этой статье я рассмотрю основные характеристики SQL- и NoSQL-баз данных и сравню их, чтобы помочь выбрать лучший вариант для вашего проекта.
Читать дальше →
Всего голосов 29: ↑25 и ↓4 +21
Комментарии 5

Беда “войти в айти” или курсы тестировщика отзывы: Спустя 1.5 года исследования QA-курсов

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 4.5K
Тестирование IT-систем *Тестирование веб-сервисов *Учебный процесс в IT Управление персоналом *Карьера в IT-индустрии
Аналитика

18 месяцев.

400 развернутых интервью с "входящими в IT".

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

~30 курсов, на первые занятия которых автор ходил или общался с организаторами (7-8 курсов предложили полностью бесплатное обучение).

10 Хабр-статей, включая эту (набравшие более 300'000 просмотров).

В результате:

Получен ответ на главный вопрос жизни, Вселенной и всего такого: "Какой процент студентов QA-курсов после выпуска в действительности начинает работать тестировщиком?"

На основании собранной статистики выявлен список худших QA-курсов в обитаемой части галактики с точки зрения самого объективного параметра. А именно - способности выпускников трудоустроиться.

Составлен гайд “Как способным войти в IT с гарантией трудоустройства” (но он не всем понравится)

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 4

Все о Pimcore

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 740
PHP *Symfony *Разработка под e-commerce *
Обзор

Pimcore — мощная open‑source MDM (и не только) система, с которой у меня накопился немалый опыт. В компании SVK.Digital, в которой я являюсь техническим директором, мы занимаемся заказной разработкой и автоматизацией бизнеса, и уже несколько лет внедряем PIMcore на крупных предприятиях. В этой статье я хотел поделиться своим опытом, познакомив читателя с возможностями этого приложения.

Мне даже немного обидно, что в рунете незаслуженно мало информации об этом замечательном продукте. Хоть его и можно обозвать неприличным словом low‑code в какой‑то мере, но мне даже как программисту нравится работать с Pimcore (дальше по тексту расскажу о важных для меня особенностях), да и простор для программирования огромный.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Рекомендации по архитектуре программного обеспечения

Время на прочтение 11 мин
Количество просмотров 2.1K
Блог компании Издательский дом «Питер» Программирование *Исследования и прогнозы в IT *Распределённые системы *
Перевод
Марк Ричардс — спикер GSAS, профессор Академии Apium и опытный практикующий архитектор программного обеспечения, занимающийся, проектированием, выстраиванием и внедрением микросервисов, сервис-ориентированных архитектур и распределенных систем с применением различных технологий. Он работает в отрасли с 1983 года и обладает значительным опытом и знаниями в области архитектуры приложений, интеграции и архитектуры предприятия. Марк — основатель DeveloperToArchitect.com, бесплатного веб-сайта, помогающего разработчику дорасти до архитектора программного обеспечения. Он является автором многочисленных технических книг и видеоматериалов, включая "Фундаментальный подход к программной архитектуре", серию видеоматериалов «Основы архитектуры программного обеспечения», а также нескольких книг и видеоматериалов по микросервисам и корпоративной передаче сообщений. Помимо практических консультаций, Марк также является докладчиком и преподавателем, выступал на сотнях конференций и митапов по всему миру по различным техническим темам, связанным с корпоративными системами. Давайте рассмотрим, каковы его основные рекомендации по архитектуре программного обеспечения.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

Почему шифрование почты за 30 лет не стало мейнстримом?

Время на прочтение 4 мин
Количество просмотров 2.4K
Блог компании GlobalSign Информационная безопасность *Криптография *Браузеры


30 марта 2023 года Mozilla закрыла баг 135636 и исправила ошибку по автоматическому включению/отключению шифрования почтовых сообщений в зависимости от текущей конфигурации отправителя и получателя (режимы OpenPGP и S/MIME). В этом не было бы ничего странного, если бы не одна деталь: тикет открыт 21 год назад. В связи с этим возникает вопрос: почему закрытие такого простого бага заняло больше двух десятилетий?
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 16

Fx — мощная JavaScript альтернатива jq для JSON

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.1K
JavaScript *Программирование *
Обзор

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 7

Как мы создаем Squadus: путешествие от монолита к микросервисами

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 775
Блог компании МойОфис Проектирование и рефакторинг *Софт Микросервисы *
Кейс

На этой неделе мы выпустили Squadus — единое цифровое рабочее пространство, которое позволяет компаниям удобно и гибко структурировать коммуникации. На создание этого on-premise решения ушло порядка трех лет; для ускорения разработки Squadus мы скомбинировали наши технологии и компоненты СПО.

Мы рассмотрели несколько вариантов мессенджеров с открытым кодом в качестве основы, но все они не в полной мере отвечали нашим требованиям и не обеспечивали обслуживание более чем 1000 пользователей. Мы же хотели добиться значительно более высоких показателей — несколько десятков тысяч одновременно работающих пользователей. Поэтому переработали серверные компоненты и внедрили современную микросервисную архитектуру.

В новом цикле статей рассказываем, как Squadus развивался с технической точки зрения. Начнем с бэкенда: поговорим сегодня о переходе от монолитной архитектуры к микросервисной, о том, какие проблемы и как мы решали, и что нам это дало.

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 4

DataHub: как делиться структурированными данными и получать за них донаты?

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 558
Data Mining *Big Data *Открытые данные *Хранение данных *Хранилища данных *
Туториал

Привет! Меня зовут Андрей Шмиг, я основатель и разработчик платформы DataHub - Crowd Data Sourcing at Hand, своего рода GitHub для данных. В этой статье речь пойдёт о том, как создать FREE и SPONSORED репозитории данных, а так же в чем их отличия.

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

Snapshots в Cassandra — как пользоваться и восстанавливать данные?

Время на прочтение 9 мин
Количество просмотров 368
Блог компании Лига Цифровой Экономики NoSQL *Восстановление данных *Распределённые системы *IT-компании

Привет, Хабр! Меня зовут Евгений Абрамкин, я руководитель поддержки третьего уровня в направлении омниканальных решений Лиги Цифровой Экономики. Моя команда — последняя «инстанция» во флоу по решению инцидентов. Мы пишем доработки и фиксы, чтобы победить проблему клиента, а еще предоставляем оптимальную конфигурацию для системы, которая передана в эксплуатацию или требует масштабирования. Это может быть кластер Elasticsearch, балансировщики nginx или что поинтереснее — распределенная NoSQL СУБД Apache Cassandra.

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

API FIRST — что это поменяло

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 913
Блог компании Группа Т1 Программирование *Управление разработкой *
Кейс

Я долго не могла понять, почему это пример API-driven дизайна. Оказалось, api — это пчёлы

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

  • Первый — возможность получить обратную связь есть только тогда, когда код готов и пользователь может проверить решение, кликая разные кнопочки в GUI. Это часто приводит к тому, что реализованную часть системы приходится писать заново.
  • Второй, что хуже — CODE FIRST предполагает каскадную модель разработки: нет возможности настроить параллельно несколько потоков работ.
  • Третий недостаток — отсутствие документации и часто слишком детализированное API. Такое API невозможно переиспользовать. 
  • И ещё один, четвёртый, минус — отсутствие адаптации к изменениям. А изменения обычно происходят уже во время разработки.

На замену CODE FIRST пришёл подход DESIGN FIRST. Главными героями здесь становятся дизайнеры. Сначала они отрисовывают все макеты, проектируют кликабельные интерфейсы, и только потом, после ревью пользователей, пишется код системы. Это улучшает UX/UI, команда получает обратную связь до того, как продукт будет готов. Но и тут есть очевидные недостатки:

  • Дефицит бизнес-навыков и аналитического мышления у дизайнеров.
  • Маршруты, положенные в основу архитектуры системы и UI, часто не совпадают с картой бизнес-процессов пользователя. Проще говоря, дизайнер может изобразить любой вариант UI, но возникает вопрос: а можно ли реализовать ту или эту фичу как функционал?
  • Ну и та же проблема, как и с CODE FIRST: нет возможностей для быстрой и эффективной адаптации к изменениям. 

И вот тогда, на стыке CODE FIRST и DESIGN FIRST, появился подход API FIRST, который удачно объединил достоинства всех предыдущих методов.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 0

Kubernetes-валидаторы и где они обитают

Уровень сложности Средний
Время на прочтение 24 мин
Количество просмотров 478
Блог компании SimbirSoft DevOps *Kubernetes *
Обзор

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

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

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

Будущее уже тут: баг репорт от ChatGPT

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.1K
Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *Искусственный интеллект
Туториал

Проекты в жизни QA бывают разные. Все мы знаем, как сложно тянуть рутинные проекты на саппорте. Почему бы не упростить себе эту рутину, используя современные технологи?)

Предлагаю разобрать три реальных кейса использования ChatGPt в ежедневной рутине — для заведения скучных багов.

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 6

Продакт, не копайся в метриках — апгрейдь технологии, метрики сами вырастут

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 335
Блог компании Альфа-Банк Разработка веб-сайтов *Управление продуктом *
Ретроспектива

Привет, я Паша Розов, CPO платформенных решений. Это моя первая статья на Хабре, жду с нетерпением порцию замечаний и критики в свой адрес, но лучше больше накидайте в сторону платформы, о которой пойдёт речь. Комментарии, которых так ждёт и боится каждый новый автор, помогут мне сделать продукт лучше. 

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 2