Pull to refresh
76
Karma
0.2
Rating
Роман @RomeoGolf

инженер-программист

Сортировка слиянием — не так просто, как кажется

Programming *.NET *Algorithms *C# *
Case

В одной конторе соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата.

Требования такие:

* Формат строки: число, точка, пробел, далее любые символы до конца строки.

* Порядок сортировки — сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.

* Кодировка — UTF-8.

* Размер файла — 100гб - гарантированно больше объема ОП.

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

Как и многие другие программисты, узнав о таком тестовом задании, я возмутился. Внешнюю сортировку слиянием практически всех проходили в ВУЗе, но практически никто никогда не писал её. Задача очень непрактическая и непонятно какие навыки проверяет. Так мне казалось.

Эта задача вызвала бурные обсуждения о способах её решения. Многие программисты, причисляющие себя к рангу senior, предложили использовать базы данных, ибо не барское это дело - вручную писать алгоритмы сортировки. Некоторые даже попытались сделать решение на Apache Spark. Однако никто до конца задачу не решил, ибо мало кому удалось отсортировать в нужном порядке даже 10ГБ файл менее чем за 15 минут без SSD.

Я подумал, что стоит решить задачу до конца с помощью программирования, и тоже причислить себя к рангу senior developer.

Читать далее
Total votes 65: ↑64 and ↓1 +63
Views 13K
Comments 129

Математическая продлёнка. Квадратные уравнения во всей красе

Mathematics *

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

Каков геометрический смысл решения? Какова вероятность придумать нерешаемое уравнение? Как выглядит пространство уравнений, имеющих целочисленные решения? Куда деваются корни квадратного уравнения, когда оно не имеет действительных решений и откуда берутся комплексные корни? Как выглядят квадратные уравнения "на самом деле"?

Обо всём этом читайте далее
Total votes 52: ↑52 and ↓0 +52
Views 5K
Comments 18

Привет Unicode! Или как компьютеры работают с символами

PHP *Python *Java *HTML *Swift *

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

Читать далее
Total votes 9: ↑9 and ↓0 +9
Views 3.1K
Comments 6

Бюджетный 3D принтер как конструктор. Такой разный PLA и как им печатать

AdminVPS corporate blog 3D printers DIY

Низкотемпературный (с рабочей температурой от 180-200°C) филамент типа PLA (Polylactic acid) можно съесть (если сертификат прилагается), а при нагревании ничего вредного он не выделяет (при условии, что в нем нет каких-то непредвиденных добавок), что делает его идеальным для домашнего использования.


Для тестов мы заказали три катушки разного цвета PLA-F от Bing3D (11$/kg), а также катушку зеленого PLA+ (14$/kg) и eSilk-PLA Rainbow Multicolor (19$/kg, с разборной катушкой) eSUN. Эти продукты легко доступны и популярны в Таиланде на онлайн площадке Shopee.


Для начала разберемся с настройкой параметров печати для самого бюджетного филамента Bing3D. Цель проста — использовать материал как лакмусовую бумажку для выявления всех тех проблем печати, которые маскирует более качественный пластик. После повторим те же шаги с филаментом eSun и сравним результаты.



Модель напечатана из одного G-code файла с настройками для Bing3D. Слева направо показаны результаты PLA-F Bing3D (черный), PLA+ eSUN (зеленый) и eSilk-PLA Rainbow Multicolor eSUN (оранжево-золотистый). Как видим, печатать не самым бюджетным PLA проще простого — результат получается сам собой, даже если настройки взяты "с потолка". Кстати, если вы заметили небольшой "дефект" в виде наклонной черточки правее центра на золотистой вазе, то это всего лишь кошачья шерстинка :)

Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 2.9K
Comments 49

Сбор и анализ логов в Linux

OTUS corporate blog Configuring Linux **nix *

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

В этой статье мы будем говорить о том, как устроено логирование событий в ОС Linux. В качестве примера будет рассматриваться Ubuntu Linux 22.04, однако в других дистрибутивах основные элементы будут сходными.   

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 5.6K
Comments 4

Почему запись от руки остаётся лучшим способом запоминания информации

Studying in IT Popular science Brain
Translation

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

