Pull to refresh
-2
0
Send message

Терминаторы в деле: автономные боевые роботы пришли на поля сражений

Reading time11 min
Views20K

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

Как стало известно весной, роботы начали находить и убивать людей на поле боя, принимая решения самостоятельно — без участия оператора или его командира. Совсем недавно такой возможности разработчики военной техники и военные ведомства разных стран немного «стеснялись».

Однако известия о том, что подобное уже реально используется на полях сражений, обрушили плотину. После этого разговоры в ООН, конечно, продолжились — но гонка вооружений в области создания автономных боевых роботов (они же «автономные боевые системы», они же «автономные системы уничтожения», они же «смертоносные автономные системы вооружений» в документах ООН, строгая терминология ещё не устоялась) стала вестись публично и открыто.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments78

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views99K

Наткнулся на любопытный материал, в котором автор систематизировал и записал свой опыт инженера-программиста в 20 тезисов. Я работаю в коммерческой разработке ПО больше 25 лет, и этот текст отозвался во мне практически каждой буквой — большинство советов я тоже регулярно практикую, не облекая их в формат ёмких афоризмов. В общем, решил сделать перевод.

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Total votes 154: ↑149 and ↓5+176
Comments158

Вот почему мы всегда пишем селекторы на XPath

Reading time7 min
Views23K

Привет, Хабр! Сегодня хочется поговорить про XPath — мощный и гибкий инструмент для работы с веб-интерфейсами, который при этом почему-то остается не особенно популярным. Статей и мануалов по XPath очень много, и в этом посте я постараюсь рассказать, как мы применяем данный инструмент и почему считаем его более эффективным, чем другие подходы. Если вам знаком термин “селектор”, а тем более — если вы слышали про XPath, добро пожаловать под кат, там много полезного!

Читать далее
Total votes 17: ↑13 and ↓4+11
Comments21

Ускорение Maven сборки в Docker

Reading time5 min
Views8.7K

Ранее я описал различные методы ускорения ваших Maven сборок. 

Сегодня я хотел бы расширить их область применения и сделать то же самое для сборок Maven внутри Docker.

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

Антиплагиат исходного кода: гибридный подход с использованием парсера ANTLR

Reading time10 min
Views20K

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

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments18

Разбираемся с цветами, палитрами, фильтрами CSS и не только

Reading time12 min
Views15K

Этот материал — карманный справочник о том, как работать с цветом в CSS и вебе в целом. Он начинается с теоретических основ и содержит множество инструментов и примеров работы с градиентами, анимацией, SVG и не только.

Статья будет полезна и новичку, и специалисту с опытом. За подробностями приглашаем под кат, пока у нас начинается курс по Frontend-разработке.

Приятного чтения
Total votes 13: ↑11 and ↓2+9
Comments3

Перестаньте врать себе. Я middle, а вам нужен senior

Reading time4 min
Views90K

Предисловие.

HR-ы в последнее время активизировались и активно долбят своими предложениями.

Во-первых, господа, какого рожна лешего моё старое резюме с hh оказалось у вас? Мои данные видимо слили на huntflow или еще куда-то.

Во-вторых, вы умеете читать? Я middle! middle! Или вы думаете, что у меня низкая самооценка? я скромный senior с всего-то 5-летним опытом? Да у меня в резюме написано 2 года на golang. 2 года, Карл!

Вы думаете я ведущий, потому что вам так захотелось? Я могу быть ведущим ну разве что свадеб!

Читать далее
Total votes 133: ↑113 and ↓20+121
Comments217

Миграция со Spring Boot на Quarkus. Магия или безумие?

Reading time10 min
Views10K

Quarkus – это стек Java, приспособленный для работы с OpenJDK HotSpot (или OpenJ9 на zSeries) и GraalVM, собранный из оптимизированных библиотек и стандартов Java. Он хорошо подходит для создания сильно масштабируемых приложений, при этом значительно скромнее использует ресурсы CPU и памяти, нежели другие фреймворки Java. Quarkus может работать с традиционными веб-приложениями, бессерверными приложениями и даже с функциями, предоставляемыми как услуга.

Существует много документированных случаев, в которых организации переносили свои приложения на Quarkus. В этой статье рассмотрим один из таких миграционных путей: со Spring Boot на Quarkus. Есть в этом своя магия и свое безумие. Магия – это когда миграция осуществляется как по мановению руки, и ни одной строки кода при этом менять не приходится. Безумие – в том, чтобы попытаться осознать, как все это делается.

Читать далее
Total votes 9: ↑5 and ↓4+2
Comments2

Книга «Классические задачи Computer Science на языке Java»

Reading time10 min
Views8.6K
image Привет, Хаброжители! Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.

В этой книге:

— Рекурсия, мемоизация и битовые манипуляции.
— Поисковые, графовые и генетические алгоритмы.
— Проблемы ограничений.
— Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments7

Ускорение Maven сборки

Reading time6 min
Views8.3K

Узнайте, как сделать сборки Maven более быстрыми и эффективными

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

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

9 команд для проверки информации о CPU в Linux

Reading time6 min
Views128K

Информация об аппаратном обеспечении CPU

Информация о CPU (Central Processing Unit. Центральный процессор) включает в себя подробные сведения о процессоре, такие как архитектура, название производителя, модель, количество ядер, скорость каждого ядра и т.д.

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

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

