Pull to refresh
0
0

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

Send message

Задачи с чемпионата мира по программированию ICPC 2021

Reading time3 min
Views20K
В 2021 году финал чемпионата мира по программированию среди университетских команд ICPC (International Collegiate Programming Contest) прошел в Москве в начале октября.

Участникам нужно было решить 15 задач на трёх компьютерах (раньше было меньше задач и 1 компьютер).

image Золото
1) ННГУ (Нижний Новгород)
2) Seoul National University (Корея)
3) ИТМО (Санкт-Петербург)
4) МФТИ (Москва)

Серебро
5) University of Wroclaw (Польша)
6) University of Cambridge (США)
7) Беларусский государственный университет (Минск)
8) University of Bucharest (Румыния)

Бронза
9) Massachusetts Institute of Technology (США)
10) ХНУРЭ (Харьков)
11) University of Illinois at Urbana-Champaign (США)
12) НИУ ВШЭ (Москва)

13) СПбГУ (Санкт-Петербург)
14) University of Warsaw (Польша)
15) Utrecht-Leiden University (Нидерланды)
16) Harvard University (США)
17) University of Central Florida (США)
18) National Taiwan University (Тайвань)
19) Питерский филиал ВШЭ (Санкт-Петербург)
20) МГУ (Москва)
Читать дальше →
Total votes 20: ↑19 and ↓1+29
Comments4

Записки архитектора. Чек-лист

Reading time11 min
Views15K

- Составь, пожалуйста, руководство по тому, как делать архитектуру.

С такой просьбой ко мне однажды обратились менеджеры по разработке софта в компании, где я работаю или работал (не хочу раскрывать время и место). И надо сказать, что сначала эта просьба меня здорово озадачила. На тему архитектуры софта написано много книг, и не самых тонких. Мне предлагается написать еще одну? Чем она будет отличаться от существующих? И зачем вообще им это?

Что касается "зачем", то здесь все было понятно. Цель у менеджеров была благая. Проектов в компании обычно больше, чем могут осилить штатные архитекторы. Идея была в том, чтобы архитектуру для небольших проектов делали либо сами менеджеры по разработке, либо старшие разработчики, а архитектор только проверял, направлял и помогал где нужно.

Цель хорошая, запрос хороший. Оставалось только понять, как оказать им конструктивную помощь, а не отправить читать книжки или не засесть писать свою.

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

Собственно, этот список я здесь и публикую.

Далее...
Total votes 22: ↑21 and ↓1+30
Comments10

Идеальный пайплайн в вакууме

Reading time6 min
Views18K

На собеседованиях на позицию, предполагающую понимание DevOps, я люблю задавать кандидатам такой вопрос (а иногда его еще задают и мне):

Каким, по вашему мнению, должен быть идеальный пайплайн от коммита до продашкена?/Опишите идеальный CI/CD / etc?

Сегодня я хочу рассказать про своё видение идеального пайплайна. Материал ориентирован на людей, имеющих опыт в построении CI/CD или стремящихся его получить.

Так-так-так что тут у вас...
Total votes 18: ↑17 and ↓1+23
Comments25

Вторая жизнь пыльного Андроида

Reading time4 min
Views94K

Три мысли всё не давали мне жить спокойно:

1) есть ноутбук, но для работы нужен второй экран
2) давно мечтаю о пульте управления для Photoshop в дополнение к клавиатуре
3) на полках пылятся устаревшие гаджеты, которые продавать глупо, а выкидывать жалко

Решим одно за счёт другого
Total votes 59: ↑58 and ↓1+75
Comments94

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views62K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Total votes 46: ↑40 and ↓6+49
Comments71

Radxa sata hat для raspberry pi 4: домашний сервер с НАС, облаком и торрентокачалкой через впн в докере

Reading time12 min
Views22K
Подходил к концу календарный год, к праздникам правительство ужесточило локдаун и ввело комендантский час. Впереди было дней 10 выходных, и я решил, что наступает самое то время, чтобы занять себя настройкой домашнего сервера, идею которого я вынашивал уже некоторое время.

Часть 1. Выбор ЭВМ и компонентов


Основные требования к домашнему серверу были компактность и низкое энергопотребление. В качестве ЭВМ я рассматривал разные одноплатники, даже раздумывал насчёт одноплатников на х64 архитектуре. Основными критериями поиска были избыточное ОЗУ от 8 Гб, современные порты: усб3.0 и гигабитный лан. Идея была заколхозить всё это на болтах в какой-нибудь коробке типа миниАТХ, используя усб-сата интерфейсы для жёстких дисков. Мне такая реализация совершенно не импонировала эстетически, и я не торопился её воплощать. Как вдруг я наткнулся на НАС кит для 4ой малины от китайцев из Радха.
Total votes 9: ↑9 and ↓0+9
Comments34

