Pull to refresh
0
0

Архитектор

Send message

Как коммитить в open source. Пошаговый гайд

Level of difficultyEasy
Reading time2 min
Views8.7K

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Читать далее
Total votes 35: ↑29 and ↓6+32
Comments23

Классификация текста с помощью нейронной сети на Java

Reading time12 min
Views79K
– Наша Лена уходит в декрет, – сообщил начальник, – поэтому нам надо искать замену на время ее отсутствия. Часть задач мы распределим, а вот как быть с задачей перенаправления обращений пользователей?

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

– Давай я напишу программу, которая это будет делать автоматически! – ответил я.

На этом увлекательный роман заканчиваем и переходим к технической части.

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments28

Обучаем компьютер чувствам (sentiment analysis по-русски)

Reading time12 min
Views84K


Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. Недавно на хабре появилась статья про использование машинного обучения для анализа тональности, однако, она была настолько плохо составлена, что я решил написать свою версию. Итак, в этой статье я постараюсь доступно объяснить, что такое анализ тональности, и как реализовать подобную систему для русского языка.
Читать дальше →
Total votes 90: ↑85 and ↓5+80
Comments40

Нейронные сети для начинающих. Часть 1

Reading time7 min
Views1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments64

Покупать готовую MDM или разрабатывать свою?

Reading time9 min
Views11K
Здесь я уже писал о том, что такое MDM-система и зачем она нужна. Теперь мне хочется затронуть тему выбора, который так или иначе встает перед всеми, кто задумывается об управлении мастер-данными: купить ли готовую MDM-систему или разработать ее собственными силами.

Универсального рецепта традиционно не существует, и каждый должен решить для себя, какой путь выбрать. Чтобы принять правильное решение, необходимо определить набор требований к MDM, а после этого правильно оценить свои силы и потребности в функционале.

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

Управление жизненным циклом мастер-данных:


Ключевая функциональность MDM-систем – это способность управлять мастер-данными на всем протяжении их жизненного цикла: от момента их определения до момента прекращения их использования.
Читать дальше →
Total votes 5: ↑1 and ↓4-3
Comments6

Что такое «система управления мастер-данными» и зачем она нужна

Reading time8 min
Views42K
Какие бывают данные

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

Ниже представлены 5 ключевых типов:

1. Метаданные (Metadata);
2. Референс-данные (Reference data);
3. Мастер-данные (Master data);
4. Транзакционные данные (Transactional data);
5. Исторические данные (Historical data).
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments35

Технический долг. Как не обанкротиться

Level of difficultyEasy
Reading time4 min
Views9.1K

Привет, Хабр! Хотел бы поделиться с вами своим анализом работы с техническим долгом.

Как появился этот долг? Мы его взяли что бы поставить заказчику функционал раньше, чем мы бы смогли, если бы не «заняли». Так же как бизнесмен берет кредит для своей бизнес идеи.

? Экстремальное программирование — это пример разработки с кредитом

Читать далее
Total votes 16: ↑10 and ↓6+5
Comments13

ksqlDb или SQL как инструмент обработки потоков данных

Reading time16 min
Views11K

Kafka нельзя назвать новым продуктом на рынке ПО. Прошло примерно 10 лет с того времени, как компания разработчик LinkedIn выпустила его в свет. И хотя к тому времени на рынке уже были продукты со схожей функциональностью, но открытый код и широкая поддержка экспертного сообщества прежде всего в лице Apache Incubator позволила ему быстро встать на ноги, а впоследствии составить серьезную конкуренцию альтернативным решениям.

Традиционно Kafka рассматривался как набор сервисов для приема и передачи данных, позволяющий накапливать, хранить и отдавать данные с крайне низкой задержкой и высокой пропускной способностью. Этакий надежный и быстрый (да и в общем-то наиболее популярный на данный момент) брокер сообщений по этой причине весьма востребован во множестве ETL процессов. Преимущества и возможности Kafka многократно обсуждались, в том числе и на Хабре. К тому же, статей на данную тематику весьма много на просторах интернета. Не будем повторять здесь достоинства Kafk-и, достаточно посмотреть на список организаций, выбравших этот продукт  базовым инструментом для технических решений. Обратимся к официальному сайту, согласно которому на данный момент Kafka используется тысячами компаний, в том числе более 60% компаний из списка Fortune 100. Среди них Box, Goldman Sachs, Target, Cisco, Intuit и другие [1].

На сегодняшний день Apache Kafkaне без оснований часто признается лучшим продуктом на рынке систем по передаче данных. Но Kafka не только интересен в качестве брокера сообщений. Огромный интерес он представляет и в силу того, что на его основе возникли и развиваются многие специфические программные продукты, которые позволяют Kafka существенным образом расширить возможности. А это свою очередь позволяет ему уверено продвигаться в новые области ИT рынка.

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

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