Тестируем сервисы для подготовки к собеседованию

Reading time7 min
Views20K

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

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

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

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

Читать далее
Total votes 17: ↑13 and ↓4+12
Comments7

Автоматическая генерация лога изменений проекта с помощью GitLab

Reading time7 min
Views21K

В этой небольшой статье поговорим о том, что такое лог изменений проекта, зачем он нужен и как можно автоматизировать его генерацию с помощью GitLab.

Читать далее
Total votes 21: ↑20 and ↓1+22
Comments7

50 лет назад появилась электронная почта

Reading time4 min
Views7.7K

2 октября 2021 года исполняется ровно 50 лет с момента появления привычного нам средства коммуникации — электронной почты. Полвека — значимый юбилей! Именно в этот день в 1971 году инженер-программист Рэй Томлинсон (Ray Tomlinson) отправил первое в истории человечества сообщение по e-mail.
Читать дальше →
Total votes 21: ↑20 and ↓1+24
Comments30

Микро-фронтенд. Обзор архитектуры и рекомендуемые практики

Reading time9 min
Views37K

Концепция микро-фронтенда – это микросервисный подход при разработке клиентской части. В настоящее время есть тенденция создавать мощное и функционально насыщенное веб-приложение, расположенное поверх микросервисной архитектуры. Со временем микро-фронтендовая архитектура становится частью приложения, зачастую ее разрабатывает отдельная команда. Эта архитектура растет, ее становится сложно поддерживать. Возникает так называемый «фронтендовый монолит». Для решения этой проблемы была сформулирована концепция микро-фронтендов.

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

Текст
Total votes 11: ↑7 and ↓4+11
Comments13

35 инструментов для веб-разработчика на каждый день

Reading time4 min
Views43K

Кроме редактора кода, терминала, браузера и гита веб-разработчики пользуются вагоном и маленькой тележкой маленьких инструментов, которые выполняют какую-то одну задачу, но могут пригодиться в ежедневной работе. Предлагаем вам нашу подборку — надеемся, что что-то пригодится, а по поводу чего-то вы и вовсе скажете «А что, так можно было?».

Краткое содержание: проверка кода по стандартам, проверка вёрстки и стилей, работа с кодом, работа с графикой (SVG, фавиконки, конвертеры и сжималки), работа с текстом (типографы и конвертеры всего во всё).

Дисклеймер: подборка не претендует на полноту, но в комментариях собираем другие полезные инструменты.

Читать далее
Total votes 23: ↑21 and ↓2+23
Comments18

Решил 50 задач и ответил на вопрос — Python или JavaScript?

Reading time28 min
Views53K


Привет, друзья!


Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но...


  • со мной работает много людей, которые пишут код на Python
  • вокруг много разговоров про Python
  • повсюду преподают Python
  • Яндекс любит Python (раньше Гугл тоже его любил, но теперь у него есть Go)

Короче говоря, сложно было не заинтересоваться Python.


Как известно, лучший способ научиться "кодить" — это писать код.


Предлагаю вашему вниманию 50 популярных в сфере программирования задач, решенных с помощью Python и JavaScript.


Цель — сравнить языки на предмет предоставляемых ими возможностей.


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


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

Читать дальше →
Total votes 26: ↑14 and ↓12+4
Comments54

11 проектов, которые нужно сделать, чтобы стать мастером фронтенда

Reading time4 min
Views98K

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

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

Читать далее
Total votes 17: ↑10 and ↓7+5
Comments20

Топ-20 самых упоминаемых книг на HackerNews

Reading time4 min
Views15K
image

На HackerNews пользователь tracyhenry проанализировал 40 000 комментариев и составил рейтинг самых упоминаемых в комментариях книг.

Автор рейтинга преисполнен благодарности тем книгам, про которые он узнал благодаря HackerNews и решил отдать долг и написать приложение, которое бы проанализировало все рекомендации на Hackerews. Такие попытки были неоднократно (раз, два, три), но в предыдущих попытках были ограничения по размеру выборки, либо были недостаточно четкие правила поиска и поэтому картина была не полна. Еще сложность представляли случаи, когда названия книги пересекалось с названием фильма («Первому игроку приготовиться») или название — это общеупотребительное слово/словосочетание: «Стив Джобс» или «Медитация».

Автор рейтинга использовал NLP-модель BERT для повышения точности распознавания (и 4000 вручную размеченных комментариев). Новая версия извлекает в 9-50 раз больше упоминаний, чем предыдущие решения.

Ограничения текущей модели: 1) не различает две разные книги с одинаковым названием («Гарри Поттер» и «Гарри Поттер и методы рационального мышления»). 2) не понимает, что это гневный комментарий.

Книги из топ-20 очень известные, и нет смысла давать их краткое описание, это уже делали много раз. Привожу здесь список из топ-20 (более полный см тут), чтобы вы могли свериться, насколько вы «соответствуете повестке мировой ИТ элиты» и отзывы/конспекты/упоминания про эти книги на Хабре.

Что вы уже давно прочитали, а что упустили из вида и почему?
Читать дальше →
Total votes 18: ↑13 and ↓5+10
Comments9

Information

Rating
Does not participate
Registered
Activity