Search
Write a publication
Pull to refresh
0
@Pozdnyakovread⁠-⁠only

User

Send message

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views28K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →

ChatGPT в роли стримера

Level of difficultyEasy
Reading time6 min
Views15K

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

Чуть позже широкую огласку получил ИИ‑стример Neuro‑sama, созданный vedal987.

В целом, тогда я и решил запустить этот эксперимент и попробовать сделать максимально дешево и сердито русскоговорящего стримера на основе GPT‑моделей.

Читать далее

Книга «40 алгоритмов, которые должен знать каждый программист на Python»

Reading time6 min
Views53K
image Привет, Хаброжители!

Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике.

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

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

Книга «Алгоритмы на практике»

Reading time16 min
Views17K
image Привет, Хаброжители!

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

Никакого условного псевдокода, все примеры сопровождаются исходным кодом на языке Си подробными объяснениями.
Читать дальше →

Лучшая задача по программированию для собеседования

Reading time7 min
Views70K

Готовиться к собеседованию можно по-разному: смотреть ролики на YouTube, читать документацию, положиться на судьбу и тд. В большинстве случаев кандидатам предложат решить одну или несколько задач. В этой статье вас ждет подробный разбор реальной задачки, рекомендации к ее решению и объяснение ожиданий интервьюера от кандидатов.

Читать далее

Bittorrent с нуля на Go

Reading time15 min
Views25K


BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.

Читать дальше →

Три уровня биохакинга. Как можно снова стать 18-летним за $2 млн в год

Reading time11 min
Views101K

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

Понятно, что таким часто страдают спортсмены, для которых здоровье — это всё. Например, теннисист Новак Джокович, 35 лет, любит сидеть в камере под высоким давлением, чтобы обогатить свою кровь кислородом. Американский футболист Том Брэди в 45 лет принимает «антивозрастные» добавки, наносит на кожу увлажняющие порошки и катает по телу специальные вибрирующие шарики для улучшения гибкости мышц. А Криштиану Роналду выглядит моложе своих 38 лет за счет строгой диеты из яиц, батата и брокколи и регулярных «ванн» в своем личном кислородном резервуаре (гипербарическая оксигенотерапия).

Но среди наших братьев айтишников биохакинг в последние годы стал даже популярнее, чем среди спортсменов. Мол, научились взламывать игры и сайты, сможем взломать и свое тело! Чтобы начитить себе 140 лет жизни и чтоб никогда не болела спина!

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

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

Осторожно, в посте много фото!

Читать далее

Financial News Sentiment Dataset: определяем точку входа в акции по настроению новостей

Reading time5 min
Views7.4K

Набор данных Financial News Sentiment Dataset (FiNeS) содержит в себе заголовки финансовых новостей о компаниях, торгующихся на Московской и СПб биржах. Целевой переменной датасета является оценка тональности новостных заголовков в виде вещественного числа. Идеи для использования датасета: Создание трейдинговых стратегий на основе анализа тональности новостей "на лету"; Анализ новостного фона в разрезе времени (день/неделя) или в разрезе компании.

Читать далее

Не так страшен Rust, как его излагают

Reading time5 min
Views28K

Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф? 

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

Так ли это?

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

Reading time8 min
Views77K

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

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

Читать далее

Изучаем Python за 6 месяцев. Подробный план обучения

Level of difficultyEasy
Reading time5 min
Views308K

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

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

Читать далее

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

Reading time7 min
Views43K
К сожалению, не все покупки с пересылкой в другой город на онлайн-барахолках удачные. Иногда продавцы умалчивают серьёзные дефекты ништяков, а на почте всё проверить невозможно: ведь очередь тоже ждать не будет! Так и случилось в рамках сегодняшней статьи, когда я заказал Samsung Galaxy J3 и S4 за 1.000 рублей, а у них обоих оказались очень серьёзные косяки, о которых продавец конечно же умолчал! У J3 был сколот дисплей (на фотографии не было видно), он стоял на пароле (об этом было оговорено заранее) и у него варварски, вместе с пятачками был выдран один из сим-лотков! Но он отнюдь не бесполезен и из него можно сделать вполне себе полноценный сервер. Как? Читайте в статье!

image
Читать дальше →

Подробный разбор простого приложения на Rust

Reading time8 min
Views16K

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

Читать далее

Как мы ржавели. История внедрения и обучения

Reading time12 min
Views38K

Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое.

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

Профессионально я программирую уже 17 лет. В далёкие-предалёкие времена я начал изучать программирование с x86 Assembly. Такой жестокий подход к изучению компьютера дал мне глубокое понимание того как работает процессор и что делают другие языки программирования. Учить новые языки для меня никогда не было проблемой. Я их просто учил. C, C++, шарпы, ГО, тысячи разных скриптов и фреймворков. Чего уж там, ещё один язык, можно и выучить.