Рукописные заметки дали бы мне множество осязаемых ресурсов, которые помогли бы найти критически важную отсутствующую информацию: более свежие воспоминания о митинге, пробелы в подробностях обсуждения да и простое чтение записей с бумаги помогло бы мне лучше вспомнить события. Подробные печатные заметки не помогают запоминать и удерживать информацию на совещаниях так же, как это могли бы сделать рукописные заметки, хотя всё равно были бы полезны.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 12K
Comments 27

Как научиться печатать вслепую и перестать волноваться о символах на кейкапах

Self Promo

Как научиться печатать вслепую и перестать волноваться о символах на кейкапах

В данной статье мы расскажем, что такое touch typing (или слепая печать по-русски), а также почему стоит перейти на кейкапы без символов.

Читать далее
Total votes 10: ↑5 and ↓5 0
Views 3.2K
Comments 13

Кофе и повышение работоспособности организма. Часть первая

Brain
Translation

В попытке обеспечить повышение работоспособности организма, мы чаще всего приходим к кофе. Кофе пьют примерно 90% взрослого населения планеты и примерно 50% подростков. Вопрос только в том, есть ли в нем польза? А если нет, то как её извлечь?

Читать далее
Total votes 34: ↑31 and ↓3 +28
Views 11K
Comments 24

Немного о семантиках перемещения, копирования и заимствования

OTUS corporate blog Programming *Rust *
Translation

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

Читать далее
Total votes 14: ↑13 and ↓1 +12
Views 1.2K
Comments 19

Как вылечить зубы на год вперёд перед долгой поездкой

Белая Радуга corporate blog Health
Review
Пришёл к нам ИТ-специалист и сказал, что уедет на год в азиатскую страну, где с медициной есть определённые вопросы. И он хотел бы заранее вылечить зубы так, чтобы как минимум год не обращаться к стоматологу.

Таких запросов всё больше и больше. Раньше они были связаны с эмиграцией в Европу и США, где лечить зубы просто очень дорого. Теперь появилась потребность лечить зубы так, чтобы не обращаться к врачу вообще.


Пациент внезапно уехал в парусную кругосветку без того, чтобы поставить коронки на импланты. Под ними снизилась трофика, через 3 года (!) кость уменьшилась и образовалась дыра в челюсти.

Классическая модель подразумевает кратность визитов: 2–4 раза в год нужно ходить к стоматологу на профессиональную гигиену, и это позволит не покупать новые зубы в зрелом возрасте.

Тем не менее мы умеем лечить и «на год вперёд». И вы можете заказать это в любой региональной клинике тоже. Это называется «протокол полярника», когда мы готовим людей к арктическим экспедициям и подобным приключениям.

Кратко: нужна глубокая санация, чтобы убрать все источники инфекции, в том числе постоянные в каналах, которые так не любят кардиологи. Мы снижаем нагрузку на иммунитет, убирая постоянные воспаления. Затем убираются все восьмёрки (зубы мудрости — это частое требование страховых и контрактов полярников). Затем проводится глубокое ТО имплантов и других конструкций.

В дорогу полярникам мы даём наборы бактерий-антагонистов стрептококков. К счастью, сейчас они очень хорошо протестированы и доступны во многих крупных аптеках. Вам нужен Blis M18.
Читать дальше →
Total votes 95: ↑87 and ↓8 +79
Views 26K
Comments 56

Книга «Computer Science для программиста-самоучки. Все что нужно знать о структурах данных и алгоритмах»

Издательский дом «Питер» corporate blog Python *Algorithms *Professional literature *
image Как дела, Хаброжители?

Книги Кори Альтхоффа вдохновили сотни тысяч людей на самостоятельное изучение программирования.

Чтобы стать профи в программировании, не обязательно иметь диплом в области computer science, и личный опыт Кори подтверждает это: он стал разработчиком ПО в eBay и добился этого самостоятельно.

Познакомьтесь с наиболее важными темами computer science, в которых должен разбираться каждый программист-самоучка, мечтающий о выдающейся карьере, — это структуры данных и алгоритмы. «Computer Science для программиста-самоучки» поможет вам пройти техническое интервью, без которого нельзя получить работу в «айти».

Книга написана для абсолютных новичков, поэтому у вас не должно возникнуть трудностей, даже если ранее вы ничего не слышали о computer science.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 11K
Comments 7

ИТМО глазами постдока из Китая

ITMO corporate blog
Interview

Сегодня хотим поделиться сторонним взглядом на Университет ИТМО.

