После порядком затянувшегося перерыва решил попробовать написать что-то и на английском языке.
Итогом стала статья на Medium про использование
Искренне надеюсь, что дебют получился успешным. Буду очень рад вашим комментариям.
Итогом стала статья на Medium про использование
Ordering в Scala. Примером стало, конечно же, любимое сообществом семейство кошачьих.Искренне надеюсь, что дебют получился успешным. Буду очень рад вашим комментариям.
Medium
Sorting in Scala — a cat shop example
While Java and Scala both inhabit the same JVM grounds, the latter has become known as a far more concise and expressive language due to…
Вдогонку ко вчерашней новости: аналогичным образом поступила одна из наиболее масштабных компьютерных организаций, - Ассоциация Вычислительной Техники (Association for Computing Machinery) - открыв доступ к своей цифровой библиотеке до 30 июня.
В основной коллекции библиотеки содержится порядка 600 тысяч записей, в расширенной - немногим менее 3 миллионов. По ключевому слову "Scala" удаётся найти около 4000 результатов. Получить доступ к библиотеке можно по ссылке.
За новость спасибо Евгению Игнатьеву.
В основной коллекции библиотеки содержится порядка 600 тысяч записей, в расширенной - немногим менее 3 миллионов. По ключевому слову "Scala" удаётся найти около 4000 результатов. Получить доступ к библиотеке можно по ссылке.
За новость спасибо Евгению Игнатьеву.
Не так давно узнал, что вдобавок к сайту с вакансиями Profunctor запустил ещё и канал @profunctor_jobs с минималистичными описаниями вакансий, размещённых на сайте.
На фоне предложений с подробным описанием печенья и фруктов в офисе, но без зарплатной вилки/стэка/названия компании(!) очень приятно видеть продукт, ориентированный на разработчиков.
На фоне предложений с подробным описанием печенья и фруктов в офисе, но без зарплатной вилки/стэка/названия компании(!) очень приятно видеть продукт, ориентированный на разработчиков.
profunctor.io
∏ρ؃uñçτØρ Øπτµç∑ | 👁🗨›››› ::: profunctor optics ::: libmustdie
Programming job board, memes and stuff
Опубликовал перевод своей недавней статьи на Хабрахабр. Теперь почитать про сортировку кошек можно и на русском языке.
Хабр
Сортировка в Scala — пример на кошках
Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синта...
Вчера завершилась замечательная конференция ScalaLove, за которую огромное спасибо её организаторам. Надеюсь, в будущем такие мероприятия будут происходить значительно чаще.
Одним из докладчиков на конференции был Мартин Одерски, который уже не в первый раз (1, 2) описывал основные особенности Scala 3. Что особенно примечательно, синтаксические изменения, связанные с отступами, Мартин обозначил как наиболее сильно увеличившие персонально его продуктивность и отметил снижение числа строк кода в среднем на 10%.
Итогом доклада стал небольшой шедевр изобразительного искусства, вобравший в себя грядущие изменения:
Одним из докладчиков на конференции был Мартин Одерски, который уже не в первый раз (1, 2) описывал основные особенности Scala 3. Что особенно примечательно, синтаксические изменения, связанные с отступами, Мартин обозначил как наиболее сильно увеличившие персонально его продуктивность и отметил снижение числа строк кода в среднем на 10%.
Итогом доклада стал небольшой шедевр изобразительного искусства, вобравший в себя грядущие изменения:
YouTube
Scala 3 Is Coming: Martin Odersky Shares What To Know
Created in 2003, Scala has pioneered the fusion of object-oriented and functional programming in a typed setting. In its first redesign since 2010, Scala 3 will be a big step towards realizing the full potential of these ideas and will go into feature freeze…
Из-за многочисленных перестановок долго не знал, сложится или нет, но буквально несколько дней назад всё окончательно утвердилось. В эту субботу буду выступать на онлайн-митапе с обзорной презентацией про Scala, ФП и почему это важно.
Презентация рассчитана в основном на незнакомую с вышеозначенными понятиями публику и ставит своей целью обозначить основные направления для самостоятельного знакомства и заинтересовать попробовать новый язык программирования.
Мероприятие будет проходить на английском языке в эту субботу, в 13:30 по Московскому времени. Принять участие можно, зарегистрировавшись по ссылке. (Меня клятвенно заверили, что, несмотря на надпись на сайте, "вместимость" мероприятия - 100 человек)
Презентация рассчитана в основном на незнакомую с вышеозначенными понятиями публику и ставит своей целью обозначить основные направления для самостоятельного знакомства и заинтересовать попробовать новый язык программирования.
Мероприятие будет проходить на английском языке в эту субботу, в 13:30 по Московскому времени. Принять участие можно, зарегистрировавшись по ссылке. (Меня клятвенно заверили, что, несмотря на надпись на сайте, "вместимость" мероприятия - 100 человек)
connpass
WebHack#32 A Gentle Introduction to Scala and FP (2020/04/25 19:30〜)
# WebHack Follow us on @WebHackMeetup for more valuable contents & earlier updates 👨🎓 In light of the uncertainty we all face in our daily lives as the situation with COVID-19 unfolds, the safety of all WebHack friends and our community is the top priority.…
Что ж, митап подошёл к концу, большое спасибо всем, кто присутствовал, особенно за вопросы. Опыт выдался крайне положительным и я надеюсь, что в будущем представится возможность рассказать о чём-то более детально.
Запись доклада - здесь.
Презентация - здесь.
Запись доклада - здесь.
Презентация - здесь.
YouTube
WebHack#32 A Gentle Introduction to Scala and FP
Speaker slides: https://drive.google.com/file/d/1vDDWIufw18UPhtxI5r6vqfUkIGh8a92E/view?usp=sharing
HackMD (collaborative note): https://hackmd.io/R8i5WW2sSqiBO1N-3QvwLA
Nowadays, with so many programming languages in existence, it can be very difficult to…
HackMD (collaborative note): https://hackmd.io/R8i5WW2sSqiBO1N-3QvwLA
Nowadays, with so many programming languages in existence, it can be very difficult to…
С небольшим запозданием до меня добралась новость, что Scala обзавелась страницей для начинающих от SoftwareMill с кратким обзором IDE, курсов, книг и основных библиотек.
Коллеги, ещё только планирующие попробовать Scala, страницу оценили - удобно, когда вся необходимая информация собрана в одном месте.
Коллеги, ещё только планирующие попробовать Scala, страницу оценили - удобно, когда вся необходимая информация собрана в одном месте.
SoftwareMill
What is Scala? | SoftwareMill
Scala is a functional, strongly typed, general-purpose programming language. Dive into functional programming world with us & learn Scala!
Обнаружил весьма интересную статью о техническом долге.
Наиболее важным моментом считаю мысль о том, что метафора с "долгом", если и работает, то не всегда и не полностью - иногда более уместно понятие "технической инфляции", естественного увеличения необходимости переработки кода с течением времени.
Материал отлично подойдёт тем, кто сталкивался с термином "технический долг", но хочет более подробно ознакомиться со спецификой стоящего за ним явления.
Наиболее важным моментом считаю мысль о том, что метафора с "долгом", если и работает, то не всегда и не полностью - иногда более уместно понятие "технической инфляции", естественного увеличения необходимости переработки кода с течением времени.
Материал отлично подойдёт тем, кто сталкивался с термином "технический долг", но хочет более подробно ознакомиться со спецификой стоящего за ним явления.
Medium
Don’t buy into the Technical Debt Illusion
Originally, the metaphor of technical debt was introduced to help us explain the need for refactoring software systems to upper management.
Кратко и иллюстративно об иерархии сложности задач в современной компьютерной теории, с примерами.
Quanta Magazine
A Short Guide to Hard Problems
What’s easy for a computer to do, and what’s almost impossible? Those questions form the core of computational complexity. We present a map of the landscape.
Захотел попробовать создать свой range тип в PostgreSQL, использующий альтернативную схему нормализации (canonicalization) диапазона (по умолчанию все range типы приводятся к форме [x, y) ). Главной проблемой становится объявление соответствующей функции, которая должна принимать в качестве аргумента ещё не созданный тип. В документации даже имеется специальная инструкция для разрешения данного конфликта.
В реальности, к сожалению, всё обстоит плачевнее - инструкция просто-напросто не работает. Оказывается, единственным способом создания собственной функции нормализации является написание модуля на С, который затем должен быть подключён как расширение PostgreSQL. Спасительным оказался модуль inetrange, в котором удалось найти пример такой функции, ещё и с Makefile.
Если вам когда-нибудь потребуется написать небольшое расширение для PostgreSQL, репозиторий данного модуля может стать хорошей точкой старта, поскольку в большинстве своём документация крайне скудна на детали.
В реальности, к сожалению, всё обстоит плачевнее - инструкция просто-напросто не работает. Оказывается, единственным способом создания собственной функции нормализации является написание модуля на С, который затем должен быть подключён как расширение PostgreSQL. Спасительным оказался модуль inetrange, в котором удалось найти пример такой функции, ещё и с Makefile.
Если вам когда-нибудь потребуется написать небольшое расширение для PostgreSQL, репозиторий данного модуля может стать хорошей точкой старта, поскольку в большинстве своём документация крайне скудна на детали.
Stack Overflow
How to create a new date range type with included upper bound in Postgres?
Postgres comes with a nice feature called Range Types that provides useful range functionality (overlaps, contains, etc).
I am looking to use the daterange type, however I think the type was imple...
I am looking to use the daterange type, however I think the type was imple...
Впервые столкнулся с проблемой при работе с замечательной gRPC-библиотекой - mu. Оказывается, без опции
Если тоже сталкивались с этой проблемой, обязательно "поставьте звёздочку" соответствующей issue, а если имеете полный контроль над
package в .proto-файле генерация кода работать не будет, что может создать проблемы, когда файлы используются сразу несколькими командами. Ноги растут из базового пакета skeuomorph, в который зашита только логика работа с этим параметром.Если тоже сталкивались с этой проблемой, обязательно "поставьте звёздочку" соответствующей issue, а если имеете полный контроль над
.proto-файлами - рекомендую попробовать библиотеку.GitHub
GitHub - higherkindness/mu-scala: Mu is a purely functional library for building RPC endpoint based services with support for RPC…
Mu is a purely functional library for building RPC endpoint based services with support for RPC and HTTP/2 - higherkindness/mu-scala
Для меня стало большим откровением, что существует целый игровой движок, написанный на Scala - indigo. Несмотря на то, что пока доступна только альфа-версия и сами авторы предупреждают о возможных проблемах, уже можно писать небольшие игры на любимом функциональном языке, выходящие за рамки экспериментов с ZIO.
На правах рекламы хочу напомнить про добротный канал с вакансиями @profunctor_jobs, который может быть особо полезен ищущим удалённую работу.
Периодически попадаются вакансии для Scala и даже Haskell (!) программистов.
Периодически попадаются вакансии для Scala и даже Haskell (!) программистов.
В этом году начал выходить приятный подкаст Scala logs со сравнительно небольшими интервью с выдающимися членами Scala-сообщества - на подходе интервью с Робом Норрисом, наиболее известным в качестве автора библиотеки для работы с БД Doobie.
По случаю релиза в России прикладываю ссылку на Spotify-плейлист подкаста, но найти его несложно и на других сервисах.
По случаю релиза в России прикладываю ссылку на Spotify-плейлист подкаста, но найти его несложно и на других сервисах.
Twitter
The Scala Logs (@TheScalaLogs) | Twitter
The latest Tweets from The Scala Logs (@TheScalaLogs). The Scala Logs podcast
Inquiries: theScalaLogs 'at' gmail 'dot' com'
Like what you're hearing? Buy us a coffee: https://t.co/AY7Jk5M6Pg
Inquiries: theScalaLogs 'at' gmail 'dot' com'
Like what you're hearing? Buy us a coffee: https://t.co/AY7Jk5M6Pg
Решил опубликовать основные выдержки из одной из моих любимых книг - Functional Programming for Mortals. Когда только начинал осваиваться со Scala, книга стала большим подспорьем в изучении наряду с Functional Programming in Scala и Scala with Cats - все книги однозначно рекомендуются к прочтению.
Medium
Functioning Programming for Mortals — excerpts
A list of key excerpts from one of the most celebrated books in the Scala community.
В этом году начал выписывать занятный IT-журнал Increment. Люди, работающие над журналом, ответственно подошли к своей работе - каждый выпуск включает в себя подборку качественных статей, соответствующих определённой теме, от обработки ЧП до архитектуры ПО.
Само главное, что для ознакомления с журналом не обязательно приобретать печатное издание, все выпуски опубликованы на сайте в свободном доступе.
Всячески рекомендую к прочтению.
Само главное, что для ознакомления с журналом не обязательно приобретать печатное издание, все выпуски опубликованы на сайте в свободном доступе.
Всячески рекомендую к прочтению.
Increment
Increment: Planning
This issue examines the ever-evolving practices of software planning—and how we can craft plans that enrich communication, alignment, and impact on engineering teams.
Не за горами долгожданный релиз Scala 3, и уже начинают появляться первые материалы - рассчитанный как на начинающих, так и "уже умеющих", 7-часовой курс позволит слушателям познакомиться как с синтаксисом новой версии языка, так и с особенностями JVM-рантайма.