Pull to refresh
2
0
Send message

Математический подход к выбору девушки*. Правило 37%

Level of difficultyEasy
Reading time7 min
Views46K


В наше время многие находят вторую половинку в интернете: на тематических форумах и в онлайн-сообществах, в играх, на сайтах знакомств и приложениях вроде «Тиндера», где знакомства вообще поставлены на конвейер. Если десять лет назад 22% всех браков в США начинались со знакомства в интернете, то сейчас доля онлайн-знакомств превысила 39%. По сути, интернет стал основным способом знакомства мужчин и женщин, как долговременного, так и краткосрочного. Это очень удобно для гиков и специалистов с техническим образованием, поскольку мы получаем конкурентное преимущество, используя привычные инструменты. Например, можно поддерживать десятки чат-сессий в десктопном приложении или применять методы численного анализа в Excel/Google Sheets.

*Примечание. Под «девушкой» здесь и далее подразумевается любой объект, поочерёдно рассматриваемый из ограниченного пула схожих объектов с отличающимися характеристиками. Это может быть не только девушка, но и мужчина, квартира для съёма, автомобиль на вторичном рынке, домик в деревне, работодатель и т. д.
Читать дальше →
Total votes 56: ↑52 and ↓4+63
Comments188

Собеседование наоборот: Альфа-Банк, Домклик, МойОфис, МТС / часть 1

Reading time13 min
Views5.8K

В марте на Хабр Карьере проходила карьерная неделя фронтенда. Карьерная неделя — это что-то вроде дня открытых дверей, который длится всю неделю. На этот раз за специалистов боролись Альфа-Банк, Домклик, МойОфис и МТС.

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

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

Требования к графическим интерфейсам: одна памятка ответит на все ваши вопросы

Level of difficultyEasy
Reading time7 min
Views15K

Большинство IT-команд работает по методологии Agile, основной постулат которой гласит: «Работающий продукт важнее исчерпывающей документации». При этом одним из критериев качества требований к ПО, наряду с корректностью, непротиворечивостью, недвусмысленностью, является их полнота.

То есть налицо противоречие: документация IT-продукта в Agile менее важна, чем сам продукт, но при этом, чтобы продукт был качественно разработан, требования должны быть полными.

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

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments30

Самостоятельное обучение стало проще с Notion AI. Онлайн школы скоро вымрут? Пример SQL курса

Level of difficultyEasy
Reading time3 min
Views11K

Самостоятельное обучение стало проще с Notion AI. Онлайн школы скоро вымрут?Пример SQL курса.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments12

Чистый код, часть 1

Reading time16 min
Views21K

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

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

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

Читать далее
Total votes 23: ↑19 and ↓4+20
Comments36

Книга «Идиомы bash»

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

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

Авторы Карл Олбинг (Carl Albing) и Джей Пи Фоссен (JP Vossen) покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится.

Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Читать дальше →
Total votes 11: ↑10 and ↓1+11
Comments9

Полезные методы работы с данными в Pandas. Часть 2

Level of difficultyMedium
Reading time8 min
Views15K

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

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

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

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

Книга «Машинное обучение. Портфолио реальных проектов»

Reading time11 min
Views6.7K
image Привет, Хаброжители!

Изучите ключевые концепции машинного обучения‚ работая над реальными проектами! Машинное обучение — то, что поможет вам в анализе поведения клиентов, прогнозировании тенденций движения цен, оценке рисков и многом другом. Чтобы освоить машинное обучение, вам нужны отличные примеры, четкие объяснения и много практики. В книге все это есть!

Автор описывает реалистичные, практичные сценарии машинного обучения, а также предельно понятно раскрывает ключевые концепции. Вы разберете интересные проекты, такие как сервис прогнозирования цен на автомобили с использованием линейной регрессии и сервис прогнозирования оттока клиентов. Вы выйдете за рамки алгоритмов и изучите важные техники, например развертывание приложений в бессерверных системах и запуск моделей с помощью Kubernetes и Kubeflow. Пришло время закатать рукава и прокачать свои навыки в области машинного обучения!
Читать дальше →
Total votes 4: ↑3 and ↓1+4
Comments0

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

Reading time6 min
Views15K


Множество (Set) — структура данных, которая позволяет достаточно быстро (в зависимости от реализации) применить операции add, erase и is_in_set. Но иногда этого не достаточно: например, невозможно перебрать все элементы в порядке возрастания, получить следующий / предыдущий по величине или быстро узнать, сколько элементов меньше данного есть в множестве. В таких случаях приходится использовать Упорядоченное множество (ordered_set). О том, как оно работает, и какие реализации есть для питона — далее.

Читать дальше →
Total votes 24: ↑20 and ↓4+23
Comments1

Как использовать промты в ChatGPT для генерации кода на Python

Reading time2 min
Views43K

Привет, друзья! Сегодня я хочу рассказать вам о том, как использовать промты в ChatGPT для создания программного кода на Python. Если вы работаете с Python или интересуетесь программированием, то вы, наверняка, знаете, насколько важно уметь быстро и эффективно создавать код.

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

Чатбот ChatGPT основан на искусственном интеллекте и способен генерировать текст на основе предыдущих входных данных, так же основан на copilot. Таким образом, мы можем использовать его для генерации промтов для создания кода на Python.

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

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments42

Как программисту составить классное резюме и портфолио

Reading time10 min
Views31K

Точки зрения о том, нужны ли программисту резюме и портфолио для успешного трудоустройства, разнятся до противоположности. Кто-то считает, что содержательный профиль на GitHub важнее, а традиционная анкета на HH с перечислением мест учёбы, работы и навыков постепенно уходит в прошлое. Другие не торопятся «хоронить» традиционные резюме, ведь так работодателю и соискателю проще найти друг друга.

В этой статье отвечаем на вопросы:

— зачем программисту резюме или портфолио и что из этого важнее;

— как должно выглядеть резюме программиста и на какие детали стоит обратить внимание;

— почему портфолио и резюме — это не одно и то же; 

— как составить резюме, если сомневаетесь в своих силах, и какие удобные сервисы существуют для этих целей;

— что должно быть в портфолио, чтобы оно работало.

Читать далее
Total votes 16: ↑8 and ↓80
Comments7

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.5M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

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

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66

Руководство по Кросс-Платформенному Системному Программированию для UNIX и Windows: Уровень 1

Reading time68 min
Views11K

С помощью этого учебного материала мы научимся писать кросс-платформенный код на Си, используя системные функции популярных ОС (Windows, Linux/Android, macOS и FreeBSD): управление файлами и файловый I/O, консольный I/O, пайпы (неименованные), запуск новых процессов. Мы напишем свои небольшие вспомогательные функции поверх низкоуровневого системного АПИ (API), для того чтобы наш основной код, используя эти функции, мог работать на любой ОС без изменений. Этот учебный материал — начального уровня. Я делю сложные вещи на части, чтобы примеры кода здесь не были слишком заумными для тех, кто только что начал программировать на Си. Мы обсудим различия между системными АПИ и разберёмся, как создать кросс-платформенный программный интерфейс, который скрывает все эти различия от пользователя этого интерфейса.

Читать далее
Total votes 20: ↑19 and ↓1+24
Comments27

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Views118K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее
Total votes 42: ↑41 and ↓1+65
Comments25

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Junior
Linux
OOP
Python
SQL
Git