Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

haskell jun2: упрощение #342

Copy link
Copy link
@antonkalinin-ml

Description

@antonkalinin-ml
Issue body actions

Спустя какое-то время после сдачи jun2 понимаешь, что многие темы оттуда или не пригодились, или пригодились в связи с другими темами на более высоких грейдах. Предлагаю их вырезать, переместить на грейды повыше или сделать опциональными.

Почти весь раздел по линуксу не пригодился. Хотя мне сложно оценить, я многие вещи оттуда знал, так что может и нужно оставить часть. Но вот в частности бесполезны:

  • 15 способов поиска процесса. К тому же, легко гуглится и ищется в мане.
  • curl (ищется в мане). Я на проекте использовал только постман, намного удобнее.
  • inter-process communication. Но это хорошая теоретическая тема для общего развития, можно сделать опциональной.
  • process supervising узкоспециализированная штука, не пригодилось. Все команды systemd вылетели из головы, кроме restart. Все это ищется в доках и статьях, ничего фундаментального тут нет, чтобы учить непременно на jun2.

Юзеры, группы, rwx, .profile, env vars, man - можно оставить, это базовые знания для работы в линуксе. Чтобы например настроить стек, добавить в PATH путь поиска бинарей. Однако половину этих вопросов добавлял я, так что конфликт интересов.

Про Haskell:

  • Data.Either.Validation не понадобилось, хотя, кажется, один раз про него зашел разговор. Можно оставить в для ознакомления, можно убрать.
  • законы Foldable & Traversable. Законы хороши, если пытаешься понять, каков их смысл. Я их скорее зазубривал, особенно это касается Traversable. Я бы или убрал, или добавил вопросы, почему законы именно такие и что они значат. Если же вам придет в голову написать необычный инстанс и не нарушить законы, вы знаете, где их найти.
  • весь Traversable я бы перенес на мидла. Я проникся траверсаблом, почитав пейпер, но он сложноват для jun2, а без пейпера это, опять-таки, зубрежка какого-то мутного тайпкласса, который будешь применять максимум в рамках вызова mapM над списком/Maybe, но точно не реализацией нестандартного инстанса. На мидле начнутся линзы, и вот там Traversable точно пригодится. С траверсаблом можно унести DeriveTraversable.
  • DerivingVia лучше учить вместе с Coercible и type roles, тема небольшая. Сделаем ее на мидле?
  • многопоточку нам тимлид запрещает использовать :). Унести на мидла? forkIO и MVar это не вполне современный и безопасный подход для работы с многопоточкой, сюда надо и асинх. эксепшены, TVar, каналы, async package.

+ @olegromashin @olgaklimenko @kelizarov @stanislav-az @evgeny-osipenko @KateBushueva

Reactions are currently unavailable

Metadata

Metadata

Labels

backendRelated to back-end developer roadmapRelated to back-end developer roadmap

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.