All streams
Search
Write a publication
Pull to refresh
0
0
Skillfactory School @skillfactory_school

Школа Computer Science

Send message

Мастерство Data Science: Автоматизированное конструирование признаков на Python

Reading time11 min
Views13K
image

Машинное обучение все больше переходит от моделей, разработанных вручную, к автоматически оптимизированным пайплайнам с использованием таких инструментов, как H20, TPOT и auto-sklearn. Эти библиотеки, наряду с такими методами, как случайный поиск, стремятся упростить выбор модели и настройку частей машинного обучения, находя лучшую модель для набора данных без какого-либо ручного вмешательства. Однако разработка объектов, возможно, более ценный аспект пайплайнов машинного обучения, остается почти полностью человеческим трудом.

Конструирование признаков (Feature engineering), также известная как создание признаков (feature creation), представляет собой процесс создания новых признаков из существующих данных для обучения модели машинного обучения. Этот шаг может быть более важным, чем фактическая используемая модель, потому что алгоритм машинного обучения извлекает уроки только из тех данных, которые мы ему предоставляем, и создание признаков, которые имеют отношение к задаче, абсолютно необходимо (см. Превосходную статью «Несколько полезных вещей, которые необходимо знать о Машинное обучение").
Читать дальше →

Задачки для фронтенд-тренировки: клоны CodeSandbox, Robinhood, Whoishiring, Stackoverflow

Reading time3 min
Views6.1K
Предлагаем вашему вниманию идеи/задачи (не решения) для самостоятельного изучения и оттачивания мастерства.

График цен на акции в стиле Robinhood


image

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

Фронтенд-тренировка: делаем клоны Discord, Jira, SoundCloud, Apple Stock, шахмат, озвучки и курсов валют

Reading time3 min
Views6.3K
Предлагаем вашему вниманию идеи/задачи (не решения) для самостоятельного изучения и оттачивания мастерства.

image

Клон SoundCloud


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

image

Чему вы научитесь, создав клон SoundCloud:

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

5 опенсорсных альтернатив Slack для группового чата

Reading time5 min
Views38K
При любом сотрудничестве важно иметь хорошие инструменты для общения. Безусловно, они индивидуальны и зависят от вашей ситуации, но могут включать в себя рассылки для общения по электронной почте, Git или Subversion для управления версиями, Википедию или Etherpad для совместной работы, расшеренный список задач для организации рабочего процесса или даже полноценный пакет управления проектами.

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

В некоторых кругах бытует мнение, что приложения с чатами могут отвлекать от работы. Я считаю, что важно «съезжать» в нерабочие темы в чате прежде чем они создадут когнитивные нарушения. И не менее важно иметь пространство для непрерывной работы над задачами, требующими более длительных периодов концентрации. Сейчас, например, я использую по крайней мере два групповых чата с выключенными оповещениями – так я могу проверять их лишь периодически в перерывах от работы, а когда мне нужно хорошо потрудиться, я отключаю оповещения во всех социальных сетях.
Читать дальше →

Руководство для начинающих: создаем DevOps-пайплайн

Reading time9 min
Views28K
Если вы новичок в DevOps, взгляните на эту инструкцию по созданию вашего первого конвейера из пяти этапов.

image


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

Мое путешествие по DevOps


Раньше я работал в облачной команде Citi Group, разрабатывая веб-приложение Infrastructure-as-a-Service (IaaS) для управления облачной инфраструктурой Citi, но меня всегда интересовало, как сделать процесс развития более эффективным и привнести позитивные культурные изменения в команду разработчиков. Ответ я нашел в книге, рекомендованной Грегом Лавендером (Greg Lavender), техническим директором Citi по облачной архитектуре и инфраструктуре. Книга называлась «Проект Феникс» (The Phoenix Project), и в ней объясняются принципы DevOps, при этом она читается как роман.

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

Amazon: 23 000 в день
Google: 5 500 в день
Netflix: 500 в день
Facebook: Раз в день
Twitter: 3 раза в неделю
Типичная компания: Раз в 9 месяцев

Как вообще возможны частоты Amazon, Google и Netflix? Все потому, что эти компании придумали, как сделать почти идеальный DevOps-конвейер.
Читать дальше →

Чеклист для проекта по машинному обучению

Reading time5 min
Views5.9K
image

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

Зачем мне вообще нужен чеклист?

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

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

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

Как говорит Атул Гаванде в своей книге ”The Checklist Manifesto”,
объем и сложность того, что мы знаем, превзошли нашу индивидуальную способность правильно, безопасно и надежно предоставлять свои преимущества.
Итак, позвольте мне провести вас по этому четкому и краткому списку действий, которые уменьшат вашу рабочую нагрузку и улучшат ваши результаты…

Чеклист проектов по машинному обучению

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

Двоичное‌ ‌кодирование‌ ‌вместо‌ ‌JSON

Reading time6 min
Views15K
Кодируйте‌ ‌одни‌ ‌и‌ ‌те‌ ‌же‌ ‌данные‌ ‌гораздо‌ ‌меньшим‌ ‌количеством‌ ‌байт.‌ ‌

image

Почему‌ ‌меня‌ ‌это‌ ‌должно‌ ‌волновать ‌


Данные‌ ‌хранятся‌ ‌в‌ ‌памяти‌ ‌в‌ ‌виде‌ ‌структур‌ ‌данных,‌ ‌таких‌ ‌как‌ ‌объекты,‌ ‌списки,‌ ‌массивы‌ ‌и‌ ‌т.д.‌ ‌Но‌ ‌если‌ ‌вы‌ ‌хотите‌ ‌отправить‌ ‌данные‌ ‌по‌ ‌сети‌ ‌или‌ ‌в‌ ‌файле,‌ ‌вам‌ ‌нужно‌ ‌закодировать‌ ‌их‌ ‌в‌ ‌виде‌ ‌последовательности‌ ‌байтов.‌ ‌Перевод‌ ‌из‌ ‌представления‌ ‌в‌ ‌памяти‌ ‌в‌ ‌последовательность‌ ‌байтов‌ ‌называется‌ ‌кодированием,‌ ‌а‌ ‌обратное‌ ‌преобразование‌ ‌–‌ ‌декодированием.‌ ‌Со‌ ‌временем‌ ‌схема‌ ‌данных,‌ ‌обрабатываемых‌ ‌приложением‌ ‌или‌ ‌хранящихся‌ ‌в‌ ‌памяти,‌ ‌может‌ ‌эволюционировать,‌ ‌туда‌ ‌могут‌ ‌добавляться‌ ‌новые‌ ‌поля‌ ‌или‌ ‌удаляться‌ ‌старые.‌ ‌Следовательно,‌ ‌используемая‌ ‌ кодировка‌ ‌должна‌ ‌иметь‌ ‌как‌ ‌обратную‌ ‌(новый‌ ‌код‌ ‌должен‌ ‌быть‌ ‌способен‌ ‌читать‌ ‌данные,‌ ‌написанные‌ ‌старым‌ ‌кодом),‌ ‌так‌ ‌и‌ ‌прямую‌ ‌(старый‌ ‌код‌ ‌должен‌ ‌быть‌ ‌способен‌ ‌читать‌ ‌данные,‌ ‌написанные‌ ‌новым‌ ‌кодом)‌ ‌совместимость.‌ ‌

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

Типы‌ ‌форматов‌ ‌кодирования‌


Существует‌ ‌два‌ ‌типа‌ ‌форматов‌ ‌кодирования:‌ ‌

  • Текстовые‌ ‌форматы‌ ‌
  • Двоичные‌ ‌форматы‌
‌ ‌
Читать дальше →

Гайд по DevOps для начинающих

Reading time11 min
Views81K
В чем важность DevOps, что он означает для ИТ-специалистов, описание методов, фреймворков и инструментов.

image

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

Что такое DevOps


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

Слово «DevOps» является объединением слов «разработка» (development) и «операции» (operations). DevOps помогает увеличить скорость доставки приложений и услуг. Это позволяет организациям эффективно обслуживать своих клиентов и становиться более конкурентоспособными на рынке. Проще говоря, DevOps — это согласованность между разработкой и ИТ-операциями с более эффективным взаимодействием и сотрудничеством.
Читать дальше →

Использование C и C++ в Data Science для новичков

Reading time11 min
Views24K
Решим классическую задачу Data Science на C99 и C++11.

В то время как такие языки как Python и R становятся все более популярными для науки о данных, C и C++ могут быть сильным выбором для эффективного решения задач в Data Science. В этой статье мы будем использовать C99 и C++11 для написания программы, работающей с квартетом Энскомба, о котором я расскажу далее.

О своей мотивации к постоянному изучению языков я написал в статье, посвященной Python и GNU Octave, которую стоит прочитать. Все программы предназначены для командной строки, а не для графического интерфейса пользователя (GUI). Полные примеры доступны в репозитории polyglot_fit.

Задача по программированию


Программа, которую вы напишете в этой серии:

  • Считывает данные из CSV-файла
  • Интерполирует данные прямой линией (т.е., f(x)=m ⋅ x + q).
  • Записывает результат в файл изображения
Читать дальше →

Генеративная зоология с нейронными сетями

Reading time4 min
Views5K
image

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

image

Примеры изображений, созданных GAN

Глядя на эти изображения, кажется, что другим нейронным сетям потребуется изучить множество примеров, чтобы иметь возможность создавать то, что выдают GAN. Некоторые факторы кажутся относительно простыми и обоснованными фактически – например, что цвет обоих глаз должен совпадать. Но другие аспекты фантастически сложны, и их очень трудно сформулировать. Так, например, какие детали необходимы для того, чтобы связать воедино глаза, рот и кожу в целостное изображение лица? Конечно, я говорю о статистической машине как о человеке, и наша интуиция может нас обмануть — может оказаться, что рабочих вариаций относительно мало, а пространство решений более ограничено, чем мы себе представляем. Наверное, самое интересное – это не сами образы, а то жуткое воздействие, которое они оказывают на нас.

Python для начинающих: как повелевать Web’ом

Reading time8 min
Views22K
Путешествие в простую веб-автоматизацию

image

Проблема: Отправка домашних заданий требует навигации по лабиринту веб-страниц, настолько сложной, что несколько раз я отправлял задание в неправильное место. Кроме того, хоть и этот процесс занимает всего 1–2 минуты, иногда он кажется непреодолимым препятствием (например, когда я закончил задание слишком поздно ночью и едва могу вспомнить свой пароль).

Решение: Используйте Python для автоматической отправки выполненных заданий! В идеале я мог бы сохранить задание, набрать несколько клавиш и загрузить свою работу за считанные секунды. Сначала это звучало слишком хорошо, чтобы быть правдой, но потом я обнаружил Selenium, инструмент, который можно использовать с Python для навигации по сети.
Читать дальше →

Учебный проект на Python: интерфейс в 40 строк кода (часть 2)

Reading time4 min
Views14K
image

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

Streamlit


Streamlit — это веб-фреймворк, предназначенный для исследователей данных для простого развертывания моделей и визуализаций с использованием Python. Это быстро и минималистично, а также красиво и удобно. Есть встроенные виджеты для пользовательского ввода, такие как загрузка изображений, ползунки, ввод текста и другие знакомые элементы HTML, такие как флажки и переключатели. Всякий раз, когда пользователь взаимодействует с потоковым приложением, сценарий python перезапускается сверху вниз, что важно учитывать при рассмотрении различных состояний вашего приложения.
Вы можете установить Streamlit с помощью pip:

pip install streamlit

И запустите streamlit в скрипте Python:

streamlit run app.py

Варианты использования


В предыдущей статье мы создали программу на Python, которая будет проходить лабиринт, учитывая файл изображения и начальное/конечное местоположения. Мы хотели бы превратить эту программу в одностраничное веб-приложение, где пользователь может загрузить изображение лабиринта (или использовать изображение лабиринта по умолчанию), настроить начальное и конечное местоположение лабиринта и увидеть пройденный лабиринт.
Читать дальше →

Учебный проект на Python: алгоритм Дейкстры, OpenCV и UI ( часть 1)

Reading time4 min
Views24K
Лабиринты — это распространенная головоломка для людей, но они представляют из себя интересную задачу для программирования, которую мы можем решить, используя методы кратчайшего пути, такие как алгоритм Дейкстры.

Вспоминаем алгоритм Дейкстры


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

Сначала мы присваиваем значение расстояния от источника всем узлам. Узел s получает значение 0, потому что это источник; остальные получают значения ∞ для начала.

image

Наш интересующий узел — это необработанный узел с наименьшим значением (показан серым), то есть s. Сначала мы «ослабляем» каждую смежную вершину до нашего интересующего узла, обновляя их значения до минимума их текущего значения или значения узла интереса плюс длину соединительного ребра…
Читать дальше →

Датасет — это просто тест Роршаха (вы видите то, что хотите увидеть)

Reading time6 min
Views7.1K
Опасность апофении в аналитике и способы ее предотвратить. Между ложью и историями, в которых фигурируют данные, очень тонкая грань.

Психологическая ловушка в аналитике данных


Мозг человека обладает удивительной способностью во всем находить паттерны… но у этих паттернов обычно мало общего с реальностью. Мы можем увидеть образ кролика в облаке или лицо Элвиса в картофельных чипсах.

image

Видишь кролика и профиль Элвиса?

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

image

Летучая мышь? Бабочка? Обычная клякса? Это одна из 10 карт теста Роршаха, созданная в 1921 году.

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

8 трюков в Python, используемых опытными программистами

Reading time5 min
Views18K
image

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

1. Сортировка объектов по нескольким ключам


Предположим, мы хотим отсортировать следующий список словарей:

people = [
{ 'name': 'John', "age": 64 },
{ 'name': 'Janet', "age": 34 },
{ 'name': 'Ed', "age": 24 },
{ 'name': 'Sara', "age": 64 },
{ 'name': 'John', "age": 32 },
{ 'name': 'Jane', "age": 34 },
{ 'name': 'John', "age": 99 },
]

Но мы не просто хотим сортировать их по имени или возрасту, мы хотим отсортировать их по обоим полям. В SQL это будет такой запрос:

SELECT * FROM people ORDER by name, age

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

Самая важная идея в Data Science

Reading time7 min
Views5.3K

Советы по отделению отвлекающих факторов от полезных сведений


image

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

Люди слишком хороши в поиске закономерностей во всем. Вы сами определяете какие закономерности действительно существуют, а какие – выдуманы. Мы – существа, которые находят лицо Элвиса в картофельной чипсе. Если у вас есть соблазн приравнять закономерности к понятиям, помните, что есть три вида закономерностей:

  • Паттерны, которые существуют и в вашем наборе данных, и за его пределами.
  • Паттерны, которые существуют только в вашем наборе данных.
  • Паттерны, которые существуют только в вашем воображении (апофении).
Читать дальше →

Самое грустное уравнение в Data Science

Reading time5 min
Views5.7K
image

Запаситесь носовыми платочками! Сейчас я расскажу вам всю правду о статистике и data science. У вас слезы на глаза навернутся, я вам обещаю.

ВЫВОД = ДАННЫЕ + ПРЕДПОЛОЖЕНИЯ. Другими словами, статистика не дает вам правду.

Распространенные мифы


Часто можно услышать следующие ошибочные представления:

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

Все это звучит как сказки, не так ли? Потому что это они и есть.

Горькая правда


Нет в мире такой магии, которая поможет вам сотворить что-то из ничего. Забудьте об этом. Статистика о другом. Поверьте мне на слово, как статистику. (В качестве бонуса эта статья сэкономит вам кучу времени, которое вы бы потратили, преследуя эту несбыточную мечту.)

К сожалению, многие шарлатаны будут пытаться убедить вас в обратном. Они будут использовать стандартный прием, «Ты не знаешь уравнений, которыми я тебя закидал, поэтому признай мое преимущество и делай как я скажу!»

Не ведитесь на слова этих позеров.
Читать дальше →

Как начинающий Data Scientist вроде меня может набраться опыта

Reading time8 min
Views10K

Я прошел несколько курсов, а что делать дальше?


image

На днях я получил письмо от Мануэлы со следующим вопросом: «Как начинающий data scientist вроде меня может набраться опыта?»

Вопрос отличный.

За вопросом следовало: «Я закончила несколько курсов и проектов, некоторые работодатели говорили, что им нравится мое образование, но мне не хватает минимального опыта, и чтобы я писала им после его получения!».

В своем ответе я расписал несколько пунктов, которые скопирую в эту статью.

Дисклеймер: я не ищу работу. Возможно, вы хотите спросить «А почему я вообще должен слушать советы того, кто не ищет работу?»

И будете правы.

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

Однако, если бы я все же искал работу (и, в свою очередь, требуемый к ней опыт), я бы сделал следующие вещи.
Читать дальше →

Как я получил сертификат TensorFlow-разработчика (и как его получить вам)

Reading time12 min
Views11K
image

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

Позвольте мне рассказать вам как я это сделал, и как вам сделать то же самое.

Погодите. Что вообще такое TensorFlow?

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

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

Обычно вы пишете код с использованием TensorFlow на очень понятном Python (именно это требуется для экзамена) или JavaScript (tensorflow.js), и он запускает ряд базовых функций, написанных на C. Эти функции выполняют описанные вами ранее команды (производят множество численных вычислений).

Абстракция — ключ к простому коду

Reading time5 min
Views9.3K
image

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

Вот где сомневающиеся думают: «Здесь не удастся срезать углы! Каждый должен практиковаться, чтобы стать хорошим!» И это действительно так, но что практикуют специалисты чтобы ускорить разработку программного обеспечения, и есть ли одна ключевая вещь, которая может иметь огромное значение?

Да! Есть!

Но даже если я поделюсь им с вами — даже если я подробно изложу его для вас — вам может потребоваться 10 лет, чтобы вырасти и полностью оценить его простоту.

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

Этот секрет является ключевым отличием между средней производительностью и 10-кратной производительностью. Используя рычаги, которые дает этот секрет, вы можете быть на порядок эффективнее.

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

Секрет того, чтобы быть в 10 раз более продуктивным, заключается в овладении абстракцией. Многие разработчики относятся к «абстракции» как к грязному слову. Вы можете услышать совет, например, «не абстрагируйтесь слишком рано» или знаменитое в Zen Python «явное лучше, чем неявное», подразумевая, что конкретное лучше, чем абстрактное. И все это хорошие советы — в зависимости от контекста.

Information

Rating
Does not participate
Location
Россия
Registered
Activity