Хочу поблагодарить Tasty Coffee за отличную работу - не только ваш основной продукт - кофе, но и сайт очень хорош! Пользоваться им одно удовольствие, видно что делали с вниманием к деталям!
Вот, например, прежде чем зарегистрироваться на сайте, сделал несколько заказов "анонимно". После регистрации (на ту же электронную почту) - все прошлые заказы отображаются в аккаунте. Технически может это не сильно сложно, но приятно что о таком подумали. Также прикольно что у вас используются Service Workers (было несколько открытых вкладок в магазине и соседние реагируют на события) - сейчас проверил в about:debugging - и правда есть. Про бэк понятно, если не секрет, можете рассказать на чём написана сама страница (библиотеки \ фреймворк) ?
PS: пробовал Ла Аврора, одной пачки не хватило, чтобы разобраться. А пока собирался, лот уже попал в архив. Есть много другого хорошего, и, возможно, похожего. Но хочется тот же) С той же фермы и всё такое. Есть ли вероятность что когда-нибудь архивные продукты будут возвращаться? Может добавить на сайт голосование за возвращение продуктов, что то вроде индекса ностальгии в дополнение к обычной популярности.
Эпический тред там выше про ООП, ФП, типы, кто из них круче и всякое такое. Обычно не участвую в таких дискуссиях, но тут не удержаться. Печально, что люди так критически относятся к новой для них информации.
Вот промисы в том же JS: есть две ветки выполнения - resolve и reject - и состояние, упакованное в контейнер. Пусть @illinav поправит, но очень похоже на монаду.
Только в чистых функциональных языках, это всё ещё и строго типизировано. Хотя даже с ограниченной типизацией у такой структуры данных есть ощутимые преимущества, что мы и видим на примере JS. Промисы не обязательно использовать только для асинхронщины, такой контракт вообще повышает безопасность и читаемость кода.
@RikkiMongoose.Кстати, вот насчёт типизации и гарантий в "compile time" (в широком смысле), никто же не будет спорить что "use strict" штука полезная. ESLint, TypeScript - тоже классные инструменты. Насколько понимаю, Haskell и, тем более, Idris, например, - это как TypeScript на максималках.
@ednersky Спор выше по сути не про ООП, а про слабые и сильные системы типов. И вот как то так получилось, что у большинства ООП-языков система типов слабая (по сравнению с). И приходится выкручиваться паттернами и линтерами и тестами там, где могли бы эффективнее работать типы.
В общем даже со слабой системой типов многие функциональные техники полезны и в JS, композиция функций, замыкания, частичное применение, многое другое. А с сильной системой типов - всё это ещё и безопаснее и легче читается (просто по аннотациям).
Что популярно и где используется - вообще странный аргумент, вот Blackbird - чудо своего времени, но использовался крайне ограниченно, так и тут. Возможно, что то из функциональных (в том числе "экзотических") языков ещё перейдёт в тот же JS / TS (и другие мейнстримные языки). Такое уже не раз было...
Хочу поблагодарить Tasty Coffee за отличную работу - не только ваш основной продукт - кофе, но и сайт очень хорош! Пользоваться им одно удовольствие, видно что делали с вниманием к деталям!
Вот, например, прежде чем зарегистрироваться на сайте, сделал несколько заказов "анонимно". После регистрации (на ту же электронную почту) - все прошлые заказы отображаются в аккаунте. Технически может это не сильно сложно, но приятно что о таком подумали.
Также прикольно что у вас используются Service Workers (было несколько открытых вкладок в магазине и соседние реагируют на события) - сейчас проверил в about:debugging - и правда есть.
Про бэк понятно, если не секрет, можете рассказать на чём написана сама страница (библиотеки \ фреймворк) ?
PS: пробовал Ла Аврора, одной пачки не хватило, чтобы разобраться. А пока собирался, лот уже попал в архив. Есть много другого хорошего, и, возможно, похожего. Но хочется тот же)
С той же фермы и всё такое.
Есть ли вероятность что когда-нибудь архивные продукты будут возвращаться?
Может добавить на сайт голосование за возвращение продуктов, что то вроде индекса ностальгии в дополнение к обычной популярности.
Приятно видеть вашу компанию на Хабре
Эпический тред там выше про ООП, ФП, типы, кто из них круче и всякое такое. Обычно не участвую в таких дискуссиях, но тут не удержаться. Печально, что люди так критически относятся к новой для них информации.
Вот промисы в том же JS: есть две ветки выполнения - resolve и reject - и состояние, упакованное в контейнер. Пусть @illinav поправит, но очень похоже на монаду.
Только в чистых функциональных языках, это всё ещё и строго типизировано. Хотя даже с ограниченной типизацией у такой структуры данных есть ощутимые преимущества, что мы и видим на примере JS. Промисы не обязательно использовать только для асинхронщины, такой контракт вообще повышает безопасность и читаемость кода.
@RikkiMongoose.Кстати, вот насчёт типизации и гарантий в "compile time" (в широком смысле), никто же не будет спорить что "use strict" штука полезная.
ESLint, TypeScript - тоже классные инструменты. Насколько понимаю, Haskell и, тем более, Idris, например, - это как TypeScript на максималках.
@ednersky Спор выше по сути не про ООП, а про слабые и сильные системы типов. И вот как то так получилось, что у большинства ООП-языков система типов слабая (по сравнению с). И приходится выкручиваться паттернами и линтерами и тестами там, где могли бы эффективнее работать типы.
В общем даже со слабой системой типов многие функциональные техники полезны и в JS, композиция функций, замыкания, частичное применение, многое другое. А с сильной системой типов - всё это ещё и безопаснее и легче читается (просто по аннотациям).
Что популярно и где используется - вообще странный аргумент, вот Blackbird - чудо своего времени, но использовался крайне ограниченно, так и тут.
Возможно, что то из функциональных (в том числе "экзотических") языков ещё перейдёт в тот же JS / TS (и другие мейнстримные языки). Такое уже не раз было...