Pull to refresh
-2
0
Send message

Статический анализ и уже выросший проект: внедрять нельзя откладывать

Reading time9 min
Views7K

Зачем нужен статический анализ кода, кажется, никому объяснять сегодня уже не нужно. Но одно дело — поддерживать код «чистым» с первого коммита, и совсем другое — встраивать новый инструмент в проект, который за несколько лет успел разрастись и пережить несколько итераций глобального рефакторинга. Мы работаем с большим количеством плохо документированных источников данных, а статический анализ кода помогает учитывать самые разные граничные случаи.

И ещё один момент: Rusprofile почти целиком написан на PHP, языке со слабой динамической типизацией. Статический анализ кода на PHP уже несколько лет набирает популярность, сказывается здесь и движение самого языка в сторону более строгой типизации. Но мы опасались, что без предварительной подготовки кода пользы от него мало. Аннотировать типами весь код в реальных бизнес-условиях тоже нереально. Сильно медлить с внедрением в рабочий процесс тоже нельзя: чем дальше, тем сложнее что-то кардинально улучшать. Поэтому нужно было оперативно запускаться, чем-то пожертвовав.

Что нам пришлось преодолеть?
Total votes 32: ↑32 and ↓0+32
Comments9

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить

Reading time6 min
Views1.7K

Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на вопросы с использованием графов знаний (англ. Knowledge Graph Question Answering, KGQA), которые обеспечивают доступ к данным Семантической паутины (англ. The Semantic Web) через интерфейс на естественном языке. В ходе работы над такой темой, как многоязычная доступность KGQA-систем, мы с коллегами выявили несколько наиболее острых проблем. Одной из которых является отсутствие многоязычных бенчмарков для KGQA.

В этой статье мы улучшаем один из самых популярных бенчмарков для KGQA -- QALD-9, путем создания эталонных переводов вопросов из исходного датасета на 8 различных языков (немецкий, французский, русский, украинский, белорусский, армянский, башкирский, литовский). Одним из самых важных аспектов является то, что переводы были предоставленны и провалидированы носителями соответствующего языка. Пять из этих языков - армянский, украинский, литовский, башкирский и белорусский - насколько нам известно, никогда ранее не рассматривались в рамках KGQA-систем. А два языка (башкирский и белорусский) рассматриваются ЮНЕСКО как "находящиеся под угрозой исчезновения". Мы назвали новый расширенный датасет "QALD-9-plus". Датасет доступен онлайн.

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

Как я удалённо работал в ИТ компании из Швейцарии и почему в конце концов уволился

Reading time7 min
Views113K

Первое, что себе представляют люди, когда речь заходит о Швейцарии это умопомрачительные виды гор с прагматично-гармонично вписанной архитектурой, вероятно так оно и есть, но мне этого увидеть не довелось, поскольку вся история произошла в 2021 году в период эпидемии. Итак, обо всём по порядку. Шла очередная COVID волна, все сидели на удалёнке и мысль о том, чтобы работать и путешествовать не покидала мой пытливый инженерный ум.

Текущее место работы в крупном российском зелёном банке, накладывало ограничения на передвижения и удалённую работу, вплоть до сообщения домашнего адреса, мониторинга транзакций по зарплатной карте (покупки не далее пешей доступности от дома в обед), мониторинг IP-адреса, используемого для подключения к офисной сети. Как мне кажется, тут был небольшой перегиб в сторону контроля, да это всё решаемые нюансы - можно снять наличные, купить VPN с нодой в России, сообщить IP адрес мобильного оператора - но риски проколоться всегда есть и вдобавок всегда была вероятность срочного выхода в офис, так что, находясь где-то в солнечном Тайланде, оперативно появиться на утро в офисе было бы большой проблемой.

Читать далее
Total votes 120: ↑103 and ↓17+116
Comments294

Инвестиции в IPO: научно доказанный способ зарабатывать 18% в день, или как акулы Уолл-стрит наживаются на Цукербергах

Reading time11 min
Views16K

Профильные Телеграм-каналы и брокеры уверяют, что на вложениях в IPO легко получать по 100% годовых, и даже больше. В этой статье я разбираю, почему ученые-финансисты в чем-то склонны с ними согласиться — и кто на самом деле зарабатывает огромные деньги на IPO (спойлер: скорее всего, это будете не вы).

