Pull to refresh
10
0
Андрей @mamontoff

User

Send message

Сбор данных мониторинга из Frontend JS приложений используя Grafana Faro

Level of difficultyEasy
Reading time6 min
Views6.7K

Здравствуйте. В данной статье будет выполнено рассмотрение и установка инструмента Grafana Faro для осуществления сбора данных мониторинга из Frontend приложений написанных на JavaScript. Также, перед непосредственным использованием Grafana Faro, выполним установку в кластере Kubernetes всех остальных необходимых компонентов Grafana стека.

Читать далее

Сомнительная инициатива ВК…

Level of difficultyEasy
Reading time3 min
Views60K

Добрый день, вечер или что у вас там на марсе. Хотел бы обратиться к людям придумавшим новый, модный и очень интересный инструмент под кодовым названием «perfomance-review».

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

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

Давай к делу, хватит разводить сопли…

Читать далее

Behavioral-интервью в IT: что это и как подготовиться? (вопросы с ответами для Software Developer + грамматика)

Reading time8 min
Views14K

Многоэтапный процесс интервью в IT иногда занимает до 40 дней, но как правило большинство кандидатов отваливаются именно после одного из первых этапов отбора - behavioral interview.

Обычно behavioral questions включают в себя вопросы на следующие темы...

Читать далее

Архитектура Учи.ру: облака, модульность и унификация

Reading time7 min
Views2.2K

В этом году Учи.ру исполняется 10 лет. За это время компания пережила технологические и архитектурные трансформации. Она выросла из простого сайта, где можно было решать примеры на счёт столбиком, до группы компаний с курсами по школьным и внешкольным предметам, олимпиадами и многим другим. Команда научилась справляться с внезапным усилением трафика, одновременно запускать несколько задач и «распиливать» огромный монолит на кусочки.

Сейчас может показаться, что все используемые нами решения стандартны, но в далеком 2012 году мы внедряли их одними из первых. Я, Алексей Вахов, директор по инновациям Учи.ру, расскажу о ключевых технологиях и архитектурных принципах, которые лежат в основе платформы.

Читать далее

Полноценное руководство по проведению встреч one-on-one для менеджеров

Reading time11 min
Views14K

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

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

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

Читать далее

История Учи.ру: от мини-монолитов до микросервисной архитектуры

Reading time7 min
Views5.6K

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

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

Читать далее

Опыт внедрения Service Mesh на Nomad и Consul

Reading time7 min
Views9.4K

В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры.

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

Как мы находим неочевидные ошибки в интерфейсах онлайн-заданий для детей

Reading time7 min
Views25K
Каждый новый урок на платформе — это плод совместного труда методистов, дизайнеров, иллюстраторов, программистов и тестировщиков. Новые задания обычно проходят тестирование в школах, где методисты могут пронаблюдать, насколько они понятны ученикам, собрать отзывы и обратную связь. Но некоторые проблемы на малых выборках могут остаться незамеченными. И здесь приходит на помощь изучение детальных действий учеников — куда кликнули, какие числа ввели, какой ответ выбрали. Действия детей внутри задач дают ценную информацию, которая позволяет совершенствовать нашу платформу, чтобы сделать обучение более удобным и понятным. Доработки могут касаться как интерфейса заданий, так и формулировок объяснений и вопросов.


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

Как работает реляционная БД

Reading time51 min
Views558K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Мониторинг для бедных или SAR + MySQL + Gnuplot

Reading time10 min
Views22K

Почему именно SAR?


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

Существует множество хороших систем мониторинга, таких как Zabbix, Nagios, Cacti и т.д. Но для нашей ситуации все они не подходят, в силу ясных причин — они сами потребляют ресурсы, которых у нас итак не очень много. Сразу возникает вопрос, как быть? И тут к нам на помощь спешит SAR.
Читать дальше →

Искусственный рассвет

Reading time9 min
Views234K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?

Иерархическая Темпоральная Память (НТМ) и алгоритмы ее самообучения

Reading time2 min
Views14K
Привет всем Хабражителям, кто интересуется вопросами искусственного интеллекта! Всех с Прошедшими праздниками! Пора двигаться дальше.

В конце прошлого года я закончил перевод последней версии документа о «Hierarchical Temporal Memory» (HTM), который теперь можно найти рядом с оригиналом на сайте Numenta.com.