Яли Сунь (Yali Sun) приехала в ИТМО из Китая для продолжения обучения после магистратуры в области нанофотоники. В интервью ученая рассказывает о том, чем процесс обучения в ИТМО отличается от китайских вузов, с какими сложностями сталкивается иностранец, приехавший в Россию по научной работе, и где на практике можно применять разрабатываемые ее группой оптические наноантенны.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Views 2.1K
Comments 4

Как программисту снизить когнитивную нагрузку: три способа

ISPsystem corporate blog Brain Health
Opinion
Translation

Предотвращение когнитивной перегрузки программиста — это ключ к недопущению ошибок и ускорению разработки.

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

Читать далее
Total votes 27: ↑24 and ↓3 +21
Views 13K
Comments 7

ICE, RICE, WSJF или как эффективно организовать бэклог

Development Management *Project management *Agile *Product Management *

Привет всем читателям, желающим грамотно выстраивать самые многозадачные бэклоги. Меня зовут Фёдор Гвоздев, я основатель интернет-магазина корейской косметики HolySkin. Работаю над развитием этого проекта уже 8 лет и не раз сталкивался с трудностями приоритизации. В этой статье я постараюсь поделиться своим опытом и представить самые «рабочие» модели, которые не раз выручали нас в работе.

Читать далее
Total votes 6: ↑4 and ↓2 +2
Views 933
Comments 18

Иллюзия профессионального объединения на примере сообщества «Мы — ИТ»

IT-companies
Review

Дата 21 сентября 2022 года оказалась очень значимой для всей IT-индустрии. В этот день началась мобилизация в РФ. Тогда же появляется чат о мобилизации IT-специалистов для предоставления им отсрочки. По легенде этот чат был организован волонтёрами, однако до этого они занимались льготами и грантами в IT.

В чате активно разбирали вопрос предоставления отсрочки для IT-специалистов, а самые сложные случаи передавали напрямую министру Минцифры Максуту Шадаеву. Да и сам министр периодически отписывался в этом чате.

Видимо, на волне успеха этого чата его создатели решили организовать НКО «MIT — Мы ИТ», которое будет защищать всех айтишников и заниматься продвижением разумных инициатив. Кажется, вот он, идеальный пример взаимодействия бизнеса (организаторы чата — владельцы стартапов), государства и IT-специалистов. Все в выигрыше!

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

Читать далее
Total votes 44: ↑38 and ↓6 +32
Views 4.8K
Comments 24

Эксперт по продуктивности делает с ChatGPT всякое. Ошибки и возможности использования нейросети

GTD *Artificial Intelligence Lifehacks for geeks

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

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

Читать далее
Total votes 20: ↑16 and ↓4 +12
Views 15K
Comments 20

Слив исходников Яндекса, как самый большой толчок русского ИТ

Information Security *
Opinion

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

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

Читать далее
Total votes 332: ↑219 and ↓113 +106
Views 89K
Comments 235

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

Programming *Algorithms *IT career Interview

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

Я за свою карьеру имел возможность быть по обе стороны баррикад. С одной стороны я провёл сотни алгоритмических интервью в компаниях, где работал. С другой стороны сам успешно проходил такие интервью и получал оффер в Google, Facebook, Amazon, Uber, Yandex и Mail.Ru.

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

Читать далее
Total votes 28: ↑26 and ↓2 +24
Views 8.5K
Comments 17

Зачем они выгорают?

Research and forecasts in IT *Personnel Management *
Opinion

Я сколько лет на заводе козловой кран вожу, ни разу не выгорел! А эти, прям неженки! 

Знакомо?

Выгорание айтишников – это уже притча во языцах. Если в своей среде IT-специалисты еще находят понимание, то во вне они сталкиваются с диким отрицанием.

Ишь какие, депрессия у него! Работать не может! Дури вам в голову напихали, вот и оправдываете свою лень!

За свои скромные семь лет на руководящей позиции мне довелось управлять разными людьми. Был опыт тимлидства над командой разработчиков. Не претендую на истину и уж тем более на какое-то серьезное научное исследование. Но все же хочу систематизировать свои наблюдения и сделать цикл статей «команда глазами начальника».

Ну-ка, ну-ка???
Total votes 96: ↑85 and ↓11 +74
Views 35K
Comments 169

Про Vim " Встроенное

VIM *
Tutorial

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

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 4.5K
Comments 9

Information

Rating
1,837-th
Location
Свердловская обл., Россия
Date of birth
Registered
Activity