Читать далее
Total votes 42: ↑40 and ↓2+49
Comments17

Введение в Maven Toolchain

Reading time5 min
Views5.2K

Java развивается гораздо быстрее, чем раньше. Но не все проекты, над которыми мы работаем, поспевают за этим темпом.

У меня есть проекты на Java 8, 11 и 17, и иногда я хочу поиграть с имеющимися сборками более новых версий.

Как обеспечить их создание без необходимости постоянно переключать среды выполнения Java?

Toolchain спешит на помощь!

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

Почему в IT все равны, или Обесценивание высшего образования

Reading time14 min
Views37K

IT — великий уравнитель. Здесь в одной команде могут работать бывшие: учитель физики, социолог, выпускник колледжа по специальности «Сварочное производство», сотрудник НИИ, медбрат и слушатель онлайн-курса «Основы Python за 6 недель» Хорошо ли это?

С одной стороны да — у нас тут классовое равенство, когда человек без образования может получать больше, чем бывший кандидат наук, и все такое. С другой — а почему так получается? Не считая того, что люди буквально бегут от работы «за еду» к работе с перспективами, это то, что IT-компании чаще всего не смотрят  в диплом и не ищут там хоть что-то связанное с «Информационными технологиями». Этому способствует как дефицит кадров, так и понимание, что текущее высшее образование давно ничему не учит. Поэтому в одном ряду и стоят выпускники факультета «Прикладной информатики», «Фармацевтики», обладатели дипломов ПТУ и средней школы.

Читать далее
Total votes 45: ↑24 and ↓21+6
Comments52

Как снова начать читать книги, а не ленту. Часть 1

Reading time5 min
Views49K

За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.

Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложную информацию можно найти в более простом и развлекательном формате, чем 400 страниц сплошного текста. 

Я поняла, что нравлюсь себе больше, когда воспринимаю информацию в потоке, большими кусками. Чтобы прочитать книгу, надо в течение долгого времени держать внимание на одной задаче. Мышца внимания тренируется. 

Но если оставить меня в покое, то рано или поздно я обнаруживаю себя, читающей статьи типа «10 полезных статей для дизайнера», «15 случаев, когда логика малышей поставила родителей в тупик», «Хозяева, над которыми подшутили их питомцы, но они не сердятся». Это — режим золотой рыбки. Прочитать и забыть за пять секунд.

Завидую вам, если у вас не так. Эта статья для таких людей, как я — со слабой волей и низменными желаниями. 

Читать далее
Total votes 59: ↑52 and ↓7+60
Comments92

Роботы-убийцы. Как и зачем машины убивают людей?

Reading time9 min
Views21K


Ровно 43 года назад, 25 января 1979 года произошло убийство, оставившее глубокий след в истории человечества. Именно в этот день Роберт Уильямс, 25-летний рабочий литейного завода Ford Motor Company, расположенного в городке Флет Рок, штат Мичиган, пал от железной руки трудившегося на данном предприятии индустриального робота. Этот инцидент стал первым в мире официально зафиксированным случаем убийства человека роботом, он наделал много шума в прессе и даже попал в книгу рекордов Гиннеса. Первым, но, к сожалению, далеко не последним. Потому в годовщину этой трагической даты нам внезапно захотелось поговорить о машинах-убийцах. Слава роботам!
Читать дальше →
Total votes 49: ↑43 and ↓6+60
Comments64

Почему так много дата-сайентистов бросают работу?

Reading time6 min
Views24K

К старту флагманского курса по Data Science делимся мнением инженера ML о том, какие разочарования могут ожидать вас на работе как дата-сайентиста, чтобы вы были готовы к ним. За подробностями приглашаем под кат.

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments17

Tech Radar X5: какие инструменты и технологии мы используем при разработке

Reading time4 min
Views7.9K

Всем привет! С вами команда X5 Tech. Сегодня мы решили показать наш Tech Radar — сборник инструментов, языков и сервисов, которые мы используем при разработке продуктов. Мы долго к этому шли и наконец-то готовы рассказать о своём опыте публично.

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments8

Погромист. Мои самые эпичные провалы за всю карьеру

Reading time13 min
Views104K

Я люблю критику. Если вы не заметили, я, как старый дед, всё поливаю грязью и всем недоволен.

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