Ага.

Только вот не с этой ржавой развалюхой. Я просидел две недели над официальным руководством, пялился в VSCode и не мог выдавить из себя больше чем fn main() {}. Ну какого же чёрта? Я просто закрыл глаза, открыл руководство на рандомной странице и начал его читать. И прикол в том, что я понял о чём там говориться. И тут до меня дошло… Руководство написано наизнанку. Начало и конец ничуть не лучше чем в Мементо Кристофера Нолана. Они как-то умудрились запутать в общем-то нормальное руководство. После этого всё пошло получше.

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

Ржаветь так ржаветь.

Старение неумолимо

Reading time2 min
Views73K
Когда я подростком только начинал бегать, помню как меня удивила вот такая таблица в спортзале:


Я не мог понять почему с возрастом так неумолимо снижается максимальный пульс на который способно наше сердце. Неужели это происходит даже у постоянно тренирующихся спортсменов? Не может быть! Хотя бы между 20 и 40 человек, ведущий здоровый образ жизни и регулярно занимающийся спортом, наверняка может сохранять свои физические показатели на том же уровне — думал наивный чукотский юноша.

И вот прошло уже более 20 лет, и я на собственной шкуре понимаю, что — увы — нет. Ухудшить можно. Замедлить нет. Именно поэтому в профессиональном спорте практически нет 35-летних спринтеров или 40-летних футболистов, а пиковый возраст пловцов вообще 21 год. Вот отличный график, показывающий возрастное замедление и спринтеров, и стайеров:
Читать дальше →

Вот почему вам стоит использовать оператор Walrus в Python

Reading time8 min
Views30K

Выражение присваивания (также известное как оператор walrus) — это функциональность, которая появилась в Python недавно, в версии 3.8. Однако применение walrus является предметом дискуссий и множество людей испытывают безосновательную неприязнь к нему.

Под катом эксперт компании IBM Мартин Хайнц*, разработчик и DevOps-инженер, постарается убедить вас в том, что оператор walrus — действительно хорошее дополнение языка. И его правильное использование поможет вам сделать код более лаконичным и читаемым.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

«Вам повезло!» или как Яндекс устранял баг

Reading time2 min
Views30K

Предисловие

Hello, team! Возможно, столь завуалированное название статьи Вас заинтересовало, и вы решили прочитать ее во что бы то ни стало, дабы понять суть. Но на деле все куда проще, а остроты данной ситуации подбавляют лишь комические реплики службы поддержки Яндекс (далее - ЯД), которая красиво "отшила" мой баг-репорт.

Читать далее

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views63K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...

Блеск и нищета IT в Германии

Reading time7 min
Views184K

Уже четыре года я работаю Java разработчиком в небольшой немецкой компании.

В начале прошлого года я увидел на столе одного из моих «кураторов» забытый листок с расчётом заработной платы за месяц. Конечно же, я не мог в него не посмотреть. Сумма, которую я увидел у Нильса, меня удивила. Зарплата брутто: 3300€ в месяц. Живет один, жены нет, детей нет. Значит на руки у него выходит примерно 2130€ (~130000 рублей по курсу на 01.09.2022).

Можете себе представить? Мой куратор, урожденный немец, Senior Developer, прекрасно говорящий на английском, с опытом работы разработчиком более пятнадцати лет получает в Германии 3300€ в месяц. А я – Middle Java разработчик с немецким B2 и английским B1 на испытательный срок получил сразу 3500€! Сейчас моя мой зарплата 4000€ в месяц.

Многие мне не поверили. Некоторые не верят даже в мои 4000€ (слишком мало), не говоря уже про зарплату Нильса. Откуда такая мизерная зарплата для столь высококвалифицированного работника? Ведь в представлении большинства наших соотечественников все разработчики в Германии деньги просто лопатой гребут. Особенно, если они работают в финансовой сфере. Цифры должны по-любому начинаться от 6000€ в месяц. Какие 3300???

Вот и levels.fyi (на КДПВ) говорит, что медианная зарплата разработчика в Германии 83160€ в год (6930€ в месяц)

Выходит, что Зарплата Нильса ниже нижнего предела (такого столбца даже нет на этом графике). Так какая же в реальности зарплата у разработчиков в Германии?

И почему Нильс получает так мало?

Необычные проекты интернета вещей. Пёс-охранник на Raspberry Pi и умная видеоняня

Reading time4 min
Views5.3K


Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity