Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🔢 Как научиться решать сложные задачи
Нам может не даваться решение сложных математических задач по многим причинам: от стереотипов до негативного школьного опыта. К счастью, это можно исправить. В карточках перечислили лучшие на наш взгляд книги, которые помогут понять, полюбить и подтянуть математику.
Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈
Нам может не даваться решение сложных математических задач по многим причинам: от стереотипов до негативного школьного опыта. К счастью, это можно исправить. В карточках перечислили лучшие на наш взгляд книги, которые помогут понять, полюбить и подтянуть математику.
Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈
👍17❤1
☝️🚀 Рейтинг Low Code опенсорсных инструментов разработки за последние 28 дней
🔝 Топ-5 в нашей подборке:
1️⃣ AppFlowy-IO/AppFlowy — альтернатива Notion на Flutter и Rust. Вы отвечаете за свои данные и настройки.
2️⃣ supabase/supabase — альтернатива Firebase. Один из самых быстрорастущих проектов на GitHub.
3️⃣ refinedev/refine — основанный на React фреймворк для создания внутренних инструментов, панелей администратора, информационных панелей и приложений B2B с акцентом на гибкость.
4️⃣ n8n-io/n8n — расширяемый инструмент автоматизации рабочих процессов.
5️⃣ appwrite/appwrite — end-to-end бэкенд сервер для веб-, мобильных, нативных или серверных приложений, упакованный в виде набора микросервисов Docker.
#инструменты
🔝 Топ-5 в нашей подборке:
1️⃣ AppFlowy-IO/AppFlowy — альтернатива Notion на Flutter и Rust. Вы отвечаете за свои данные и настройки.
2️⃣ supabase/supabase — альтернатива Firebase. Один из самых быстрорастущих проектов на GitHub.
3️⃣ refinedev/refine — основанный на React фреймворк для создания внутренних инструментов, панелей администратора, информационных панелей и приложений B2B с акцентом на гибкость.
4️⃣ n8n-io/n8n — расширяемый инструмент автоматизации рабочих процессов.
5️⃣ appwrite/appwrite — end-to-end бэкенд сервер для веб-, мобильных, нативных или серверных приложений, упакованный в виде набора микросервисов Docker.
#инструменты
🤔16👍5❤2
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
👍9❤3
🤔 Переосмысление привычных нам уровней разработчиков (junior, middle, senior)
Автор делится видением уровней разработчиков, в которых главный критерий разделения — способность решать проблемы. По его классификации 2-й и 4-й уровни дают предсказуемый результат эффективным способом, отличается только сложность решаемой проблемы:
1️⃣ Простое решение проблем случайным образом
2️⃣ Простое решение простых проблем
3️⃣ Решение сложных проблем случайным образом
4️⃣ Простое решение сложных проблем
По сравнению с классическим набором уровней эти уровни:
☑️ Более прозрачны
☑️ Измеримы
☑️ Соотносятся с опытом
☑️ Соответствуют ожиданиям
👉 Подробнее о каждом уровне с примерами читайте в статье
Автор делится видением уровней разработчиков, в которых главный критерий разделения — способность решать проблемы. По его классификации 2-й и 4-й уровни дают предсказуемый результат эффективным способом, отличается только сложность решаемой проблемы:
1️⃣ Простое решение проблем случайным образом
2️⃣ Простое решение простых проблем
3️⃣ Решение сложных проблем случайным образом
4️⃣ Простое решение сложных проблем
По сравнению с классическим набором уровней эти уровни:
☑️ Более прозрачны
☑️ Измеримы
☑️ Соотносятся с опытом
☑️ Соответствуют ожиданиям
👉 Подробнее о каждом уровне с примерами читайте в статье
👍32🤔6❤2
🛠 Как проектировать REST API: полезные советы для разработчика
1. Используйте существительные во множественном числе для обозначения коллекций.
2. Не добавляйте ненужные пути в структуру URL-адресов.
3. Не добавляйте
4. Не возвращайте массивы в качестве ответов верхнего уровня от эндпоинтов. Верхний уровень ответа должен быть объектом, а не массивом, чтобы обеспечить обратную совместимость и возможность добавления пагинации.
5. Не возвращайте структуры map. Вместо этого используйте массивы объектов, чтобы избежать проблем при работе с типизированными языками и не усложнять обработку данных.
6. Используйте строки для всех идентификаторов.
7. Добавляйте префиксы к идентификаторам. Это улучшает читаемость API и помогает различать разные типы идентификаторов.
8. Не используйте 404 для обозначения "not found". Вместо этого рекомендуется использовать другие коды ошибок, чтобы точно указать на отсутствие ресурса.
9. Будьте последовательными. Несоответствие в схемах и структурах может вызвать путаницу и усложнить работу с API.
10. Используйте структурированный формат ошибок. Это облегчает отладку и обработку ошибок на разных уровнях системы.
11. Обеспечьте механизмы идемпотентности. Это важно для предотвращения дублирования операций в условиях нестабильной сети.
12. Используйте строки ISO8601 для временных меток. Строковое представление времени более читаемо и удобно для работы.
👉 Подробнее
#проектирование_систем
1. Используйте существительные во множественном числе для обозначения коллекций.
# Хорошо
GET /products
GET /products/{product_id}
# Плохо
GET /product/{product_id}
2. Не добавляйте ненужные пути в структуру URL-адресов.
# Хорошо
GET /v3/application/listings/{listing_id}
# Плохо
PATCH /v3/application/shops/{shop_id}/listings/{listing_id}
3. Не добавляйте
.json
или другие расширения к URL-адресу.4. Не возвращайте массивы в качестве ответов верхнего уровня от эндпоинтов. Верхний уровень ответа должен быть объектом, а не массивом, чтобы обеспечить обратную совместимость и возможность добавления пагинации.
# Хорошо
GET /things returns:
{ "data": [{ ...thing1...}, { ...thing2...}] }
# Плохо
GET /things returns:
[{ ...thing1...}, { ...thing2...}]
5. Не возвращайте структуры map. Вместо этого используйте массивы объектов, чтобы избежать проблем при работе с типизированными языками и не усложнять обработку данных.
# Хорошо
GET /things returns:
{
"data": [
{ "id": "KEY3", "foo": "bat" }
]
}
# Плохо
GET /things returns:
{
"KEY3": { "id": "KEY3", "foo": "bat" }
}
6. Используйте строки для всех идентификаторов.
# Хорошо
{ "id": "123" }
# Плохо
{ "id": 123 }
7. Добавляйте префиксы к идентификаторам. Это улучшает читаемость API и помогает различать разные типы идентификаторов.
8. Не используйте 404 для обозначения "not found". Вместо этого рекомендуется использовать другие коды ошибок, чтобы точно указать на отсутствие ресурса.
9. Будьте последовательными. Несоответствие в схемах и структурах может вызвать путаницу и усложнить работу с API.
10. Используйте структурированный формат ошибок. Это облегчает отладку и обработку ошибок на разных уровнях системы.
11. Обеспечьте механизмы идемпотентности. Это важно для предотвращения дублирования операций в условиях нестабильной сети.
12. Используйте строки ISO8601 для временных меток. Строковое представление времени более читаемо и удобно для работы.
👉 Подробнее
#проектирование_систем
GitHub
How to (and how not to) design REST APIs
Jeff Schnitzer's Blog. Contribute to stickfigure/blog development by creating an account on GitHub.
👍54❤8🤔2❤🔥1🔥1
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
👍2
🤷♂️ «Питомцы vs Скот»: 99% вашей работы в итоге выбросят, но это и сделает вас профи
Раньше в DevOps, когда каждый сервер был уникален и имел свое имя (как домашний питомец), админы уделяли много внимания каждому серверу. Если сервер падал, его восстанавливали (лечили больного питомца).
Современный подход к серверам больше похож на управление стадом скота: если один сервер выходит из строя, его заменяют новым. Это стало возможным благодаря развитию облачных технологий.
Может разработчикам тоже стоит изменить свое отношение к коду и проектам? Вместо того чтобы относиться к каждой строке кода, как к домашнему питомцу (с бесконечными рефакторингами и заботой), нужно принять, что большая часть кода со временем станет ненужной и будет заменена.
Это поможет избежать выгорания, ведь ты осознаешь, что твоя работа — это решение текущих задач бизнеса.
И хоть с 99-ю процентами автор загнул (хотя кто знает), это весьма любопытная аналогия.
Раньше в DevOps, когда каждый сервер был уникален и имел свое имя (как домашний питомец), админы уделяли много внимания каждому серверу. Если сервер падал, его восстанавливали (лечили больного питомца).
Современный подход к серверам больше похож на управление стадом скота: если один сервер выходит из строя, его заменяют новым. Это стало возможным благодаря развитию облачных технологий.
Может разработчикам тоже стоит изменить свое отношение к коду и проектам? Вместо того чтобы относиться к каждой строке кода, как к домашнему питомцу (с бесконечными рефакторингами и заботой), нужно принять, что большая часть кода со временем станет ненужной и будет заменена.
Это поможет избежать выгорания, ведь ты осознаешь, что твоя работа — это решение текущих задач бизнеса.
И хоть с 99-ю процентами автор загнул (хотя кто знает), это весьма любопытная аналогия.
❤🔥16🥱12👍2😍1
🤖 «Генеративный ИИ для начинающих» — новый курс от Microsoft, который включает 12 уроков от Microsoft Cloud Advocates. Каждый урок охватывает ключевые аспекты принципов генеративного ИИ и разработки приложений и включает:
☑️ Видеообзор темы
☑️ Текстовая лекция
☑️ Jupyter Notebook с примерами кода
☑️ Задание для самостоятельной работы
☑️ Ссылки на полезные ресурсы
☑️ Видеообзор темы
☑️ Текстовая лекция
☑️ Jupyter Notebook с примерами кода
☑️ Задание для самостоятельной работы
☑️ Ссылки на полезные ресурсы
👍6🔥3
Друзья, мы хотим делать для вас самый лучший контент — и для этого нам нужно узнать вас получше.
Пожалуйста, ответьте на несколько вопросов — это не займет у вас много времени, но поможет нам делать более полезные и интересные посты!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🥱3❤1
Ваш возраст:
Anonymous Poll
5%
Менее 18 лет
22%
18-24 года
37%
25-34 года
25%
35-44 года
7%
45-54 года
2%
55-64 года
2%
65 лет и старше
👍4
В каком городе вы живете последние 3 месяца?
Anonymous Poll
22%
Москва
10%
Санкт-Петербург
2%
Краснодар
2%
Нижний Новгород
4%
Минск
2%
Екатеринбург
3%
Киев
1%
Львов
2%
Алматы
53%
Другое
👍3❤1👾1
В какой стране вы живете последние 3 месяца?
Anonymous Poll
69%
Россия
6%
Украина
5%
Беларусь
3%
Казахстан
1%
Польша
1%
Кыргызстан
2%
Узбекистан
1%
США
1%
Грузия
11%
Другое
❤5🥱3
Ваш доход в месяц после налогов:
Anonymous Poll
21%
до $500
11%
от $501 до $800
11%
от $801 до $1100
19%
от $1101 до $2000
18%
от $2001 до $3000
10%
от $3001 до $4000
4%
от $4001 до $5001
2%
от $5001 до $6000
6%
от $6001
🥱11👍6❤1