Pull to refresh
0
0
Send message

Алгоритмическое мышление для дата-сайентистов: как писать код, который экономит время и место

Level of difficultyMedium
Reading time18 min
Views4.6K

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

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

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

Читать дальше →
Total votes 8: ↑8 and ↓0+10
Comments0

Мои взгляды на программирование на июль 2024 года

Reading time5 min
Views7.8K
Эта статья – собрание убеждений о разработке ПО, которые выработались у меня на сегодняшний день. Всё основано на личном опыте.

Подход к задачам


Основная часть моей работы – разбираться с тикетами, и я до сих пор продолжаю совершенствоваться в этом деле. Вот несколько вещей, которые я открыл для себя в процессе.
  • Разные задачи, проекты и команды требуют разных подходов. Например, сделать пейсмейкер без автоматических тестов было бы безответственным решением – кто-то может от этого пострадать. И вместе с тем, глупо изводиться по поводу автоматических тестов на геймджеме, куда вы отправились на выходных. Содержание понятия «хороший код» меняется в зависимости от контекста, и нужно адаптировать свой подход под конкретную ситуацию.
  • Делайте марш-броски. Бывает, что я ставлю себе цель довести какую-то функциональность до готовности в кратчайшие сроки, пусть даже срезая углы где только можно, с кодом ужасного качества и TODO на каждом шагу. Когда у меня появится что-то рабочее, тогда и буду приводить всё в должный вид. Я пришел к выводу, что это хороший способ обозначить для себя проблемные зоны, а также неплохой путь к ускорению процесса разработки. На эту тему есть статья «Выбросьте первый набросок кода».
  • Если я бьюсь головой об задачу и никак не могу сдвинуться с мертвой точки, значит, необходимо оторваться от нее на какое-то время.
  • Прежде чем начать работу над сложной задачей, я задаю себе вопрос: «А что если вообще этого не делать?» Как правило, вопрос оказывается глупым и выполнять задачу все-таки приходится. Но примерно в пяти процентах случаев я осознаю, что определенную часть работы можно спокойно пропустить.

Читать дальше →
Total votes 15: ↑13 and ↓2+16
Comments26

Как подготовить будущих аналитиков данных и ML-специалистов к реальным бизнес-задачам

Level of difficultyEasy
Reading time6 min
Views6.5K

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

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

Читать далее
Total votes 26: ↑25 and ↓1+26
Comments10

Выгорание — личный опыт и пошаговая инструкция по приведению себя в порядок за 24 часа

Level of difficultyEasy
Reading time6 min
Views36K

Меня зовут Слава Усов. В 20 лет я уехал в свою первую экспедицию на Шпицберген, потом в Антарктиду и с тех пор пожил и поработал практически на всех континентах. От ученого до операционного менеджера в Африке и на Ближнем Востоке.

Читать далее
Total votes 49: ↑37 and ↓12+33
Comments46

Как зарабатывать в Телеграм: 7 способов монетизации тг канала и своих навыков – сохраните, пригодится

Level of difficultyMedium
Reading time9 min
Views37K

Показываю актуальные способы монетизации тг каналов и рассказываю как зарабатывать деньги в телеграм на продаже рекламы. В статье рассмотрим возможности заработка на реальных примерах. Разберем нюансы телеги вместе с Павлом Дуровым :)

Читать далее
Total votes 58: ↑13 and ↓45-31
Comments16

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног)

Level of difficultyEasy
Reading time10 min
Views55K

Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.

Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана — получить максимальный результат при минимальных затратах времени и сил.

Читать далее
Total votes 71: ↑63 and ↓8+64
Comments64

Как стать тестировщиком бесплатно? Программа обучения с нуля

Level of difficultyEasy
Reading time2 min
Views33K

Если вбить слово «тестировщик» в поисковую строку, можно найти множество курсов по данному направлению. Проблема заключается в том, что все курсы являются платными и, как правило, стоят несколько десятков, если не сотен тысяч рублей. 

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