Как я научился проходить архитектурные секции

Reading time4 min
Views31K
Архитектурные секции у многих вызывают чувство неопределенности и тревоги: формулировки не изобилуют деталями, как проверить ответ — непонятно. При этом способность пройти архитектурную секцию отличает вчерашнего выпускника от человека, которому можно доверить строить нечто большее, чем обход бинарных деревьев. В определенный момент я решил как следует подготовиться секции по дизайну, потратил на это около пары недель и выработал системный подход, которым хочу с вами поделиться.
Читать дальше →
Total votes 37: ↑35 and ↓2+41
Comments18

VPN в домашнюю локалку

Reading time4 min
Views44K


TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

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

Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

  • Прозрачность: чувствую себя как дома при любых обстоятельствах.
  • Простота: настроил и забыл, не надо думать о пробросе каждого порта.
  • Цена: у меня уже есть VPS, для таких задач современный VPN почти бесплатен по ресурсам.
  • Безопасность: ничего не торчит наружу, можно оставить MongoDB без пароля и никто не утащит данные.

Как всегда, есть и минусы. Во-первых, вам придётся настраивать каждый клиент по отдельности, в том числе, на стороне сервера. Может быть неудобно при наличии большого числа устройств, с которых хочется иметь доступ к сервисам. Во-вторых, у вас на работе может оказаться совпадающая по диапазону локалка — придётся разрешать эту проблему.
Читать дальше →
Total votes 30: ↑27 and ↓3+37
Comments38

Где и как лучше всего наблюдать метеоры?

Reading time2 min
Views5.2K
Персеиды, Геминиды, Ориониды, Дракониды, Лириды и т.д. это лишь некоторые из метеорных потоков, которые интересны к наблюдению невооруженным глазом, в северном полушарии. Но как и где их наблюдать?

image
Читать дальше →
Total votes 16: ↑14 and ↓2+19
Comments8

Ортолинейная сплит клавиатура — это что такое? Обзор Iris Keyboard

Reading time13 min
Views102K
За сто с лишним лет клавиатуры сильно изменились внешне: стали лёгкими, тонкими, есть даже проекционные со сканером. Но рынок ничего не меняет в их раскладке («QWERTY» появилась в 1890 году), клавиатуры не стали удобней для пальцев, не адаптированы для положения кистей и предплечий. Всё человечество стало проводить жизнь за компьютером, но эргономика главного инструмента ввода осталась в позапрошлом веке.

Я решил узнать, можно ли купить удобную клавиатуру в 2020 году. Краткий ответ: пришлось паять самому.


Total votes 100: ↑96 and ↓4+114
Comments293

Flipper Zero — пацанский мультитул-тамагочи для пентестера

Reading time10 min
Views283K
Flipper Zero — Multi-tool Device for Hackers

Warning

Информация в статье устарела, Flipper Zero был полностью пеработан на другой платформе. Актуальная информация в нашем блоге blog.flipperzero.one


Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
Читать дальше →
Total votes 176: ↑173 and ↓3+231
Comments162

Как освободить умные часы Garmin от облачных сервисов, которые не работают из-за атаки

Reading time5 min
Views11K
Автор статьи — известный хакер Эндрю Хван (bunnie)

Я часто говорю: если поверить, что технология — это магия, то мы рискуем стать её заложниками. Совсем недавно я попал в такую ситуацию, но, к счастью, меня спас открытый исходный код.

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

Кроме того, у меня есть хобби — гребля на аутриггере [каноэ с выносными опорами — прим. пер.]

Я считаю, что GPS-часы — незаменимый элемент безопасности, особенно в навигации, потому что трудно судить о скорости воды, когда вы находитесь более чем в нескольких сотнях метров от земли. Если вы попали в плохое течение, без понимания ситуации вас рискует выбросить в море или того хуже.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments8

Опыт построения умного дома на Raspberry Pi и открытой платформе OpenHAB. Часть 1

Reading time6 min
Views35K

Два года назад у нас появился загородный дом. Только сейчас, во время пандемии, мы поняли, что это была инвестиция, а не трата бабла повышение уровня жизни. Изначально планировали жить на два дома — квартира в городе и дом за городом. Поэтому появилось желание автоматизировать его по максимуму. Ну, как минимум, чтобы зимой можно было прогреть дом перед приездом.


