Немного теории в пятницу вечером от ChatGPT:
Лямбда-куб — это фреймворк для категоризации и описания систем типов на основе трех основных осей расширения простого типизированного лямбда-исчисления. Каждая ось представляет собой различную форму полиморфизма. Рассмотрим каждую ось:
λ→: Простое типизированное лямбда-исчисление. Это базовая система, где функции имеют типы, и полиморфизма нет.
λ2 (или λP): Добавляет полиморфные типы (Система F). Это означает, что у вас могут быть функции, которые являются параметрически полиморфными, т.е. функции, которые работают с любым типом.
λω: Вводит операторы типов, которые позволяют иметь типы, которые принимают типы и возвращают другие типы.
λPω: Сочетает как полиморфные типы, так и операторы типов.
λΠ: Зависимые типы, где типы могут зависеть от значений.
λΠ2: Сочетает зависимые типы с полиморфными типами.
λΠω: Сочетает зависимые типы с операторами типов.
λΠPω: Самая общая система, сочетающая зависимые типы, полиморфные типы и операторы типов.
Теперь давайте посмотрим, где находится PHPStan:
PHPStan — это инструмент статического анализа для PHP. Он расширяет систему типов PHP, предоставляя более тонкие проверки типов, чем сам язык. Однако система типов PHP и, соответственно, PHPStan не охватывает всю выразительность лямбда-куба.
• В PHP есть базовые аннотации типов для параметров функций и возвращаемых типов, что по крайней мере соответствует уровню λ→.
• С введением обобщений (через PHPStan и другие инструменты) PHP может имитировать некоторое поведение λ2.
• В PHP нет поддержки типов высших порядков, поэтому он не затрагивает ось λω.
• PHPStan не предлагает зависимых типов, поэтому ось λΠ не затрагивается.
В итоге, PHPStan расширяет систему типов PHP и касается аспектов λ2 благодаря поддержке обобщений. Тем не менее, он не углубляется глубоко в лямбда-куб. По сравнению с более продвинутыми системами типов, такими как Haskell или Idris, система типов PHP (даже с PHPStan) относительно проста. Тем не менее, PHPStan является ценным инструментом для разработчиков PHP, стремящихся улучшить надежность своего кода.
Лямбда-куб — это фреймворк для категоризации и описания систем типов на основе трех основных осей расширения простого типизированного лямбда-исчисления. Каждая ось представляет собой различную форму полиморфизма. Рассмотрим каждую ось:
λ→: Простое типизированное лямбда-исчисление. Это базовая система, где функции имеют типы, и полиморфизма нет.
λ2 (или λP): Добавляет полиморфные типы (Система F). Это означает, что у вас могут быть функции, которые являются параметрически полиморфными, т.е. функции, которые работают с любым типом.
λω: Вводит операторы типов, которые позволяют иметь типы, которые принимают типы и возвращают другие типы.
λPω: Сочетает как полиморфные типы, так и операторы типов.
λΠ: Зависимые типы, где типы могут зависеть от значений.
λΠ2: Сочетает зависимые типы с полиморфными типами.
λΠω: Сочетает зависимые типы с операторами типов.
λΠPω: Самая общая система, сочетающая зависимые типы, полиморфные типы и операторы типов.
Теперь давайте посмотрим, где находится PHPStan:
PHPStan — это инструмент статического анализа для PHP. Он расширяет систему типов PHP, предоставляя более тонкие проверки типов, чем сам язык. Однако система типов PHP и, соответственно, PHPStan не охватывает всю выразительность лямбда-куба.
• В PHP есть базовые аннотации типов для параметров функций и возвращаемых типов, что по крайней мере соответствует уровню λ→.
• С введением обобщений (через PHPStan и другие инструменты) PHP может имитировать некоторое поведение λ2.
• В PHP нет поддержки типов высших порядков, поэтому он не затрагивает ось λω.
• PHPStan не предлагает зависимых типов, поэтому ось λΠ не затрагивается.
В итоге, PHPStan расширяет систему типов PHP и касается аспектов λ2 благодаря поддержке обобщений. Тем не менее, он не углубляется глубоко в лямбда-куб. По сравнению с более продвинутыми системами типов, такими как Haskell или Idris, система типов PHP (даже с PHPStan) относительно проста. Тем не менее, PHPStan является ценным инструментом для разработчиков PHP, стремящихся улучшить надежность своего кода.
👍17🤯11❤1
- короткие
- содержательные, без воды
- практичные, для разработчиков
- оторваться невозможно, смотрел как сериал, когда в конце очередной серии хочется смотреть следующую!
https://planetscale.com/learn/courses/mysql-for-developers/introduction/course-introduction
Please open Telegram to view this post
VIEW IN TELEGRAM
Planetscale
MySQL for Developers — PlanetScale
This free MySQL course covers everything you need to know to become an expert in MySQL. The course is geared toward application developers, and offers practical guidance to implement schema, indexes, query improvement, and more.
👍42❤1
✅ Low Coupling
✅ High Cohesion
👆знаменитые паттерны GRASP (https://ru.wikipedia.org/wiki/GRASP?wprov=sfti1). Проблема с ними возникает при переводе на русский: «связность», «связанность», «зацепление», «сопряженность», и другие варианты - попробуйте теперь угадать, что из этого Coupling, а что Cohesion?
Допустим, у вас лично есть чёткое понимание правильного перевода. Но есть ли такое же понимание у вашего собеседника? Совпадает ли оно с вашим?
Вопрос навеян случайной дискуссией в одном телеграм чате, люди спорили пока вдруг не поняли, что говорят об одном и том же, но называют вещи разными словами.
О терминах не спорят, о терминах договариваются. Но уже не первый раз замечаю, что конкретно по этим двум терминам устоявшейся общепринятой договорённости нет. Или есть? Проверим голосованием: как вы называете Cohesion на русском?
✅ High Cohesion
👆знаменитые паттерны GRASP (https://ru.wikipedia.org/wiki/GRASP?wprov=sfti1). Проблема с ними возникает при переводе на русский: «связность», «связанность», «зацепление», «сопряженность», и другие варианты - попробуйте теперь угадать, что из этого Coupling, а что Cohesion?
Допустим, у вас лично есть чёткое понимание правильного перевода. Но есть ли такое же понимание у вашего собеседника? Совпадает ли оно с вашим?
Вопрос навеян случайной дискуссией в одном телеграм чате, люди спорили пока вдруг не поняли, что говорят об одном и том же, но называют вещи разными словами.
О терминах не спорят, о терминах договариваются. Но уже не первый раз замечаю, что конкретно по этим двум терминам устоявшейся общепринятой договорённости нет. Или есть? Проверим голосованием: как вы называете Cohesion на русском?
Wikipedia
GRASP
GRASP (от англ. General Responsibility Assignment Software Patterns — общие шаблоны распределения ответственностей; также отсылает к англ. grasp — «способность быстрого восприятия, понимание, схватывание») — шаблоны, используемые в объектно-ориентированном…
Как вы называете Cohesion на русском?
Anonymous Poll
30%
Связность
21%
Связанность
8%
Сцепление
15%
Зацепление
5%
Сопряженность
31%
Другое / посмотреть ответы
👍6🤪3😱1
IBM готовит инструмент для конвертации COBOL кода в Java с помощью AI: https://devops.com/ibm-previews-generative-ai-tool-for-converting-cobol-to-java/ -
🎨 Я видел много примеров запросов к ChatGPT «сконвертируй код из языка A в язык B» и даже сам пробовал конвертировать 1С в PHP 😅
Но только в контексте новости про COBOL я подумал про практическое применение конвертации старого legacy кода на свежие версии. Нам нужно что-то вроде утилиты Rector но на базе ИИ? 🧐 Хотя Rector и так нормально справляется с задачей обновления кодовой базы между версиями PHP, используя чёткую логику. Есть над чем подумать и поэкспериментировать 🔬
Но только в контексте новости про COBOL я подумал про практическое применение конвертации старого legacy кода на свежие версии. Нам нужно что-то вроде утилиты Rector но на базе ИИ? 🧐 Хотя Rector и так нормально справляется с задачей обновления кодовой базы между версиями PHP, используя чёткую логику. Есть над чем подумать и поэкспериментировать 🔬
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps.com
IBM Previews Generative AI Tool for Converting COBOL to Java
IBM this week announced it will preview a generative artificial intelligence (AI) tool for converting COBOL code running on mainframes into Java. The
👍5🤣1
Делюсь впечатлениями:
+ действительно бесплатный, я не нашел каких-либо подвохов или урезанной функциональности
+ работает без VPN
- автодополнение сильно уступает Github Copilot, медленно отвечает и не так хорошо
+ есть чат с ИИ в боковой панели, который умеет поддерживать контекст беседы. Сначала я не мог придумать полезных приёмов работы с чатом, но сегодня нашел один случай: рефакторинг множества констант в enum!
На скриншотах "было" (на светлом фоне) и "стало" (на тёмном фоне). Результат был получен не за одно действие, а за 4 последовательных просьбы, по затраченному времени, скорее всего, я бы быстрее конвертировал вручную. Но, возможно, чат запомнит этот диалог и в следующий раз сделает всё за одно действие?
В полученном коде вы можете заметить ошибку в
match ($this->value) - должно быть match($this).Также серьёзная ошибка в значениях
case - чат пронумеровал в порядке следования от 0 до 4, однако исходные константы имели иные числовые значения.Код определённо требует перепроверки и вычитки.
Далее я попросил чат Codium AI подобрать к моему списку опций иконки из коллекции Font Awesome 5 - подобрал (см. третий скриншот)! Я бы взял немного другие иконки, но мне понравился выбор по смыслу:
- "Отправлены по почте" = иконка конверта
- "Отправлены через ЭДО" = иконка загрузки в облако (электронный документооборот)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Зацените что нашел на просторах телеграмм чатов (в пыхтелке https://news.1rj.ru/str/phpyhtelka): PHPoC (PHP on Chip) – аппаратная платформа, объединяющая микроконтроллеры со встроенным PHP интерпретатором https://voltiq.ru/cat/devboards/phpoc/
🔥11😱8😁3👍1🤡1
Forwarded from ebanoePHP
This media is not supported in your browser
VIEW IN TELEGRAM
Я бы еще спросил понимает кандидат отличие вовлеченности от увлеченности
🤣33❤2🔥1
Новый продукт от JetBrains: Writerside - IDE для написания документации.
Число различных IDE и инструментов для разработчиков от JetBrains стремится в космос, скоро можно будет играть в игру "<рандомное слово> - это название продукта от JetBrains или нет?".
Ожидаю, что JetBrains однажды выпустит ОС (операционную систему) для разработчиков, чтобы максимально интегрированно было (буква I в IDE) - вот тогда заживём!
https://www.jetbrains.com/writerside/
Число различных IDE и инструментов для разработчиков от JetBrains стремится в космос, скоро можно будет играть в игру "<рандомное слово> - это название продукта от JetBrains или нет?".
Ожидаю, что JetBrains однажды выпустит ОС (операционную систему) для разработчиков, чтобы максимально интегрированно было (буква I в IDE) - вот тогда заживём!
https://www.jetbrains.com/writerside/
JetBrains
Writerside - a new technical writing environment from JetBrains.
Writerside is a new technical authoring and publishing environment from JetBrains.
👍16😁10🤡2🔥1
Пятиминутка PHP
Утро, начинаю работать, смотрю свежие коммиты
Этот прошлогодний код сегодня отработал на ура!
👏9🤮1
Сколько можно заработать на курсе по PHP?
Пятиминутка PHP
Сколько можно заработать на курсе по PHP?
Валентин Удальцов (https://news.1rj.ru/str/phpyh) раскрывает свои доходы в прямом эфире!
- Проработал в Happy Inc. 4 года, почему ушел?
- В компании Вебинар.ру всего 3 месяца - что произошло?
- Бесплатные консультации голосовыми сообщениями в телеге
- Платные консультации и собеседования
- Первый поток авторского курса по PHP для 5 человек
- Обучающие видео на boosty, почему забросил?
- На сколько упали доходы после увольнения с full time работы?
- В чём текущая бизнес-модель и сколько стоит обучение на втором (текущем) потоке курса по PHP?
- Сколько учеников и какой ежемесячный финансовый поток они генерируют?
- Зарабатываешь ли ты на рекламе в телеграм канале Пых?
- Платежи, комиссия кассы и автоматизация своего бизнеса
- Каковы трудозатраты на ведение собственного дела? Ты сейчас вкалываешь больше или меньше по сравнению с full time работой программистом?
Валентин Удальцов (https://news.1rj.ru/str/phpyh) раскрывает свои доходы в прямом эфире!
- Проработал в Happy Inc. 4 года, почему ушел?
- В компании Вебинар.ру всего 3 месяца - что произошло?
- Бесплатные консультации голосовыми сообщениями в телеге
- Платные консультации и собеседования
- Первый поток авторского курса по PHP для 5 человек
- Обучающие видео на boosty, почему забросил?
- На сколько упали доходы после увольнения с full time работы?
- В чём текущая бизнес-модель и сколько стоит обучение на втором (текущем) потоке курса по PHP?
- Сколько учеников и какой ежемесячный финансовый поток они генерируют?
- Зарабатываешь ли ты на рекламе в телеграм канале Пых?
- Платежи, комиссия кассы и автоматизация своего бизнеса
- Каковы трудозатраты на ведение собственного дела? Ты сейчас вкалываешь больше или меньше по сравнению с full time работой программистом?
👍30🔥17😁3❤1
Vim - это достаточно популярный текстовый редактор от которого веет шлейфом крутизны и гиковости. Если используешь Vim - ты крутой гик!
Никогда не пользовался, решил попробовать. Я также люблю всё новое и модерновое. Знаю, что набирает популярность NeoVim - может начать сразу с него? А на днях наткнулся на обзор редактора Helix - тоже "консольный", вобрал в себя лучшие идеи Vim и последователей, проект свежий 2021 года, создатель называет его post-modern text editor, написан на Rust - что ещё надо? Беру!
Установил с помощью
Подозреваю, что выходить надо также как из Vim, но я забыл как, ведь толком никогда не пользовался Vim. Получился анекдот в реальной жизни.
https://helix-editor.com
Никогда не пользовался, решил попробовать. Я также люблю всё новое и модерновое. Знаю, что набирает популярность NeoVim - может начать сразу с него? А на днях наткнулся на обзор редактора Helix - тоже "консольный", вобрал в себя лучшие идеи Vim и последователей, проект свежий 2021 года, создатель называет его post-modern text editor, написан на Rust - что ещё надо? Беру!
Установил с помощью
brew install helix, запустил hx и, знаете что? Я не смог из него выйти! Пока всё по плану 😂Подозреваю, что выходить надо также как из Vim, но я забыл как, ведь толком никогда не пользовался Vim. Получился анекдот в реальной жизни.
https://helix-editor.com
😁36👎6👍3🙈2
Смотрю обзор на новые фичи GitHub Copilot с конференции GitHub Universe 2023: https://youtu.be/NrQkdDVupQE?si=onw27IvKYdnkyyh-
YouTube
GitHub Universe 2023 opening keynote- Copilot in the Age of AI
It’s a new age for GitHub. Join our CEO Thomas Dohmke and special guests for a stirring, high velocity keynote as we fundamentally redefine what it means to be a software development platform in the age of AI.
▬▬▬▬▬▬ WANT TO LEARN MORE? 🚀 ▬▬▬▬▬▬
Read…
▬▬▬▬▬▬ WANT TO LEARN MORE? 🚀 ▬▬▬▬▬▬
Read…
👍4