Читать далее
Total votes 26: ↑23 and ↓3+22
Comments6

Что нужно знать и уметь начинающему специалисту по ремонту ноутбуков? Часть 1

Reading time4 min
Views19K

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

Все, о чем говорится в статье, — лишь основа по ремонту ноутбуков и других девайсов. Если у вас есть свои мысли по этому поводу — оставляйте их в комментариях.
Читать дальше →
Total votes 54: ↑48 and ↓6+55
Comments16

Невероятно, но факт: умножение матриц на GPU идёт быстрее на «предсказуемых» данных

Level of difficultyMedium
Reading time9 min
Views12K

Шёл 2022 год. Я обратил внимание на новый интересный проект CUTLASS, отличающийся очень высокой скоростью выполнения операций умножения матриц. Я взял большую задачу по умножению матриц — 8192 x 8192 x 8192, и померял производительность в PyTorch, где используется библиотека cuBLAS.

Читать далее
Total votes 37: ↑36 and ↓1+56
Comments15

Принципы SOLID, только понятно

Level of difficultyEasy
Reading time6 min
Views80K

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

Изучить принципы
Total votes 80: ↑66 and ↓14+59
Comments94

Как стать Frontend-разработчиком бесплатно? Программа обучения с нуля

Level of difficultyEasy
Reading time2 min
Views32K

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

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

Читать далее
Total votes 25: ↑20 and ↓5+15
Comments20

Моделирование курса валют методом Монте-Карло

Level of difficultyEasy
Reading time12 min
Views7.6K

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

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

Ключевой аспект использования Монте-Карло в финансах — это его способность учитывать и анализировать волатильность и дрейф курсов валют. Для повышения точности моделирования и реалистичности получаемых данных часто применяется ГАРЧ модель (Generalized Autoregressive Conditional Heteroskedasticity). ГАРЧ помогает адекватно оценить и моделировать изменчивость волатильности, что является критичным при анализе финансовых временных рядов.

Идейно код выполнялся без готовых реализованных методов из различных либ.

Проект использует следующие библиотеки и инструменты:

Читать далее
Total votes 12: ↑11 and ↓1+14
Comments6

NumPy для самых маленьких

Level of difficultyEasy
Reading time7 min
Views18K

Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. 

Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. 

Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

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

Как мы применили нейросеть Stable Diffusion в создании контента для интернет-магазина

Level of difficultyMedium
Reading time11 min
Views9.4K

Что делать, если то самое классное изображение никак не удается найти, а у заказчика пока нет ресурса предоставить нужный контент? Что можно придумать для разделов каталога, когда есть только фото для продуктовых карточек, чтобы это выглядело красиво? Как при этом не забыть о метафорах и ассоциациях бренда и создать необходимое настроение на сайте? Да еще и чтобы заказчик все это согласовал без правок…

Читать далее
Total votes 18: ↑13 and ↓5+10
Comments20

Как мы делаем опенсорс курсы для программистов от программистов

Level of difficultyEasy
Reading time8 min
Views37K
Мы разочаровались в курсах по программированию и поэтому сделали свои собственные. Не для вайтишников, а для типичных разрабов. В процессе нас хакнул инфлюенсер и забанил сервер телеграма.

Покоцанные, но не сломленные, мы представляем проект, над которым работали полтора года по ночам. Курсы по программированию с задачами в online IDE и прагматичной теорией. Никаких сертификатов и гарантий трудоустройства. Сплошной хардкор и опенсорс!


Читать дальше →
Total votes 120: ↑119 and ↓1+136
Comments76

Арбитраж трафика в 2024 году: что это и как работает?

Level of difficultyEasy
Reading time8 min
Views43K


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