Reading time9 min
Views4.3K

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

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

Чем различаются Kafka и RabbitMQ: простыми словами

Reading time8 min
Views90K

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

Читать далее
Total votes 56: ↑53 and ↓3+55
Comments33

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views693K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments45

Kubernetes — изучаем паттерн Sidecar

Reading time6 min
Views52K

Kubernetes - это движок оркестрации контейнеров с открытым исходным кодом для автоматического развертывания, масштабирования и управления контейнеризированными приложениями. Под (Pod) – это базовое понятие при проектировании приложений в Kubernetes. Kubernetes оперирует подами, а не контейнерами, при этом поды включают в себя контейнеры. Под может содержать в себе описания одного или нескольких контейнеров, монтируемых разделов, IP-адресов и настроек того, как контейнеры должны работать внутри пода.

Под, содержащий один контейнер, относится к одно-контейнерным подам и это самый распространенный вариант их использования в Kubernetes. Под, который содержит несколько связанных контейнеров, относится к мульти-контейнерным подам. Есть несколько паттернов для мульти-контейнерных подов и один из них — это паттерн sidecar. В этом посте мы на примере проекта детально рассмотрим этот паттерн.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments0

OpenID Connect: авторизация внутренних приложений от самописных к стандарту

Reading time7 min
Views14K
Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощает монотонные операции, сокращает затраты на реализацию авторизаций, позволяет находить много готовых решений и не ломать голову при разработке новых. В этой статье я расскажу об этом переходе и о шишках, которые мы успели набить.

intro
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments3

Исповедь ничтожества

Reading time9 min
Views124K

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

P.S. Извиняюсь за кликбейтный заголовок, но, мне кажется, он лучше всего описывает содержание этой статьи.

 P.P.S. Очень много текста внутри. 

Читать далее
Total votes 223: ↑211 and ↓12+247
Comments385

Обзор новорождённой платформы Scorocode

Reading time5 min
Views16K


BaaS-платформы (Backend as a Service) сделали разработку и сопровождение backend'а для мобильных и веб-приложений достаточно простыми и предсказуемыми процессами. Одним из флагманов движения BaaS стала компания Parse, но в 2016 году она заявила о прекращении обслуживания клиентов с 2017 года.

В связи с закрытием их сервиса и отсутствием русскоязычных облачных BaaS, мы решили создать собственный аналог — Scorocode. Об этом под катом.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments49

Эволюция SDN: путь в прекрасное программируемое будущее

Reading time6 min
Views8.2K

По прогнозам аналитиков, к 2018 году мировые расходы на программно-конфигурируемые сети, имеющие первостепенную важность для облачных ЦОД, возрастут до 35 миллиардов долларов:



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

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments5

Программно-определяемый ЦОД: зачем это нужно в практике сисадмина

Reading time10 min
Views20K

Концепция программно-определяемых ЦОД появилась очень давно. Тем не менее, на практике мало что было реализовано и работало, разве что у IaaS-провайдеров. По факту чаще всего была обычная виртуализация. Теперь же можно шагнуть дальше на стеке VMware, а можно реализовать всё на Openstack — тут придётся думать головой и взвешивать много факторов.

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

Зачем это нужно? Очень просто: начиная с автоматизации рутины, отвязывания зависимости от физического железа; точно знать потребление каждого ресурса; знать до копейки, и заканчивая тем куда и как идут деньги в IT-бюджете. Последние две причины лежат немного за пределами обычных админских целей, но очень полезны для CIO или сисадминов среднего и крупного бизнеса, рассчитывающих на полное взаимопонимание с коммерческим отделом. И премию, чего уж там.

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments0

Конкурс от Samsung

Reading time1 min
Views1.4K
Samsung объявила очередной конкурс приложений с большими призами. В прошлом году был конкурс для смартфонов на платформе Bada, нынешний конкурс расчитан на Android-смартфоны.

image

Всего предлагается 2 категории: для игр и неигровых приложений. В каждой категории будут отдельно оцениваться обычные приложения и программы использующие S Pen.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments3

Создание простой 2D игры на Android

Reading time10 min
Views374K
Доброго дня всем!

Когда я писал эту «игру» у меня возникала масса вопросов по поводу зацикливания спрайтов так что бы они появлялись через определенное время, так же были проблемы с обнаружением столкновений двух спрайтов и более, все эти вопросы я сегодня хочу осветить в этом посте так как в интернете я не нашел нормального ответа на мои вопросы и пришлось делать самому. Пост ни на что не претендует, я новичок в разработке игр под android и пишу я для новичков в данной отрасли. Кому стало интересно прошу под кат.
Читать дальше →
Total votes 87: ↑67 and ↓20+47
Comments30

Information

Rating
Does not participate
Location
Россия
Registered
Activity