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

Пользователь

Отправить сообщение

«Ну что, я уже мидл?»: байки из-за кулис онлайн ИТ-курсов

Время на прочтение 10 мин
Количество просмотров 16K

Ребята из наших команд любят делиться экспертизой — выступают на конференциях и митапах, пишут статьи на Хабр, ведут блоги, подкасты и каналы. Есть еще одна группа — те, кто преподает на ИТ-курсах.

Cпросили у пяти коллег, как там все устроено. Заодно разобрались, в чем разница между преподавателем и наставником и всегда ли автор курса его же преподает. А еще узнали о платформах для менторства в разных форматах.

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

DevDay про микросервисы. Запись лучших докладов

Время на прочтение 1 мин
Количество просмотров 10K


В прошлую пятницу мы собрали 140 разработчиков, чтобы поговорить о микросервисах — деплое, координации, согласованности. Делимся с вами записью двух лучших, по мнению участников, выступлений.
Смотрите, что получилось
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 1

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

Время на прочтение 10 мин
Количество просмотров 29K


Наше подразделение работает без руководителей с конца 2015 года. Сами решаем, кому и сколько платить, кто поработал хорошо, а кто не очень, кого нанять, а с кем расстаться. В статье расскажу про самое сложное — работу с людьми. Поделюсь тем, как у нас инженеры аттестуют инженеров, кто теперь делает всю ту полезную работу, которую делали руководители и, конечно же, сколько человек пришлось уволить, чтобы это всё внедрить.
Инженеры могут всё
Всего голосов 70: ↑62 и ↓8 +54
Комментарии 148

Сравнение эффективности поиска: Elasticsearch и конкуренты

Время на прочтение 5 мин
Количество просмотров 17K

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

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

Почитать на каникулах. Лучшие посты в нашем блоге за 2018 год

Время на прочтение 4 мин
Количество просмотров 9.6K


Привет! Грядут новогодние каникулы, а с ними и некоторое количество свободного времени Собрали подборку популярых статей из нашего блога. Внутри деление → бекенд, фронтенд, команда, мобильная разработка.

Приглядитесь, даже если почитываете наш блог время от времени.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Комментарии 0

Дружим gRPC с долгоживущим проектом, PHP и фронтендом

Время на прочтение 11 мин
Количество просмотров 21K


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


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

Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 7

Практическое руководство по Unicode'изации

Время на прочтение 16 мин
Количество просмотров 28K


Мы, наконец, это сделали! Долгое время позорное наследие CP1251 раздражало разработчиков, наводило на мысли о том, что, как же так? Эпоха Unicode уже давно наступила, а мы все еще используем однобайтовую кодировку и расставляем в разных местах костыли для совместимости с внешними системами. Но причина тому была достаточно рациональная: перевести на Unicode большой проект, в который развился Мой Мир, очень трудоемко. Мы оценивали это в полгода и не были готовы тратить столько ресурсов на фичу, которая не принесет русскоязычной аудитории существенной пользы.

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

Разумеется, первое, что было необходимо для интернационализации проекта, это начать принимать, передавать, обрабатывать и хранить данные в UTF-8. Процедура эта для большого проекта непростая и длительная, по пути нам пришлось решить несколько достаточно интересных задач, про которые мы постараемся рассказать.
Читать дальше →
Всего голосов 74: ↑63 и ↓11 +52
Комментарии 19

Для чего и как мы скрываем госномера автомобилей в объявлениях Авито

Время на прочтение 7 мин
Количество просмотров 88K
Привет. В конце прошлого года мы стали автоматически скрывать номера автомобилей на фотографиях в карточках объявлений на Авито. О том, зачем мы это сделали, и какие есть способы решения таких задач, читайте в статье.

Hide my plate!
Hide my plate!
Всего голосов 105: ↑87 и ↓18 +69
Комментарии 181

5 способов деплоя PHP-кода в условиях хайлоада

Время на прочтение 14 мин
Количество просмотров 21K
Если бы хайлоад преподавали в школе, в учебнике по этому предмету была бы такая задача. «У соцсети N есть 2 000 серверов, на которых 150 000 файлов объемом по 900 Мб PHP-кода и стейджинг-кластер на 50 машин. На серверы код деплоится 2 раза в день, на стейджинг-кластере код обновляется раз в несколько минут, а еще дополнительно есть „хотфиксы“ — небольшие наборы файлов, которые выкладываются вне очереди на все или на выделенную часть серверов, не дожидаясь полной выкладки. Вопрос: считаются ли такие условия хайлоадом и как в них деплоить? Напишите не менее 5 вариантов деплоя». Про задачник по хайлоаду можем только мечтать, но уже сейчас мы знаем, что Юрий Насретдинов (youROCK) точно бы решил эту задачу и получил «пятерку».


