Pull to refresh
3
0.1
Send message

Базовый набор для решения задач на LeetCode/Codeforces, ч.1

Level of difficultyEasy
Reading time5 min
Views16K

«Время — это единственная вещь, которую все хотят иметь, но которую нельзя купить или продлить» — Харви Маккей

Эта серия тредов пригодится тем, кто только начинает учиться решать задачи на таких сайтах как LeetCode или Codeforces, используя при этом C++. В тексте присутствует описание основных библиотек и также по одному небольшому примеру.

Читать далее
Total votes 3: ↑1 and ↓2-1
Comments11

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

Reading time8 min
Views64K

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

А какой у вас уровень?

Читать далее
Total votes 21: ↑16 and ↓5+16
Comments25

Хочите виртуальный macOS на своём PC? Их есть у меня

Level of difficultyEasy
Reading time6 min
Views64K

Статья о том как установить себе "macOS Monterey" в виртуальной машине на обычном PC без покупки для этой цели макбука или айМака.

По идее это просто туториал как получить у себя на обычном PC систему macOS и Xcode, но так как я тут нахожусь в состоянии "Отхабренный" я могу отправлять статьи только в "Профильные хабы". По этой статье больше бы подошло "Tutorial", но такого хаба я не нашёл и поэтому выбрал наиболее близкие хабы по теме статьи: "Настройка Linux" и "Разработка под iOS". И КДПВ тоже я выбрал идиотскую -- просто сделал скриншот со своего компа где продемонстировал версию macOS и версию установленного у меня Xcode.

Если интересно, то "Читать далее"
Total votes 48: ↑36 and ↓12+35
Comments60

Создание telegram-ботов с интерактивным меню

Level of difficultyMedium
Reading time15 min
Views46K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

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

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.

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

Собираем и запускаем калькулятор из Windows XP в среде Windows 10 c помощью GCC x64

Level of difficultyHard
Reading time63 min
Views13K

Привет всем.

В данной статье мы немного проанализируем код Windows XP, a также соберем калькулятор c использованием GCC x64 в среде Windows 10. Будут показаны ошибки, с которыми я столкнулся в процессе сборки и подробно расписаны способы их решения. В конце будет продемонстрирован рабочий билд приложения calc.exe.

Всем приятного прочтения!

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

Собираем самый дешевый ПК для игр меньше, чем за 30000 рублей

Level of difficultyMedium
Reading time7 min
Views57K

Привет, Хабр! Сегодня мы поднимаем тему недорогих ПК. Такие бывают очень даже нужны там, где нужен хоть какой-то компьютер, но бюджет сильно ограничен. Это может быть компьютер для школьника или для развлечений в офисе (пока никто не смотрит). Может быть даже компьютер для бабушки (сейчас есть очень продвинутые пенсионеры). И понятное дело, что любой читатель Хабра может сопоставить между собой сокет материнской платы и процессор, частоты памяти и разъем SSD-накопителя. Но вот вопрос как укомплектовать недорогой ПК, не переплатить за что-то в его составе и не потратить кучу времени — остается открытым. Ответ на него мы ищем под катом и обсуждаем в комментариях.

Читать далее
Total votes 30: ↑21 and ↓9+15
Comments78

Запускаем IDEA и CLion на Android

Level of difficultyMedium
Reading time18 min
Views9.2K

На современных Android телефонах и планшетах стоит отличное железо - многоядерные CPU с несколькими гигабайтами памяти. Этого всего вполне хватит для запуска даже таких тяжеловесных программ как IDEA и CLion. И сейчас я вам расскажу как это сделать.

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

На работу не берут без опыта, а опыт без работы не получить. Что делать? Собрали 25+ стажировок для тестировщиков

Level of difficultyEasy
Reading time10 min
Views30K

Джуна не берут на работу без опыта, а опыт без работы он получить не может.
Что делать?

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

Итак, поехали!

Оплачиваемые стажировки:

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments6

Создание красивого Desktop-приложения на Python (customtkinter)

Level of difficultyEasy
Reading time4 min
Views57K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее
Total votes 27: ↑25 and ↓2+26
Comments112

Игра «Жизнь» в одном твите

Level of difficultyEasy
Reading time10 min
Views9K

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

В одно прекрасное воскресенье, потягивая пиво и размышляя о жизни, я вдруг подумал: а можно ли вместить JavaScript-реализацию игры «Жизнь» в один твит? И не смог устоять перед желанием попробовать свои силы. 

Читать далее
Total votes 17: ↑16 and ↓1+18
Comments11

Прикладное adb (Android Debug Bridge) для зумеров

Level of difficultyEasy
Reading time2 min
Views17K

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

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.

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

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

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

[Пятничное] Теория Жоп

