WWDC 2023 — это было мощно. И да, справа не тёрка, а новый Mac Pro.
WWDC 2023 официально завершилась, и это было одно из крупнейших событий в истории Apple. В этом году компания представила новую гарнитуру Vision Pro и программную платформу visionOS, а также новое оборудование Mac, iOS 17, macOS Sonoma и многое другое. Интересно узнать подробнее? Читайте статью со всеми анонсами или слушайте эпизод подкаста «РАДИО-Т» (00:01:16).
#афиша
⚡Команда Postman представила первую бета-версию расширения для VS Code
Эта версия призвана удовлетворить потребность пользователей в быстром проектировании, разработке и тестировании API.
Теперь вы можете отправлять API-запросы несколькими способами (HTTP, gRPC и веб-сокеты) из VS Code. Это оптимизирует рабочие процессы разработки, устраняя необходимость переключаться между редактором/IDE и Postman.
#инструменты #новости
«Выйти в open source и нанести всем пользу»: онлайн-митап от «Лаборатории Касперского» про выход в open source
Создатели и разработчики популярного (1600 звезд на Github, свыше 3500 тысяч уникальных пользователей по данным аналитики Nexus) open source фреймворка для автотестов Kaspresso рассказали, какой путь предстоит пройти контрибьюторам и какие подводные камни их могут ждать. Ниже — краткая выжимка эфира в семи ключевых тезисах. Если же вам интересно послушать более развернутую дискуссию и аргументы участников, посмотрите запись митапа.
1. Главная ошибка при создании open source — пытаться сделать все втихаря.
2. …поэтому обязательно рассказывайте менеджерам про вашу идею.
3. Выполнять внутренние требования проще, когда часть процессов автоматизирована.
4. Вы постоянно будете ошибаться со сроками.
5. Не ожидайте, что комьюнити будет много контрибьютить. Зато с вас точно будут много требовать.
6. Пишите туториал.
7. Не верьте на слово докладам.
💭А вы контрибьютите в open source проекты?
🛣️ Буквально недавно в рубрике #хардскиллы мы публиковали свежие дорожные карты на ресурсе 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 (ленивые вычисления) — механизм вычисления «при необходимости», с задержкой вычисления выражения до того момента, пока значение не потребуется.👇
WebAssembly — низкоуровневый высокопроизводительный двоичный формат для веба, который можно скомпилировать из разных языков, включая C/C++, Swift, Dart, Rust, Go и Kotlin.
Одним словом, WebAssembly — новая парадигма разработки для веба. Именно так звучит тема одного из докладов на Google I/O 2023. В нем вы увидите новые разработки в области языковой поддержки, удобства использования и повышения производительности, а также узнаете, как быстро начать работу с Wasm самостоятельно.
💭Интересно узнать ваше мнение по поводу этой уже не самой новой технологии. Кто-то уже пробовал использовать?
Демистификация больших языковых моделей (LLM): как использовать возможности ChatGPT и GitHub Copilot разработки программного обеспечения
Проект ReadME от GitHub усиливает голоса сообщества открытого исходного кода. Сегодняшний материал — про повышение вашей эффективности за счет включения ИИ-инструментов в рабочий процесс. Из руководства вы узнаете:
✔️ Как LLM могут работать не так, как вы думаете, и почему это важно
✔️ Советы, приемы и предостережения для правильного составления промтов
✔️ Методы использования LLM в разработке ПО
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 #проектирование_систем