to post messages and comments.

← All posts tagged q

Кто делал себе ИП, подскажите нубу.
1. Код деятельности надо выбирать "погромирование 62.01"?
2. Схему обложения надо делать патентную?
3. Квест с онлайн-подачей регистрационных доков пройти реально?

q JS web

Существует ли логичная аргументация того, что веб-аппликации надо делать следующим образом: с бэкенда торчит пачка RESTов/вебсокетов, а вся гуйня строится на ЖС ? Не опирающаяся на постулат "так щас принято".

Есть class ParseArgs a и к нему
instance ParseArgs (Either WTF a)
instance (ParseArgs r, EType a) => Parse Args (a->r)
instance (ParseArgs r, EType a) => ParseArgs (Maybe a -> r)

что даёт нам ошибку Overlapping Instances, патамушто GHC неоткуда узнать, что instance EType (Maybe x) невозможен.
Какие возможны варианты лечения?
Нагуглить расширение языка, которое сделает закроет класс EType?
Огородить параметр a конструктором newtype Req a = REQ a ?
Заменить полиморфный instance (ParseArgs r, EType a)=> ParseArgs (a->r) на пачку частных случаев instance ParseArgs r => ParseArgs (Double -> r) ?

Что щаз принято использовать вместо почившей Оперы ради чтения текстов с веба на ходу: чтобы оно умело раздевать вебсайты до плэйнтекста, по требованию догружать остальной контент нажатием одной кнопки, агрессивно кэшировать, и было толерантным к плохому коннекту?

q

Haskell sockets *NIX
Как обнаруживать закрытие сокета (получил FIN) в х-е? Сишники предлагают форкать поток, который периодически:
1. делает poll, чтобы поймать момент, когда из сокета как бы можно читать
2. читает с флагом PEEK, чтобы не захавать данные, предназначенные основному серверному потоку
3. Если пункт 1 показал, что сокет доступен для чтения, а в пункте 2 из него прочиталось 0 байт, значит, он закрылся, и надо на него звать close

Дословно такой код переписывать на х-ь крайне печально.