Сделайте 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
🧠 Наука принятия решений: как наш мозг взвешивает варианты и делает выбор
Порой мы совершаем, казалось бы, необдуманные поступки, однако это не так: наш мозг принимает решение за нас. На вопросы «Как?» и «Почему?» дает ответ нейроэкономика.
🔗 Основной сайт
🔗 Зеркало
Если коды состояния HTTP вашего веб-сервера выглядят не так, тогда они (коты) идут к вам! Полная подборка для изучения и залипания здесь.
#юмор #easy
Получить работу в крутой компании за один день? Легко!
Оставь заявку на участие в One day offer, который проводит разработчик офисного ПО МойОфис, и оперативно получи предложение о работе.
Компания ищет программистов C++ с хорошим знанием C++ 11/14, STL, Boost, QT и опытом работы более 3-х лет. Если ты соответствуешь этим критериям, то оставь заявку на участие до 10 июня, выполни тестовое задание и ожидай приглашение на собеседование, которое пройдет 17 июня.
Обещают удаленный или гибридный график работы, интересные задачи, конкурентную заработную плату, а также помощь с релокацией в Москву, Санкт-Петербург, Самару или Иннополис.
Подробности и регистрация на сайте проекта.
Если вы пишете на Python, ваш грейд от middle+ и выше, и вы думаете о смене работы, то у нас для вас классные новости. Контур запускает Hiring Days для Python-разработчиков:
- пять задач в контесте,
- одно интервью с опытными разработчиками,
- если произойдет мэтч – оффер ваш!
Контур – экосистема для бизнеса. Мы автоматизируем процессы и избавляем предпринимателей от рутины, чтобы все в мире работало четко. У нас можно выбирать задачи по душе: реализовывать бизнес-логику, выстраивать инфраструктуру, заниматься оптимизацией и интеграциями, проектировать архитектуру решений.
Регистрируйтесь до 2 июня. Контест доступен для решения с 3 по 6 июня.
Реклама. АО «ПФ «СКБ Контур» ОГРН 1026605606620, kontur.ru
Как считаете, насколько важен раздел «ключевые навыки» в резюме? Те самые, которые часто все пишут: ответственность, коммуникабельность и т.д. Как считает Илья Рыжов, Talent Manager в getmatch, куда эффективнее будет упомянуть:
❕Знание языков, особенно английского, и уровень этого знания
❕Навыки командной работы с конкретными примерами: со сколькими людьми работал, управлял ли командой, что именно делал
❕Опыт в код-ревью и наставничестве
❕Навыки публичных выступлений на конференциях и другие
Уже 31 мая стартует обучение на продвинутом онлайн-курсе «Архитектура и шаблоны проектирования» в OTUS. Оставьте заявку на курс и пройдите тест, чтоб узнать, осилите ли вы программу!
👉ПРОЙТИ ТЕСТ ПО АРХИТЕКТУРЕ И ШАБЛОНАМ ПРОЕКТИРОВАНИЯ: https://otus.pw/0JXD/
После курса вы будете:
— Применять шаблоны проектирования в разработках
— Понимать и применять SOLID принципы
— Понимать, что такое рефакторинг и как писать чистый код
— Знать современные процессы разработки программного обеспечения
— Внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки.
Преподаватели — практики с опытом в разработке и архитектуре Выпускников нашего курса ждут 12 работодателей - партнёров Отуса. Обучение доступно также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
Глубокое погружение в архитектуру Slack с акцентом на подготовку к собеседованию по проектированию систем.
Читать
#проектирование_систем
Интерактив прямо на улицах Москвы: Академия Яндекса развесила баннеры с кодом. Как думаете, в чем скрытый смысл и что закодировано? Пишите ваши варианты
Читать полностью…Готовитесь к собеседованию по проектированию систем? Ловите качественную шпаргалку, подготовленную на основе множества исследований по этой теме.
#проектирование_систем
Коллекция альтернатив повседневным SaaS-продуктам, отобранная по следующим критериям:
▪️Проект с открытым исходным кодом, репозиторий при этом активно поддерживается
▪️Это отдельный проект, а не библиотека, и в большинстве случаев он имеет популярную проприетарную альтернативу
▪️Репозиторий имеет не менее 100 звезд на GitHub
🐍🛣️ От нуля до джуна за 90 дней: путеводитель по Python от «Библиотеки программиста»
Этот путеводитель проведет вас через все тонкости языка Python: от базовых концепций до проектов на Flask, Django, Tkinter, которые не стыдно положить в портфолио. На изучение базы, при условии решения задачек и перерывов на отдых, уйдет примерно 3 месяца.
🔗 Основной сайт
🔗 Зеркало
В функциональных языках это позволяет создавать структуры вроде бесконечных списков, которые в обычных условиях невозможны в императивных языках программирования, где очередность команд имеет значение.
🗄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
Напишите программу для прогноза погоды за час — на бесплатном курсе.
Вы справитесь, даже если никогда не пробовали кодить. Яндекс Практикум разработал удобный тренажёр с подсказками для тех, у кого совсем нет опыта.
Писать предстоит на Python — одном из самых дружелюбных к новичкам языков. Запутаться и сдаться не получится, потому что весь путь до первого проекта мы пройдём вместе с вами, шаг за шагом.
Вы не станете разработчиком за час. Зато попробуете программировать, увидите реальный результат и поймёте, нравится ли это вам.
Первая строка кода ждёт вас!
Реклама АНО ДПО "Образовательные технологии Яндекса», ИНН:7704282033, erid: LjN8K2hLz
📝 Как правильно составить сопроводительное письмо программисту
Давайте разберемся, зачем нужно сопроводительное письмо и как его написать так, чтобы вас захотели взять на работу.
🔗 Основной сайт
🔗 Зеркало
DevOps vs SRE vs Platform Engineering: в чем разница этих концепций/методолигий/практик?
📌 DevOps — помогает наладить эффективное взаимодействие команд разработки ПО и ИТ‑команд
📌 SRE — обеспечивает бесперебойную работу высоконагруженных сервисов
📌 Platform Engineering — создает инфраструктуру и инструменты для разработки продуктов, расширяя практики DevOps и SRE
#easy
🎡 Что такое комбинаторика и как она используется в программировании
Расскажем, какие задачи помогает решать комбинаторика и зачем программистам нужно ее знать.
🔗 Основной сайт
🔗 Зеркало
🐍 Советы по освоению Python для гуманитария
Углубленные курсы и книги зачастую направлены на людей с техническим бэкграундом, а гуманитариям может быть сложно освоить это ремесло в обозримые сроки. Собрали для вас подборку советов для начала обучения.
🐍 🛣️ Прочитать путеводитель от «Библиотеки программиста»
🐍 🚶 Пройти бесплатные курсы на Stepik. Например, «Поколение Python: курс для начинающих»
🐍 🎧 tkhirianov">Послушать лекции преподавателя кафедры информатики МФТИ Тимофея Хирьянова или курс от Computer Science Center
🐍 🖥️ Пройти курс cs50">CS50
🐍 📖 Прочитать книги из серии Head First: «Изучаем программирование на Python» Пола Бэрри и «Учимся программировать с примерами на Python» Эрика Фримена
🐍 💪 Потренироваться на Kaggle, бесплатной платформе специалистов по Data Science
🐍📱 Скачать мобильное приложение Mimo
🐍 🦄 Прочитать бесплатную электронную книгу A Byte of Python
🐍 25 алгоритмов динамического программирования, которые должен знать каждый программист
В этой статье мы рассмотрим 25 основных алгоритмов динамического программирования с реализацией на Python, которые должен знать каждый, кто увлекается спортивным программированием.
🔗 Основной сайт
🔗 Зеркало
🐍 Самоучитель по Python для начинающих. Часть 21: Основы разработки игр на Pygame
Учимся анимировать графику и изображения, обрабатывать столкновения, запоминать состояния и управлять персонажами. В конце статьи сделаем 10 мини-симуляторов и лайт-версий известных игр.
🔗 Основной сайт
🔗 Зеркало
⚡️Все каналы медиа «Библиотека программиста» теперь у вас под рукой. Вы знаете, что делать 👇
➡️ Добавить папку
🎙Серия «Как мы попали в ИТ» продолжается. В новом видео про свой путь рассказывает Василика Климова.
Сейчас Василика живет в Люксембурге. Она давно и успешно занимается вебом, выступает с докладами, занимается собственной школой разработки. У нее есть статус Google Developer Expert.
В новом выпуске подкаста вы услышите о ее первых шагах: как папа сисадмин привил любовь к компьютерам, как искала первые вакансии в тверской газете, как мечтала стать обычным продавцом дисков с играми.
📺Смотреть
📱AR-технологии: что такое визуальное позиционирование
Из статьи нашего читателя вы узнаете, что такое визуальное позиционирование и почему AR-технологии не только скоро станут повсеместными, но и отвлекут нас от мечтаний о настоящих мультивселенных (или дадут возможность с комфортом их дождаться).
🔗 Основной сайт
🔗 Зеркало
🎬 Кинопятница: 33 фильма о хакерах
Собрали для вас подборку фильмов о хакерах. За сегодня, конечно, все не пересмотришь, а вот за выходные... Ниже — наиболее свежие по категориям, остальные — в статье.
Доки
🍿 Cambridge Analytica. Скандальный взлом (2019) – Кинопоиск: 6.5, IMDB: 7.0
🍿 Мы крадем секреты: История WikiLeaks (2013) – Кинопоиск: 7.4, IMDB: 6.9
🍿 Интернет-мальчик: История Аарона Шварца (2014) – Кинопоиск: 7.8, IMDB: 8.0
🍿 Citizenfour: Правда Сноудена (2014) – Кинопоиск: 7.3, IMDB: 8.0
Триллеры
🍿 Сноуден (2016) – Кинопоиск: 7.0, IMDB: 7.3
🍿 Кто я (2014) – Кинопоиск: 7.4, IMDB: 7.5
Научная фантастика
🍿 Особое мнение (2002) – Кинопоиск: , IMDB: 7.6
Драма
🍿 Реалити (2023) – IMDB: 6.7
Анимация
🍿 Призрак в доспехах (1995) – Кинопоиск: 8.0, IMDB: 7.9
Комедии
🍿 Офисное пространство (1999) – Кинопоиск: 6.8, IMDB: 7.6
#досуг