На простом решении Юрий не остановился, а дополнительно провел доклад, в котором раскрыл тему понятия «деплой кода», рассказал про классические и альтернативные решения масштабного деплоя кода на PHP, проанализировал их производительность и презентовал самописную систему деплоя MDK.
Всего голосов 48: ↑44 и ↓4 +40
Комментарии 19

Почему программные задачи всегда занимают больше времени, чем вы думаете

Время на прочтение 6 мин
Количество просмотров 21K
Каждый в IT-индустрии знает, насколько сложно оценить срок выполнения проекта. Трудно объективно оценить, сколько времени займёт решение трудной задачи. Одна из моих любимых теорий заключается в том, что здесь имеет место просто статистический артефакт.

Предположим, вы оцениваете проект в 1 неделю. Предположим, есть три одинаково вероятных результата: либо он займёт 1/2 недели, либо 1 неделю, либо 2 недели. Медианный результат фактически такой же, как и оценка: 1 неделя, но среднее значение (aka average, aka expected value) составляет 7/6 = 1,17 недель. Оценка фактически откалибрована (беспристрастна) для медианы (которая равна 1), но не для среднего.
Читать дальше →
Всего голосов 50: ↑49 и ↓1 +48
Комментарии 24

Хакатон DevDays'19 (часть 2): парсер звуковых сообщений для Telegram и проверка грамматики в IntelliJ IDEA

Время на прочтение 7 мин
Количество просмотров 2.3K
Мы продолжаем рассказывать о проектах весеннего хакатона DevDays, в котором участвовали студенты магистерской программы «Разработка программного обеспечения / Software Engineering». Первая часть рассказа.



Кстати, хотим пригласить читателей присоединиться к VK-группе магистратуры. В ней мы будем публиковать самые свежие новости о наборе и учебе. Видеозапись со дня открытых дверей также можно будет найти в группе. Напоминаем: мероприятие пройдет 29 апреля, подробности на сайте.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0

Я продаю лук в Интернете

Время на прочтение 4 мин
Количество просмотров 52K


Точнее говоря, лук Видалия.

Этот сорт лука считается сладким: благодаря мягкому вкусу и аромату люди едят его точно так же, как яблоки. По крайней мере, так делают большинство моих покупателей.

Во время телефонного заказа — в сезоне 2018 года, если мне не изменяет память — один из них поделился со мной историей о том, как в свой отпуск он пронёс Видалию на борт круизного лайнера. Во время каждого приёма пищи мой клиент мучил официанта: «Возьмите луковицу, покрошите её и добавьте в мой салат». Эта история заставила меня улыбнуться.

Да, если ты любишь Видалию, то ты её любишь

Однако, позвольте мне не забегать вперёд.

Как я начал? Я не фермер. Я — айтишник.
Читать дальше →
Всего голосов 127: ↑100 и ↓27 +73
Комментарии 79

Об одной уязвимости, которой нет

Время на прочтение 4 мин
Количество просмотров 9.5K

image
В конце марта 2019 года американская компания Trustwave, занимающаяся кибербезопасностью и сервисами по защите от угроз, опубликовала сообщение об уязвимости в СУБД PostgreSQL, которая присутствует во всех версиях, начиная с версии PostgreSQL 9.3 по версию 11.2. Эта уязвимость была зарегистрирована в базе данных уязвимостей информационной безопасности CVE (Common Vulnerabilities and Exposures ) под номером CVE-2019-9193. Это сообщение вызвало большой переполох, так как по системе оценок уязвимостей CVSS (Common Vulnerability Scoring System) данная уязвимость получила рейтинг 9.0 по 10-балльной шкале.

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

С сожалением об отсутствии в C++ полноценного static if или…

Время на прочтение 15 мин
Количество просмотров 9.8K

… как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона?


Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C++. И уже C++ стал подсматривать за D. Например, появившийся в C++17 if constexpr, на мой взгляд, — это прямое заимствование из D, прототипом которому послужил D-шный static if.


К моему сожалению, if constexpr в С++ не обладает такой же мощью, как static if в D. Тому есть свои причины, но все-таки бывают случаи, когда остается только пожалеть, что if constexpr в C++ не позволяет управлять наполнением C++ного класса. Об одном из таких случаев и хочется поговорить.


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


Задача, которую требуется решить


Требуется создать хитрый вариант "умного указателя" для хранения объектов-сообщений. Чтобы можно было написать что-то вроде:

Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 90

Thinking with Portals: создаём порталы в Unreal Engine 4

Время на прочтение 32 мин
Количество просмотров 19K
image

В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную.

Что такое портал?


Давайте начнём с примеров и объяснения того, что такое портал. Проще всего описать порталы как способ прохода из одного пространство в другое. В некоторых популярных играх эта концепция используется для визуальных эффектов и даже для геймплейных механик:

Примеры порталов в играх (GIF)


Antichamber (2013 год) и Portal (2007 год)


Prey, 2006 год