Reading time5 min
Views228K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 399: ↑388 and ↓11+473
Comments107

Городская фотоохота

Level of difficultyEasy
Reading time10 min
Views16K


Наверное, вы, как и я, узнали о фотоохоте из мультика «Простоквашино». Идея фоторужья вызвала у меня восторг. Эта штука, словно сплав двух несовместимых вещей, соединяет эргономику оружия и несмертоносность фотокамеры.

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

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

Внимание, в статье внушительное количество фотографий объёмом около 60 мегабайт!
Смотреть котиков!
Total votes 97: ↑93 and ↓4+112
Comments158

Так всё же, за что Интернеты полюбили Ктулху? Часть финальная с тонной мемов

Level of difficultyEasy
Reading time9 min
Views8.5K

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

И вот мы наконец добрались до ключевой темы: как Ктулху стал звездой интернетов?
Читать дальше →
Total votes 32: ↑29 and ↓3+38
Comments5

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Reading time8 min
Views68K

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

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

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

Tracert vs Traceroute

Reading time5 min
Views264K
В чем отличие маршрута пакета от его пути?
Стандартный механизм маршрутизации пакетов в интернете — per hop behavior — то есть каждый узел в сети принимает решение куда ему отправить пакет на основе информации, полученной от протоколов динамической маршрутизации и статически указанных администраторами маршрутов.

Маршрут — это интерфейс, в который нам надо послать пакет для достижения какого то узла назначения и адрес следующего маршрутизатора (next-hop):
R1#sh ip rou | i 40.  
	 40.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
O        40.0.0.0/31 [110/3] via 20.0.0.0, 00:01:54, FastEthernet0/0
O        40.1.1.1/32 [110/4] via 20.0.0.0, 00:00:05, FastEthernet0/0

Что такое путь? Путь — это список узлов, через которые прошел (пройдет) пакет:
 1  10.0.0.1  16.616 ms  16.270 ms  15.929 ms
 2  20.0.0.0  15.678 ms  15.157 ms  15.071 ms
 3  30.0.0.1  26.423 ms  26.081 ms  26.744 ms
 4  40.0.0.0  48.979 ms  48.674 ms  48.384 ms
 5  100.0.0.2  58.707 ms  58.773 ms  58.536 ms

Путь пакета можно посмотреть с помощью утилит tracert в OC Windows и traceroute в GNU/Linux и Unix-подобных системах. (другие команды, типа tracepath мы не рассматриваем).
Многие считают что этих утилит один и тот же принцип работы, но это не так. Давайте разберемся.
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments63

IBM Deep Thunder может предсказывать погоду как для всей страны, так и для отдельно взятого городского квартала

Reading time3 min
Views7.4K


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

Сервис IBM Deep Thunder может вывести прогнозы погоды на новый уровень. Для этого наша компания использует мощную платформу для составления прогнозов погоды от Weather Channel и свои вычислительные мощности. Результат такого объединения — сервис Deep Thunder. Этот сервис может давать точный прогноз погоды не только для отдельного города, но и для отдельных городских кварталов.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments14

Иди-ка ты на !@# со своей «токсичностью»

Reading time5 min
Views214K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →
Total votes 632: ↑488 and ↓144+344
Comments1335

Иди-ка ты сам на… или правила общения в команде

Reading time3 min
Views59K

Пост-ответ на статью "Иди-ка ты на !@# со своей "токсичностью"".


Если бы я последовал советам из этой статьи, мне достаточно было бы проявить эмоцию и сказать автору "Иди-ка ты сам на ..., ты ничего не понимаешь!".


Однако это не помогло бы донести мою мысль. Поэтому давайте разберем поподробнее.

Читать дальше →
Total votes 280: ↑230 and ↓50+180
Comments502

Красивый двоичный поиск без ветвления

Level of difficultyMedium
Reading time6 min
Views15K

Недавно я прочитал пост Алекса Мускара Beautiful Binary Search in D. В нём описывается алгоритм двоичного поиска под названием «алгоритм Шора». Я никогда не слышал о нём и его невозможно загуглить, но увидев алгоритм, я думал только об одном: «он без ветвления». Кто знал, что может существовать двоичный поиск без ветвления? Поэтому я занялся его трансляцией в алгоритм для итераторов C++, не требующий индексации на основе единицы или массивов фиксированного размера.

В GCC он более чем в два раза быстрее, чем std::lower_bound, который сам по себе — очень высококачественный двоичный поиск. Цикл поиска прост, а генерируемый ассемблерный код красив. Меня потрясло, что он существует, но им, похоже, никто не пользуется.
Читать дальше →
Total votes 35: ↑34 and ↓1+42
Comments8

Information

Rating
3,519-th
Location
Россия
Registered
Activity