Иногда специалистов по арбитражу трафика сравнивают с агентами по продажам. И это не удивительно. Дело в том, что принцип работы арбитражника заключается в привлечение людей на сайт клиента. Оплата за работу поступает только после того, как клиент получает новый лид. Все достаточно просто: если специалист по арбитражу трафика не привел посетителей на сайт клиента, то и оплаты он не получает. Если же арбитражник применил наиболее эффективные методы работы и хорошо постарался для привлечения новых лидов, то и оплату получает достойную.
Читать дальше →
Total votes 29: ↑16 and ↓13+11
Comments10

Частное мнение о том, как «вкатиться» в IT

Level of difficultyEasy
Reading time10 min
Views45K

Я давний читатель HABR‑а (кажется, с 2011 года), хотя читатель пассивный: даже не был зарегистрирован. Мне казалось, что сотрясать воздух занятие достаточно бессмысленное, а сказать что‑то новое мне особо и нечего. Но последние пару лет на HABR‑е появляется все больше и больше статей, которые условно можно охарактеризовать фразой «как вкатиться в IT». Возможно, я необъективен, но меня не покидает ощущение, что почти все статьи по этой тематике похожи друг на друга. Не дословно, конечно, но общим направлением мысли. Очень редко встречаются статьи где есть конкретика; все больше общие избитые банальные рецепты, которые, надо признать — чересчур универсальны и не могут служить руководством. Особенно
для тех, кто живет в провинции, где нет серьезных разработчиков и где, увы, негде получить необходимый опыт. Можно я расскажу о себе? Мой опыт не универсален, но это реальный опыт. Я не строю иллюзий, что это кому‑то пригодится, но если кого‑то хотя бы подбодрит — уже неплохо.

Чтобы не мусолить и не создавать ненужной интриги, скажу сразу: мне 62 года. Профессиональный стаж программиста 37 лет (с 1987 года). Вероятно, половина
читателей HABR‑а младше 37 лет, с чем я их искренно поздравляю — у вас еще много времени. Образование — высшее техническое (с углубленным изучением
математики). По основной специальности, правда, работал не долго.

Компьютеров в те годы было немного. Да, были «Синклеры», «БК» и еще целый ряд других. Народ вовсю паял свои машины, но у меня руки всегда росли не из того места, так что это увлечение прошло мимо. Тем не менее, мне повезло: КБ, где я работал по распределению, получило машину СМ-4 (клон PDP-11).

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

Читать далее
Total votes 227: ↑225 and ↓2+259
Comments102

Путь развития (Roadmap) Frontend разработчика

Level of difficultyEasy
Reading time5 min
Views40K

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

Читать далее
Total votes 26: ↑23 and ↓3+24
Comments13

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

Level of difficultyEasy
Reading time6 min
Views32K

В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).

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

В тот момент, когда я начал понимать вычислительную эффективность и стремиться к ускорению своих программ, я как раз решал задачу, связанную с поисковым движком. С тех пор я иногда задаюсь вопросом: что стоит сделать дальше? Каким будет моё следующее сложное задание? Это сильно зависит от имеющихся у вас на текущий момент знаний; некоторые идеи имеют смысл, другие пока недостижимы. Так мы и учимся.

Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.

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

Как я несколькими промптами создал торговый индикатор на Pinescript (TradingView)

Level of difficultyEasy
Reading time2 min
Views8K

Впечатления от использования бесплатного помощника генерации кода.

Я уже предпринимал попытки освоить Pinescript года 3-4 назад, когда только увидел всё многообразие торговых индикаторов в TradingView. И я точно помню своё ощущение бессилия, потому что толковых методичек я не нашел. А сегодня, через Ai-помощника смог сделать то что хотел - за несколько промптов, совершенно ничего не зная в языке и как эти индикаторы строятся. Согласитесь, очень странное впечатление, когда пишешь что-то, копируешь, вставляешь, и у тебя ещё и получается! Это ЭКСТАТИЧЕСКОЕ ощущение ?.

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

Information

Rating
Does not participate
Registered
Activity