Что это такое и зачем оно все? Это последняя разработка весьма небезысвестного Джеффа Хокинса сотоварищи, моделирующая работу отдельных слоев коры головного мозга. Эта штуковина позволяет (если не накосячить все сделать правильно) выделять из входного потока данных сходные события, их последовательности, проводить их распознавание и предсказание. Всех, кого интересуют подробности, милости прошу под хабракат.

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

Система отзывов и рейтингов для товара в интернет-магазинах

Reading time2 min
Views6.4K
Для покупателя в интернет-магазине (ИМ) очень важны рекомендации уже купивших, рейтинг товара, отзывы о нем. Наверняка, каждый пользовался Яндекс.Маркетом и представляет, что это такое.

Небольшой скриншотик для понимания
image

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

Как легче начать работать с PostgreSQL имея опыт в MySQL?

Reading time1 min
Views1K
Возникла передо мной задача подружиться с PostgreSQL. Сам я разработчик на PHP и до сих пор использовал СУБД MySQL. По ней имею довольно высокий уровень. Как, затратив наименьшие усилия, начать работать с Postgres? Перечитывать мануал — куча потерянного времени, потому что различия между двумя этими СУБД не сильно велики. Попытался поискать статей по теме миграции, но ничего толкового не нашел. Может у кого-нибудь есть такие статьи в букмарках, или кто-то сам писал? Или сможет опытом поделиться?

Речь конечно идет о чем-то более полном, чем описания отличий в счетчиках (инкрементных полях).

PRFLR, или как работает ваш код на продакшине

Reading time2 min
Views3K
Коллеги, приветствую. Мы хотим рассказать вам о нашем проекте под названием PRFLR. Это инструмент для анализа быстродействия работы кода прямо в production режиме. И realtime.
Читать дальше →

Начало работы с Push Notifications в PhoneGap

Reading time3 min
Views26K
Доброго времени суток, хабрапользователи!

Push Notifications не включены в API PhoneGap. Если сделать небольшой поиск по документации PhoneGap, то можно найти только Notifications которые представляют собой обычные alert диалоги с вожможностью использования в них звуковых эффектов и вибрации.
Но что делать, если вам просто необходимо создать кроссплатформенное приложение с Push Notifications? Я хочу обратить Ваше внимание на тестовый пример работы с некоторыми из них при помощи Android. В результате, из разработанного проекта можно будет получить также iOS, BlackBerry и Windows Phone приложения.


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

Фильтр Блума на PHP

Reading time3 min
Views19K

Что это?


Википедия гласит:
Это вероятностная структура данных, придуманная Бёртоном Блумом в 1970 году, позволяющая компактно хранить множество элементов и проверять принадлежность заданного элемента к множеству. При этом существует возможность получить ложно-положительное срабатывание (элемента в множестве нет, но структура данных сообщает, что он есть), но не ложно-отрицательное.



А попроще


Это способ проверки существования элемента в огромной выборке.
как это работает?

Пара слов об интернационализации приложений

Reading time12 min
Views46K
Я давно регулярно читаю Хабр и заметил, что здесь довольно мало внятных статей о локализации ПО, ориентированных на разработчиков. По своему опыту управления проектами локализации я могу сказать, что локализация — это не только перевод строк и адаптация приложения к контексту той или иной страны, но и постоянное противоборство (в идеальных случаях — равноправное взаимодействие) с разработчиками.
В этой статье я постараюсь на примере показать, как можно создать так называемый localization-friendly code, то есть, организовать ресурсы таким образом, чтобы существенно облегчить локализацию приложения, снизив избыточные временные и финансовые затраты.
Сразу же оговорюсь, что речь пойдёт в первую очередь об интернационализации, то есть, об учёте всех лингвистических особенностей на этапе разработки. Если же ресурсы вашего проекта изначально не подразумевали локализацию, а впоследствии вы решились на неё, то их «затачивание» под локализацию может выйти намного дороже, чем доход от неё.



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

Простое сравнение изображений с помощью php

Reading time3 min
Views27K
Алгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.

Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Читать дальше →

Избавляемся от дублирования сквозного кода в PHP: рефакторинг кода с АОП

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

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

Эта статья о том, как можно избавиться от дублирования сквозного кода, и как сделать его чуточку лучше с помощью АОП.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity