Pull to refresh
151
Karma
0.1
Rating
Валерий Макаров @valemak

Программист

  • Followers 179
  • Following
  • Posts
  • Comments

Алгоритм Дейкстры. Разбор Задач

OTUS corporate blog Entertaining tasks Python *Algorithms *


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

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

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 3.9K
Comments 2

Базовые подходы к парсингу

HTML *Node.JS *Processing *
Tutorial

Вступление

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

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

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

Можем ли мы спарсить?

Да, к сожалению (или счастью) веб - он не однообразен, и каждый ресурс может быть уникален по своему, но в нашем деле, ключевым моментом будет то, есть ли на этом ресурсе Server-Side Rendering (SSR), или там Client-Side Rendering и важная для нас информация подтягивается позже с помощью JS.

К примеру, нативные апки на React или тот же Angular by default есть CSR. И что бы прикрутить там SSR нужно порой очень сильно попотеть.Тем не менее, большинство сайтов с топ серч результатов любой поисковой системы будут поддерживать именно SSR, потому что таков мир SEO-оптимизаций.

Читать далее
Total votes 26: ↑17 and ↓9 +8
Views 16K
Comments 30

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 2

Wunder Fund corporate blog Programming *C++ *Algorithms *
Translation

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

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

Читать далее
Total votes 32: ↑25 and ↓7 +18
Views 6.4K
Comments 3

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 1

Wunder Fund corporate blog Programming *C++ *Algorithms *
Translation

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

В наши дни сказать, что изобрёл алгоритм сортировки, который на 30% быстрее того, что считают эталонным, это значит — сделать довольно смелое заявление. Я, к сожалению, вынужден сделать ещё более смелое заявление. Дело в том, что я создал алгоритм сортировки, который, для многих вариантов входных данных, вдвое быстрее std::sort. И, за исключением сортировки специально созданных входных последовательностей, на которых алгоритм упирается в свой худший случай, он всегда быстрее std::sort. (А когда появляются данные, приводящие к худшему случаю алгоритма, я эту ситуацию детектирую и автоматически перехожу на std::sort).

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

Учитывая то, о чём я писал в моём прошлом материале, это, конечно, вариант поразрядной сортировки (radix sort). То есть — его временная сложность ниже, чем O(n log n). Вот два основных направления, по которым я усовершенствовал базовый алгоритм:

Читать далее
Total votes 34: ↑26 and ↓8 +18
Views 16K
Comments 6

Чьи останки возрастом 2 тыс. лет с массой золотых украшений, найдены на берегу моря? Жертвы Везувия. Помпеи и Стабии

Popular science

Автор Лысый Камрад (@LKamrad)

В начале 1900-х годов инженер Дженнаро Матроне проводил раскопки в древнеримском городке Стабии недалеко от знаменитых Помпей. Стабии погибли в том же самом извержении Везувия 79 года нашей эры, что и Помпеи с Геркуланумом.

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

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

Читать далее
Total votes 37: ↑34 and ↓3 +31
Views 7.6K
Comments 5

Стоит ли учить PHP в 2022 году

PHP *Symfony *Laravel *IT career

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

В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.Что из себя представляет PHP

Обычно при обсуждении языка программирования приводят его сильные стороны, поэтому я буду следовать традиции и расскажу, почему PHP – это клевый  и современный язык программирования.

Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным  JIT.

Читать далее
Total votes 40: ↑33 and ↓7 +26
Views 17K
Comments 97

Я написал более быстрый алгоритм сортировки

High performance *Programming *C++ *Algorithms *
Sandbox
Translation

Может показаться откровенной наглостью в наши дни утверждать, что Вы изобрели алгоритм сортировки, который на 30% быстрее, чем лучший существующий. Увы, я должен сделать гораздо более наглое заявление: я написал алгоритм сортировки, который в два раза быстрее, чем std :: sort для многих входных данных. И за исключением случаев, когда я специально конструирую воспроизведение нахудших для него ситуаций, алгоритм никогда не бывает медленнее, чем std :: sort (и даже когда попадаются эти худшие случаи, они обнаруживаются и происходит автоматический возврат к std :: sort).

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

Читать далее
Total votes 61: ↑58 and ↓3 +55
Views 37K
Comments 36

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла

Programming *Development for Office 365 *
Sandbox

Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого.

Читать далее
Total votes 85: ↑85 and ↓0 +85
Views 19K
Comments 73

Если мошенники украли деньги с банковской карты — не спешите в полицию

ITSOFT corporate blog Information Security *Legislation in IT Finance in IT

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

Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.

В статье “Банки не хотят внедрять многофакторную авторизацию и покончить с мошенничеством” есть простые рецепты, которые бы исключили случаи мошенничества хотя бы для тех, кто не разговаривает с мошенниками и не сообщает им коды. Народ хочет аппаратные токены, а банки не дают. 

К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.

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

Читать далее
Total votes 199: ↑179 and ↓20 +159
Views 164K
Comments 208

Как хорошо уметь читать! А уметь хорошо читать — ещё лучше

Reading room Brain Biology

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

Конечно, одной статьёй эти вопросы не закрыть, но начать вполне можно, тем более что Хабр — один из сайтов, который максимально строго «заточен» именно на чтение (да ещё и лонгридов!).  

Читать далее
Total votes 70: ↑68 and ↓2 +66
Views 18K
Comments 17

Сохранить остроту ума в любом возрасте

Professional literature Reading room Health

Ключевые идеи неизданной на русском книги «Сохранить ум острым» («Keep Sharp») известного нейрохирурга и писателя Санджая Гупты.

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

Читать далее
Total votes 12: ↑10 and ↓2 +8
Views 9.9K
Comments 6

Как выжить после крушения?

RUVDS.com corporate blog Development of communication systems *Reading room DIY Electronics for beginners
(www.goodfon.ru, Автор: Juliannaa)

Кораблекрушение, авиакатастрофа… Этот сюжет многократно обыгран во множестве разнообразных фильмов, игр и массовой культуре. Хотя большинство людей, так или иначе, слышали о подобном, но не имели к этому отношения (к счастью). В этой статье мы попробуем обсудить, как выжить современному человеку, в случае крушения, в безлюдном месте, а также дать знать о своей ситуации с помощью разных способов (в том числе, построив «радиопередатчик из ничего»).
Читать дальше →
Total votes 88: ↑77 and ↓11 +66
Views 28K
Comments 122

«Он сбежал из лагеря, чтобы убить Гитлера». Жизнь и забвение короля математической абстракции Александра Гротендика

ITSOFT corporate blog Mathematics *Popular science Biography of geeks

Его отец - однорукий русский анархист, а мать - немецкая левая писательница. Их сын станет непревзойденным гением абстрактной математики, но добровольно уйдет в изгнание в возрасте 42 лет. Как, зачем и почему?

Читайте долго и интересно...
Total votes 39: ↑35 and ↓4 +31
Views 10K
Comments 13

«Зожный» перекус: безопасные перекусы для работников умственного труда

RUVDS.com corporate blog Reading room Health

Когда много работаешь мозгом и не слишком часто поднимаешь пятую точку с «компьютерного» кресла — лишний вес и прочие проблемы неправильного питания часто становятся проблемой. Знаю по себе не понаслышке: четыре года напряжённой и не всегда нормированной аналитической работы в своё время превратили меня из 75-килограммового парня в 105-килограммового увальня. Потом пришлось заморачиваться, чтобы за полгода сбросить 20-25 лишних кило.

А ведь когда часами работаешь над сложной или хотя бы объёмной задачей с полным погружением — организм требует «жрааать» не хуже кота в пять утра. И поесть полноценно не всегда получается. Значит, кидаем в рот то, что позволяет заглушить чувство голода без отрыва от монитора. И часто кидаем мы туда разные отнюдь не душе- и тушкоспасительные вещи. Шоколадные батончики, быстрорастворимая лапша, чипсы, пиццу, бургеры… ну вы знаете. Вкусно, голод глушит, стресс тоже, настроение поднимает — только вот (trigger warning!) на пользу это не идёт. И чем дальше, тем больше.
Читать дальше →
Total votes 93: ↑74 and ↓19 +55
Views 30K
Comments 175

Вечная борьба с парсерами, которую мы, кажется, выиграли

Rusprofile corporate blog Information Security *Programming *Open data *

Каждый более или менее крупный сайт хоть раз, но пытались атаковать. Такое было и с нашим сервисом Rusprofile, люди пытались спарсить финансовые и юридические данные о компаниях, которые мы агрегируем у себя последние 5 лет. Поэтому наша команда написала неплохую систему защиты с несколькими эшелонами проверок В этот Новый год случилась DDoS-атака, которую наша система смогла отбить меньше чем за час. Сегодня расскажем, почему другим нужны ваши данные и можно ли защититься от подобных атак (спойлер: можно).

Читать далее
Total votes 73: ↑52 and ↓21 +31
Views 17K
Comments 145

Да пишите вы сами этот наш контент

RUVDS.com corporate blog Habr Content-marketing

UPDATE ОТ 21.01.2022 — Приём заявок на конкурс завершён. Подведение итого будет происходить — 07.02.2022



Блоги компаний на Хабре — настоящая точка кипения. В них, как в известном треке, треснул мир напополам, дымит разлом, и льётся кровь, идёт война добра со злом: трудятся внутренние редакции, привлекаются лучшие авторы Хабра (не лучшие и имитирующие лучших — тоже), минусы ставятся даже под самой крутой статьёй, а в комментариях как раз то дневной, то ночной дозор. Мы ведём блог на Хабре уже 6 лет и готовы раскрыть немного внутряка, а заодно пригласить вас поучаствовать в баттле авторов — который, к слову, вас ни к чему не обяжет по окончании, если вы сами этого не захотите.

Читать дальше →
Total votes 77: ↑70 and ↓7 +63
Views 16K
Comments 19

Как вести бизнес-блог: советы юриста

КРОК corporate blog Content-marketing Legislation in IT Branding Business Models

Вы ведете личный или корпоративный блог? Пишете в соцсетях о своих рабочих проектах? Юрист КРОК Евгений Архипов рассказывает, как это делать и не нарушать закон.

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

Осмысленный сон удаленщика

Maxilect corporate blog Lifehacks for geeks Health Remote work

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

Читать далее
Total votes 17: ↑14 and ↓3 +11
Views 4.7K
Comments 9

Дефицит специалистов не только в IT — он везде. Но денег не платят

Headz.io corporate blog Research and forecasts in IT IT career Statistics in IT

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

Читать далее
Total votes 440: ↑424 and ↓16 +408
Views 178K
Comments 1001

Сможете ли вы решить задачки со вступительных экзаменов в Оксфордский университет?

Entertaining tasks
Translation


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

Все три задачки в последние годы задавались во время собеседований при поступлении в Оксфордский университет на философский факультет. В каждой из задач есть первоначальный вопрос, и почти все кандидаты правильно ответили на него. Далее в тексте идут дополнительные вопросы, с которыми справились только лучшие из лучших.
Читать дальше →
Total votes 86: ↑83 and ↓3 +80
Views 60K
Comments 93

Information

Rating
3,168-th
Location
Кировоград, Кировоградская обл., Украина
Date of birth
Registered
Activity