Эта статья не является полной инструкцией что и как делать, а больше сборником куда копать и что почитать или посмотреть, чтобы сделать самому.


Тем не менее вы найдете для себя много полезной информации и ссылок, а главное при минимальных навыках поиска информации в интернете вы сможете сами найти все необходимые пошаговые инструкции. В наш век DIY (Do It Yourself, самоделки), вы все можете получить в виде 5-20 минутных делай-как-я видео инструкций. Нынче никто уже не пишет по-старинке.

Total votes 11: ↑10 and ↓1+11
Comments83

Умная хрущёвка на максималках. Продолжение

Reading time8 min
Views52K
В первой часть статьи я рассказал о том, как оснастить двухкомнатную хрущевку различными датчиками и с их помощью собирать информацию о текущем состоянии квартиры. Во второй части речь пойдет о том, как начать активно управлять всеми доступными системами. Для этого я выполнил:

  • Полную беспроводную автоматизацию всего освещения.
  • Установил кнопку «выключить всё».
  • Сделал возможным полное удаленное обесточивание квартиры (включая и сам сервер управления вместе с контроллером) и обратное удаленное включение.
  • Применил электронакладки (устройства поворота) для кранов на воду.


Подъездный щит жилого дома с оборудованием для удаленного обесточивания квартиры
Хрущёвка в полном фарше
Total votes 34: ↑29 and ↓5+36
Comments145

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Reading time9 min
Views26K


Некоторое время назад у моей семьи появился дом с небольшим садом в очень теплом и засушливом месте, и перед нами встала проблема регулярного полива.

Хотелось, чтобы система полива была автоматической, при этом при ее выборе приходилось учитывать следующие условия:

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

Оценив готовые решения, которые удалось найти в местных DIY сетях и на Amazon и почитав отзывы об их надежности (как правило, не самой высокой), решили попробовать сделать что-то самостоятельно.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments25

Огнестрельный DIY: история и перспективы 3D-печатного оружия

Reading time14 min
Views69K

В 2013 году Коди Уилсон напечатал на 3D-принтере первый пластиковый пистолет, способный стрелять боевыми патронами.


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



Посмотрим, как изменилась ситуация вокруг 3D-печатного оружия за 7 лет. Спойлер: она стала только острее.


Под катом: 30 минут чтения, 9 пластиковых пушек, 7 видео, 3 научных исследования, 1 метаанализ и тема для эпичного холивара. Но ни одной инструкции или файла для печати. Извините, товарищ майор.

Total votes 89: ↑89 and ↓0+89
Comments383

Магические сигнатуры методов в C#

Reading time9 min
Views30K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. Например, с их помощью можно упростить наш код или создать DSL для того, чтобы выразить решение проблемы более красивым образом. Я встречаюсь с такими методами повсеместно, так что я решил написать пост и обобщить все мои находки по этой теме, а именно:


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →
Total votes 65: ↑64 and ↓1+80
Comments70

Собеседование наоборот: вопросы соискателя к компании

Reading time6 min
Views75K
Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. За прошлый год я провёл порядочное количество собеседований, и абсолютное большинство кандидатов огорчило меня отсутствием вопросов о компании, всего 5 человек стали меня расспрашивать о работе.

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

image
Читать дальше →
Total votes 114: ↑108 and ↓6+125
Comments130

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views204K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 155: ↑150 and ↓5+191
Comments342

Как использовать консоль JavaScript: выход за пределы console.log ()

Reading time3 min
Views12K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal.

Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов, предоставляемых консолью, которые могут помочь улучшить отладку.

Давайте начнем.

Самым базовым вариантом использования является вывод строки или группы объектов JavaScript. Довольно просто,

console.log('Is this working?'); 

Теперь представьте сценарий, когда у вас есть куча объектов, которые вам нужно вывести в консоль.

const foo = { id: 1, verified: true, color: 'green};
const bar = { id: 2, verified: false, color: 'red' };

Самый интуитивно понятный способ вывода просто console.log (variable) несколько раз. Проблема становится более очевидной, когда мы видим, как оно отображается в консоли.

image

Как видите, имена переменных не видны, что не очень удобно. Это можно решить объединив все переменные в единый console.log ({foo, bar}). Это также уменьшает количество строк console.log в нашем коде.
Читать дальше →
Total votes 28: ↑15 and ↓13+10
Comments3
1
23 ...

Information

Rating
Does not participate
Location
Illinois, США
Date of birth
Registered
Activity