Из трёх игр самой известной, вероятно, является Portal, однако лично меня всегда восхищала Prey и именно её я мечтал скопировать. Однажды я попробовал реализовать собственную версию в Unreal Engine 4, но не особо преуспел, потому что в движке не хватало функционала. Тем не менее, мне удалось провести вот такие эксперименты:


Однако только в новых версиях Unreal Engine мне наконец-то удалось добиться нужного эффекта:

Всего голосов 33: ↑31 и ↓2 +29
Комментарии 13

10 способов сэкономить на IT-инфраструктуре для всех

Время на прочтение 9 мин
Количество просмотров 17K
Это был 2013 год. Я пришёл работать в одну из компаний-разработчиков, создающих ПО для частных пользователей. Мне говорили разное, но меньше всего я ожидал увидеть то, что увидел: 32 непогашенных виртуалки на арендованном тогда ещё неприлично дорогом VDS, три «свободных» лицензии Photoshop, 2 Corel, оплаченная и неиспользуемая мощность IP-телефонии и прочее по мелочи. В первый месяц я «удешевил» инфраструктуру на 230 тысяч рублей, во второй почти на 150 (тысяч), потом геройство закончилось, начались оптимизации и в итоге мы наэкономили полмиллиона за полгода.

Опыт нас вдохновил и мы стали искать новые пути экономии. Сейчас я работаю в другом месте (угадайте, где), поэтому с чистой совестью могу поведать о своём опыте миру. И вы делитесь, давайте делать IT-инфраструктуру дешевле и эффективнее!


«Последнюю шерсть ощипали с вашими затратами на сервера, лицензии, ИТ-активы и аутсорсинг», — ворчал финансовый директор и требовал планирования и бюджетирования
Читать дальше →
Всего голосов 40: ↑35 и ↓5 +30
Комментарии 36

Управление Docker контейнерами в Go

Время на прочтение 4 мин
Количество просмотров 9.6K

Документация!


Когда вы решите написать, свой велосипед по ловле хуков из docker hub или из registry для автоматического обновления/запуска контейнеров на сервере, вам может пригодиться Docker Cli, который поможет управлять демоном Docker в вашей системе.
image

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

Пишем чат бота для ВКонтакте на python с помощью longpoll. Часть вторая. Двойные циклы, исключения и прочая ересь

Время на прочтение 4 мин
Количество просмотров 12K
Приветствую, Хабр. Эта статья является продолжением вот этой. Перед прочтением настоятельно рекомендую ознакомится с ней если вы этого не сделали ранее.

Сегодня вы узнаете:

  1. Как получать более одного ответа, пусть и колхозно
  2. Как подключить к этому яндекс переводчик
  3. И как писать пользователю что он сделал всё неправильно
Читать дальше →
Всего голосов 19: ↑12 и ↓7 +5
Комментарии 2

Создание чат-бота с помощью службы Azure Bot

Время на прочтение 6 мин
Количество просмотров 7.8K
Сегодня у нас практическое занятие по созданию чат-ботов с использованием Azure Bot Service и Microsoft QnA Maker. Всего за пару часов практического изучения вы сможете освоить эти технологии. Присоединяйтесь!
Просим обратить внимание

Для лучшего освоения курса стоит отвести на него около двух часов времени. В ходе вас ждет много практики и работы на виртуальной машине. Кроме того, просим заложить время и на настройку инфраструктуры, которая потребуется для прохождения этого модуля (Все пароли для входа в виртуальную машину вы найдете на вкладке «Resources»).

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

Как и зачем я писал парсер для сайта Tradingview. Автоматизация торговли своими руками

Время на прочтение 6 мин
Количество просмотров 25K

Проблема: На текущий момент наиболее удобным и полноценным программным обеспечением (далее ПО) для автоматизации торговли на российском биржевом рынке является небезызвестный ТСЛАБ.


Несмотря на несомненные плюсы в виде удобного визуального редактора для написания торговых скриптов, который позволяет писать роботов даже без знания языков программирования, есть ряд недостатков, которые делают использование данного ПО для меня крайне не практичным. И думаю не только для меня, учитывая, что средний размер счёта на Мосбирже как правило не превышает 500 тыс.р.


1. Стоимость: Абонентская плата 4500р./мес+аренда виртуального сервера (1000 р./мес.)
Это постоянная издержка ложится очень сильным бременем на финансовый результат моей торговли. Поэтому имея размер счёт в размере 500 тыс.р. и надеясь с него получить хотя бы 20% годовых, с существующими издержками вам нужно зарабатывать порядка 32-35%, чтобы выйти на плановую доходность.


2. Нестабильность работы: Несмотря на то, что мои алгоритмы работают преимущественно с рыночными заявками (тип заявок, который предполагает 100% исполнение), мои позиции часто удваивались, либо не исполнялись вовсе.


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


Архитектура всего проекта с текущим и функционалом и планируемыми доработками представлен на рисунке ниже.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность