Code First vs API First: в чем преимущество подхода разработки с приоритетом API?
💭Как считаете, отражает ли правая иллюстрация текущую философию разработки программного обеспечения?
#проектирование_систем #холивар
🔥 Запись вебинара «Очередь с приоритетом» из курса «Алгоритмы и структуры данных»
Степан Мацкевич, ведущий разработчик Яндекс Go и преподаватель МФТИ рассказывает о том, какие бывают алгоритмы, что такое очередь с приоритетом, двоичная куча и индексация, а также разбирает небольшую задачу на C++
Подробнее в видео: https://www.youtube.com/watch?v=GZoR8nMrVBA
🎬 Кинопятница: 25 фильмов и сериалов о видеоиграх
Подготовили подборку фильмов и сериалов о видеоиграх, геймдеве и разработчиках игр:
◾ Тетрис, 2023 – Кинопоиск: 7.1, IMDB: 7.4
◾ Тетрис: Из России с любовью, 2004 – Кинопоиск: 6.8, IMDB: 7.2
◾ The Consultant, 2023-... – Кинопоиск: 6.5, IMDB: 6.5
◾ Minecraft: История Mojang, 2012 – Кинопоиск: 7.1, IMDB: 7.1
◾ Видеоигры: Кино, 2014 – Кинопоиск: 6.1, IMDB: 6.1
◾ The Amnesia Fortnight Movie (Друзья на неделю, фильм), 2021 – IMDB: 7.5
◾ Друзья на неделю, сериал 2012-... – Кинопоиск: 7.0, IMDB: 9.0
◾ Независимая игра: Кино, 2012 – Кинопоиск: 7.8, IMDB: 7.6
◾ Double Fine PsychOdyssey, сериал, 2023 – IMDB: 9.7
◾ Double Fine Adventure, сериал, 2023 – IMDB: 8.8
◾ Unlocked: The World of Games, Revealed, 2016 – IMDB: 8.1
◾ Рекорд, мини-сериал, 2020 – Кинопоиск: 7.3, IMDB: 7.4
◾ Игра с силой: История Nintendo, сериал, 2021 – Кинопоиск: IMDB: 7.6
◾ From Bedrooms to Billions: The Playstation Revolution, 2020 – IMDB: 6.7
◾ From Bedrooms to Billions, 2014 – IMDB: 7.5
◾ From Bedrooms to Billions: The Amiga Years! – IMDB: 7.6
◾ Insert Coin, 2020 – IMDB: 6.7
◾ Not for Resale, 2019 – IMDB: 6.8
◾ Консольные войны, 2020 – Кинопоиск: 7.3, IMDB: 7.0
◾ 8 Bit Generation: The Commodore Wars, 2020 – IMDB: 7.0
◾ Man vs Snake: The Long and Twisted Tale of Nibbler, 2015 – IMDB: 7.0
◾ Король Конга, 2007 – Кинопоиск: 6.4, IMDB: 8.0
◾ Atari: конец игры, 2014 – Кинопоиск: 6.7, IMDB: 6.7
◾ Охота на призраков, 2007 – IMDB: 7.0
◾ Ecstasy of Order: The Tetris Masters, 2011 – IMDB: 7.5
📚У «Альпины Паблишер» вышла книга для начинающих разработчиков «От джуна до сеньора. Как стать востребованным разработчиком».
Что особенного: в книге описано не просто как выучиться или написать свою первую «змейку» — тут скорее про то, как работать. Как писать код по гайдлайну, не заниматься бессмысленным рефакторингом, задавать людям вопросы (спойлер: часто), выбирать компоненты open source и так далее.
В общем, это руководство для джуна, которому будет очень сложно на первых порах коммерческой разработки.
«Альпина» сделала промокод PROGLIB на скидку для наших подписчиков — с ним вы получите скидку 15% при покупке на сайте alpina.ru до 16 июня.
Пишите в комментарии, какие книги вы бы рекомендовали новичкам в IT👇
Первая часть: «Как создать многофункциональную социальную платформу на Django с опросами и тестами и развернуть готовое приложение на сервере. Часть 1»
***
➡️ С первой частью разобрался, когда выйдет вторая часть? Спать не могу, хочу задеплоить финальный проект
Держи: «Как создать многофункциональную социальную платформу на Django с опросами и тестами и развернуть готовое приложение на сервере. Часть 2»
💬 О чем пойдет речь на этот раз?
Создадим опросы и тесты. Ответы визуализируем с помощью Chart.js. Также настроим Nginx и Gunicorn для обработки запросов на сервере.
😎 Круто!
А то! Ссылку на итоговый результат и на репозиторий найдешь в начале статьи. Напиши в комментариях, какой проект сделать следующим!
Шпаргалка по ChatGPT для начинающих: подборка промтов под наиболее распространенные задачи.
🔗 Источник
🤖🎮 GPT-4 играет в Minecraft и самообучается: сингулярность, в результате которой ИИ сам сделает себя умнее людей
В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.
🔗 Основной сайт
🔗 Зеркало
🤔 Ничего удивительного, что карьерные статьи самые обсуждаемые в любом сообществе, ведь эта тема волнует каждого из нас. Здесь, например, освещается проблема с любым опытным сотрудником, который проработал в компании достаточно долгое время. Мол, с каждым годом у компании всё больше причин его уволить, взяв на замену молодого.
💬 Как считаете, это действительно так? Выгодна ли компании текучка кадров?
#холивар
Команда Яндекс Карт представила новый инструмент для разработчиков — Геосаджест. Это сервис в составе API Яндекс Карт, который поможет пользователям быстрее вводить и перепроверять адрес с помощью подсказок.
Геосаджет знает 29 млн адресов в России и СНГ, поймёт слова с опечаткой или «народные» названия (например, Можайку исправит на Можайское шоссе).
Для чего это вообще нужно? Во-первых, вероятность дозаполнения данных, а значит и покупки, увеличивается. Во-вторых, минимизируются ошибки (это исключит доставку по неверному адресу и отказ от товара). В-третьих, в целом сделает ваш сайт или приложение удобнее для пользователей.
Сервис пригодится интернет-магазинам, службам доставки и вообще всем сайтам, где есть поле для ввода адреса.
🔗 Получить ключ
👓 Тут это, прямо сейчас Apple творит историю. Главная новость — презентация первых очков дополненной реальности.
WWDC 2023 в самом разгаре. И кроме знакомых нам ОС, Apple готовит релиз xrOS — операционной системы, на которой будут работать очки дополненной реальности. Считается, что система по дизайну будет похожа на iOS, но функции будут другими.
Ставь 🔥, если следишь за этими новостями
🥱, если пофиг на Apple и все их «прогрессивные» нововведения
#афиша
😛👻 Пишем игру Pac-Man на Python в 300 строк кода
В данной статье мы напишем легендарную игру Pac-Man на Python, уместив ее в 300 строчек кода.
🔗 Основной сайт
🔗 Зеркало
В функциональных языках это позволяет создавать структуры вроде бесконечных списков, которые в обычных условиях невозможны в императивных языках программирования, где очередность команд имеет значение.
🗄Monoid (моноид) — объект с функцией, которая «комбинирует» объект с другим объектом того же типа.
🗄Monad (монада) — объект с функциями of и chain. chain похож на map, но он производит разложение вложенных объектов в результате.
🗄Comonad (комонада) — объект с функциями extract и extend. Extract берет значение из функтора. Extend выполняет функцию на комонаде. Функция должна вернуть тот же тип, что комонада.
🗄Applicative Functor (аппликативный функтор) — объект с функцией ap. ap применяет функцию в объекте к значению в другом объекте того же типа. Это полезно, когда есть два объекта, и нужно применить бинарную операцию на их содержимом.
🗄Morphism (морфизм) — функция трансформации.
🗄Endomorphism (эндоморфизм) — функция, у которой ввод и вывод — одного типа.
🗄Isomorphism (изоморфизм) — пара структурных трансформаций между двумя типами объектов без потери данных. Например, двумерные координаты можно хранить в массиве [2,3] или объекте {x: 2, y: 3}.
🗄Setoid — объект, у которого есть функция equals, которую можно использовать для сравнения объектов одного типа.
🗄Semigroup (полугруппа) — объект с функцией concat, которая комбинирует его с другим объектом того же типа.
🗄Foldable — объект с функцией reduce, которая трансформирует объект в другой тип.
🗄Type Signatures (сигнатуры типа) — определяет входящие и возвращаемые типы для функции, иногда включая число аргументов, типы аргументов и порядок аргументов, содержащихся в функции.
🗄Option (опцион) — тип-объединение с двумя случаями: Some и None. Полезно для композиции функций, которые могут не возвращать значения.
Источник:
🧵Читать в Твиттере
🧵Читать в Thread Reader App (если Твиттер не открывается)
#вопросы_с_собесов #medium
Диаграмма связей от Alex Xu, которая показывает ключевые концепции систем кеширования.
#medium #проектирование_систем
Когда заходишь пофиксить ошибку на Linux-сервере с телефона по SSH
Свое описание к мему кидайте в комментарии.👇
#юмор
😈Открываем чит-коды технического интервью на позицию в сфере Data Science.
7 июня в прямом эфире разберем основные математические задачи на собеседованиях в крупные российские и международные компании.
👉Зарегистрироваться: https://proglib.io/w/f2a10b35
Приглашенный спикер: Иван Строков – ML инженер в Yelp, запустивший отдел Data Science для pikabu.ru
🚀 На вебинаре:
1. Обсудим задачи из реальных интервью в российские и европейские компании
2. Решим задачи на матрицы и вероятности
3. Научимся быстро тестировать статистические гипотезы для А/Б тестов
4. Обсудим, какая математика лежит под капотом ML алгоритмов
5. Узнаем, что делать, если математика становится слишком сложной
👉Зарегистрироваться: https://proglib.io/w/f2a10b35
🛣️ Буквально недавно в рубрике #хардскиллы мы публиковали свежие дорожные карты на ресурсе roadmap.sh. С этого момента выпущено еще несколько:
✔️Prompt Engineering Roadmap
✔️Docker Roadmap
✔️DevOps Roadmap
✔️C++ Developer
✔️Full Stack Developer
✔️Code Review Pyramid
🔥 Дайджест интересных новостей за неделю:
▫️Выпуск Rust 1.70
▫️Выпуск распределенной системы управления исходными текстами Git 2.41 (самые важные обновления читайте здесь)
▫️Выпуск Chrome OS 114 & Firefox 114
▫️ISO утвердила и опубликовала международный стандарт SQL:2023, который определяет девятую редакцию спецификации языка SQL
▫️Компания Google представила новый JIT-компилятор Maglev, который позволил поднять производительность Chrome
▫️Компания Apple представила инструментарий Game Porting Toolkit, позволяющий разработчикам игр для Windows портировать свои продукты для запуска в macOS
▫️Выпуск третьей бета-версия Android 14
▫️Компания Intel опубликовала открытый моноширинный шрифт One Mono, предназначенный для использования в эмуляторах терминалов и редакторах кода
▫️Компания Cisco предложила новую файловую систему PuzzleFS, реализованную в виде модуля для ядра Linux, написанного на языке Rust
▫️Представлен первый альфа-выпуск новой ветки PHP 8.3
#новостиоднимпостом
🤖 Нейронки кодят за вас: 28 AI-сервисов в помощь разработчику
Расскажем о самых полезных новинках, которые помогут написать, отладить и протестировать код, а также ускорят процесс изучения нового стека и подготовку к собеседованию.
🔗 Основной сайт
🔗 Зеркало
5 наиболее часто используемых стратегий деплоя: десятиминутный разбор от Alex Xu.
✔️ Big Bang
✔️ Rolling
✔️ Blue-Green
✔️ Canary
✔️ Feature
📺 Смотреть
🪜 Как программисту попросить о повышении зарплаты и что говорить
Иногда бывает так: работаешь за всех, а зарплату не повышают. Тогда нужно брать инициативу в свои руки и поговорить с руководством тет-а-тет. Но как правильно это сделать и выйти победителем? Постараемся разобраться.
🔗 Основной сайт
🔗 Зеркало
Присоединяйтесь к трансляции здесь или на YouTube — https://www.youtube.com/watch?v=xINpWlT17tA
Тема вебинара «Разбор задач из интервью в российские и международные компании на позицию Data Science»
🗣 Спикер — Иван Строков, ML-инженер в Yelp, 10 лет опыта в Data Science
Подключайтесь, будет интересно!
⚗️ 5 областей применения линейной алгебры в программировании
Расскажем, какие практические задачи помогает решать линейная алгебра, и как абстрактные матрицы и линейные пространства могут пригодиться в разработке реального софта.
🔗 Основной сайт
🔗 Зеркало
7 июня в 19:00 вебинар: «Разбор задач из интервью в российские и международные компании на позицию Data Science»
👉Зарегистрироваться: https://proglib.io/w/f2a10b35
Приглашенный спикер: Иван Строков — ML инженер в Yelp, запустивший отдел Data Science для pikabu.ru
Шпаргалка для изучения SQL и NoSQL баз данных
Выбор правильной базы данных имеет решающее значение для успеха проекта:
✔️Базы данных SQL предлагают структурированное хранилище данных, поддержку SQL и реляционной модели
✔️Базы данных NoSQL обеспечивают гибкость, масштабируемость и распределенную архитектуру
✔️Специализированные базы данных, такие как столбчатые, графовые, пространственные и базы данных временных рядов, удовлетворяют конкретные потребности
Читать
🌳Дерево эволюции больших языковых моделей: наглядно о том, как развивался генеративный искусственный интеллект
Ловите репозиторий с большой коллекцией практических руководств по LLM, если хотите погрузиться в эту тему глубже.
Сделайте ChatGPT своим эффективным помощником: подборка самых полезных и необычных промтов.
🤖Репозиторий & Перевод
Жаргон функционального программирования:
🗄Arity (арность) — количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: «-ary» и «-ity».
🗄Higher-Order Functions (функции высокого порядка) — функция, которая принимает функцию в качестве аргумента и/или возвращает функцию.
🗄Partial Application (частичное применение) — частичное применение функции означает создание новой функции с пред-заполнением некоторых аргументов оригинальной функции.
🗄Currying (каррирование) — процесс конвертации функции, принимающей несколько аргументов, в функцию, принимающую один аргумент за раз. При каждом вызове она принимает один аргумент и возвращает функцию, принимающую один аргумент до тех пор, пока все аргументы не будут обработаны.
🗄Auto Currying (автоматическое каррирование) — трансформация функции, принимающей несколько аргументов, в новую, если передать меньшее чем предусмотрено количество аргументов, то она вернет функцию, которая принимает оставшиеся аргументы. Если функция получает правильное количество аргументов, то она исполняется.
🗄Function Composition (композиция функций) — соединение двух функций для формирования новой функции, в которой вывод первой функции является вводом второй.
🗄Purity (чистота) — функция является чистой, если возвращаемое ей значение определяется исключительно вводными значениями, и функция не имеет побочных эффектов.
🗄Side effects (побочные эффекты) — у функции есть побочные эффекты если кроме возврата значения она взаимодействует (читает или пишет) с внешним изменяемым состоянием.
🗄Idempotent (идемпотентность) — функция является идемпотентной если повторное ее исполнение производит такой же результат.
🗄Point-Free Style (бесточечная нотация) — написание функций в таком виде, что определение неявно указывает на количество используемых аргументов. Такой стиль обычно требует каррирования или другой функции высокого порядка (или в целом — неявного программирования).
🗄Predicate (предикат) — функция, которая возвращает true или false в зависимости от переданного значения. Распространенный случай использования предиката — функция обратного вызова (callback) для фильтра массива.
🗄Categories (категории) — объекты с функциями, которые подчиняются определенным правилам. Например, моноиды.
🗄Value (значение). Все, что может быть присвоено переменной.
🗄Constant (константа) — переменная, которую нельзя переназначить после определения. Константы обладают референциальной прозрачностью или прозрачностью ссылок (referential transparency). То есть, их можно заменить значениями, которые они представляют, и это не повлияет на результат.
🗄Functor (функтор) — объект, реализующий функцию map, которая при проходе по всем значениям в объекте создает новый объект, и подчиняется двум правилам: сохраняет нейтральный элемент (identity); поддерживает композицию.
🗄Pointed Functor (указывающий функтор) — объект с функцией of с любым значением. В ES2015 есть Array.of, что делает массивы указывающим функтором.
🗄Lifting — когда значение помещается в объект вроде функтора. Если «поднять» (lift) функцию в аппликативный функтор, то можно заставить ее работать со значениями, которые также присутствуют в функторе.
🗄Referential Transparency (прозрачность ссылок) — если выражение можно заменить его значением без влияния на поведение программы, то оно обладает прозрачностью ссылок.
🗄Lambda (лямбда) — анонимная функция, которую можно использовать как значение. Лямбды часто передают в качестве аргументов в функции высокого порядка. Лямбду можно присвоить переменной.
🗄Lambda Calculus (лямбда-исчисление) — область информатики, в которой функции используются для создания универсальной модели исчисления.
🗄Lazy evaluation (ленивые вычисления) — механизм вычисления «при необходимости», с задержкой вычисления выражения до того момента, пока значение не потребуется.👇
Улучшенная обработка недоступных объектов, on-disk reverse индексы по умолчанию и традиционные исправления багов: самые важные обновления Git 2.41.
Читать
#новости
Какие знания в области математики требуются специалистам в Machine Learning и Data Science?
Валентин Рябцев, сооснователь и CPO Wale. ai, рассказал о своем карьерном пути, о том как развивать математическое мышление и как улучшать качество продукта с помощью математических методов.
Рекомендуем к просмотру – https://www.youtube.com/watch?v=KhUXzcrAk0M
🧠 Наука принятия решений: как наш мозг взвешивает варианты и делает выбор
Порой мы совершаем, казалось бы, необдуманные поступки, однако это не так: наш мозг принимает решение за нас. На вопросы «Как?» и «Почему?» дает ответ нейроэкономика.
🔗 Основной сайт
🔗 Зеркало