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

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.6K

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.8K

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


Когда вы решите написать, свой велосипед по ловле хуков из 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
1
23 ...

Информация

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