Читать далее
Total votes 231: ↑222 and ↓9+269
Comments204

Пожалуйста, прекратите называть админов девопсами

Reading time6 min
Views48K

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

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

Заголовок статьи не оставляет простора для интриги, в нём, в общем-то, максимально сжато выражена суть нижеследующего повествования - но я всё-таки рискну отнять пару минут вашего времени, расписав более подробно мои соображения на эту тему.

Нам нужен девопс
Total votes 86: ↑83 and ↓3+96
Comments217

Я рефакторю компании

Reading time11 min
Views21K

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

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

Мы превращаем людей в скрипты, а потом заменяем их, если получается.

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

Как правило, пересбор — это такое разбиение процесса на шаги, которые делает либо микросервис (человек или команда) с известным API, либо, если вам ближе функциональный подход, — функция с понятным входом, выходом, проверками и кодом внутри. По сути, такой человек выстраивает API отделов и команд, потом связывает их между собой по-новому. Иногда бывает нужно перестроить компанию серьёзнее либо создать вообще новое направление.

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

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

Читать дальше →
Total votes 57: ↑54 and ↓3+60
Comments23

Первый тролль, лжец и бонвиван эпохи Возрождения

Reading time10 min
Views21K

Представьте, читатель, себе журналиста. Не мелкого жёлтого писаку, а настоящего прожжённого журналюгу, способного движением пера подчеркнуть или вычеркнуть что угодно в масштабе общества. Неутомимый, скользкий, пронырливый и всеми буквально ненавидимый — да, именно о таком человеке сегодня поговорим. Что в этом особенного, спросите вы? О, просто он был первым.

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

Читать далее
Total votes 94: ↑87 and ↓7+98
Comments19

Как получить онлайн магистратуру по CS от американского университета по цене кофе

Reading time9 min
Views35K


Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в FAANG и переехал в UK.

Читать дальше →
Total votes 41: ↑40 and ↓1+50
Comments21

9 библиотек Python для разработки игр

Reading time4 min
Views68K
image


Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

image
Читать дальше →
Total votes 20: ↑14 and ↓6+9
Comments7

Где и как применять low-code платформы

Reading time7 min
Views25K

Разговоры о программировании без программистов идут постоянно. За последние 14 лет моей работы в IT идёт уже вторая волна любви к low-code решениям. Если вы дольше наблюдаете IT-рынок, то наверняка вспомните ещё пару подъёмов этой темы. Я побуду в роли критика low-code платформ, но, заодно, опишу способ применения low-code платформы, при котором это применение будет эффективно и оправдано.

Читать далее
Total votes 18: ↑16 and ↓2+19
Comments78

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

Reading time8 min
Views67K
Объявление о вакансии выглядит отлично — интересная компания, современный стек, никакого легаси и бюрократии. Вот он — вызов, который вы с радостью готовы принять. Но когда начинается первое собеседование, у вас возникает странное чувство тревоги… или, что еще хуже, вы думаете, что собеседование проходит нормально, пропускаете всевозможные тревожные сигналы, и в итоге работаете в действительно неудачном месте.
Некоторые из этих тревожных сигналов собеседования применимы к любому человеку в любой карьере: например, интервьюер, который груб с вами, или который забыл забронировать помещение для собеседования.

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


Приятного чтения!
Total votes 54: ↑41 and ↓13+43
Comments35

Переезд в Египет: Александрия как локация для жизни на дистанционный доход

Reading time6 min
Views25K

Вместе со своей семьёй я прожил в Египте примерно два с половиной года, с начала 2018 года до второй половины 2020 года. Я работал на одном из предприятий около города Александрия и жил там же неподалёку в небольшом охраняемом посёлке за городом. Я хотел бы поделиться своим опытом жизни в не очень хорошо знакомой туристам Александрии и рассказать, как там может выглядеть жизнь для удалёнщика!

• Климат
• Безопасность
• Образование для детей
• Стоимость жизни
• Виза
• Локация: стиль/качество жизни

Поехали!
Total votes 33: ↑28 and ↓5+33
Comments35

Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок

Reading time12 min
Views63K


Оптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них».
Читать дальше →
Total votes 81: ↑73 and ↓8+82
Comments101

Information

Rating
Does not participate
Registered
Activity