Анна
ну норм прикол же
Hog
Да :)))) я сразу понял про что ты :))))
Анна
Молодость 😂
Hog
я даже один раз на концерте был! \m/
Hog
Молодость 😂
да... но Найтвиш оч быстро надоедает
Анна
Привет!!!
Hog
https://reddit.com/r/dotnet/comments/9tbllv/where_are_all_of_you_guys/
там есть прикольные моменты :) Cincinnati, working as a Java developer because of salary.
Hog
I’ve found one job via a recruiter in 20 years. Just one. Now, that was my first job, so it was good for both of us. But that is where the recruiter sweet spot is: college grads. After someone gets experience they can easily go around you.
Hog
Тема такая, что многие позиции доступны только через рекрутинговые агентства. Да, они публикуются на сайтах организаций, где эти позиции открыты, но просто так гуглопоиском их хрен найдёшь. Только если искать "адресно".
Vladislav
https://reddit.com/r/programming/comments/9tj6h6/remember_that_abc_regex_i_felt_it_wasnt/
x
О, чувак оказывается взял и умер https://en.wikipedia.org/wiki/TempleOS
Ayrat
@atsapura в статье у тебя новый код появился let getReport = use connection = getConnection() DataRepository.get connection >> Report.build есть мнение что получится не очень)
Roman
почему?
Vasily
Опасный код
Roman
я готов поправить, тока на что? Добавил, чтобы было реалистичней
Ayrat
Ты создаёшь один раз коннекшн и возвращаешь функцию с кложуром на этот конекшн
Ayrat
создаёшь при запуске приложения если что
Ayrat
я не уверен что ты этого хотел
Ayrat
т.е. в при такой записи let abc = let a = f() ... f() вызовется ровно один раз
Roman
Хороший поинт. То есть лучше управление коннекшном делать внутри Repository.get?
Roman
а, хотя можно ж просто запись с параметром сделать, понял
Ayrat
да, но получится менее красиво без композиции
Ayrat
:D
Ayrat
let getReport query = use conectiom = ... query |> ...
Roman
ага, обновлю. Спасибо!
Ayrat
@atsapura в гопачке например чтобы можно было писать функциональные асинк пайплайны без гемора, есть полезный Job.useIn Можно подобный синхронный сделать let useIn (thunk: unit -> IDisposable) (f: IDisposable -> 'b) = use resource = thunk() f resource let getReport = useIn getConnection >> DataRepository.get >> Report.build
Ayrat
сигнатуры понятно можно не писать, это для ясности
Ayrat
Вот такой йоба код будет работать как тебе нужно и с композицией
Roman
хм. Думаешь, стоит в статью такой пример добавлять?
Ayrat
не, не стоит) это я для примера
Roman
ок, любопытная штука
Roman
есть мнение, что у меня мало демонстрации буста скорости разработки, вместо этого просто перебирание фич. Вот ща буду рашпилем дорабатывать
Ayrat
Хм, годный поинт, да
Ayrat
Можешь по аналогии с @antyadev показать типичное дерево проектов на C# и F# где в C# разлюли-малина из фабрик, интерфейсов и файлов с DTO (их выделяют потому что много кода надо на DTO из 10 полей со всеми переопеределинями) , то в F# там можно пятком файлов обойтись
Ayrat
При этом важно написать что не теряется расширяемость, тестируемость и всё такое прочее
Roman
Наверное, бахну примеров из своей пресловутой змейки. Но ее аналога на сишарпе у меня нет)
Roman
Ну про атрибуты писать не стал, но добавил всякого, в том числе про структуру файлов, зависимости и обработку исключений
Ayrat
А про какую стать речь? Можно ссылку?
Завтра (наверное) выложат
Mikhael
Тут или f# news?
Ayrat
На хабре)
Ayrat
Тут продублируют!
Mikhael
А там Роман под каким ником пишет?
Ayrat
Я не помню) @atsapura summon
Hog
как лечить ионид? всё красное :( билдится нормально.
Igor
Hog
ща попробуем :)
Hog
оно не умеет в fake-скрипты
Hog
вернее в #r "paket: groupref Build //"
Hog
и не только - любые #r и #load красные... и соответствено в fsx - ничего от него не добиться
Ayrat
оно не умеет в fake-скрипты
так в это никто не умеет, т.к. это приблуда самого фейка
Hog
хз - ионид как-то мне показывал :)
Ayrat
хз - ионид как-то мне показывал :)
ионид показывает #r "path/to/Abc.dll" Потому что это норма
Hog
на paket тоже не ругался
Hog
а можно как-то ионид сделать только для .fsx
Hog
а LS - для .fs?
Hog
LS на любою директиву с # в .fsx ругается :(
Hog
ионид показывает #r "path/to/Abc.dll" Потому что это норма
#r "paket: ... " тоже в иониде работает
Hog
как вариант держать оба :( и перещёлкивать Enable-Disable в зависимости от редактируемого файлика... (Update: проверил - работает, но воркфлоу дебильнейший)
Hog
(_____!_____)
Hog
Как это разрулить с помощью workspaces?
Hog
кстати - иониду поплохело, когда я прямые референсы на скомпиленые асембли заменил на ProjectReference... что-то как-то тупо :(
Igor
Может проще на Rider перейти
Hog
а ща попробую!
Hog
LS, кстати - ваще отвалился... что-то там у него с кишочками не в порядке. Мож для проекта в 3 файлика оно и ок, но 9 проектов с зависимостями многочисленными ему крышу снесли
Igor
Хз, у меня 5 проектов, вроде норм, но я пакет/fake вообще не использую. А вот с ionide после 1.5к строк кода, уже вообще не поворачивался (только райдер и спасал)
Hog
я не знаю как Fable без них завести
Hog
Rider тоже не помог
Hog
синтаксис подсвечивает, тултипов с типами нет (только в fake-скрипте как это ни странно)
Roman
А там Роман под каким ником пишет?
kagetoki Статью сегодня выложу.
Крылатый
Утра, няшы-эфшарпяши!
Ayrat
Скала - это круто https://twitter.com/kot_2010/status/1058795819921498113
Doge
Скала - это круто https://twitter.com/kot_2010/status/1058795819921498113
Так match типы - это круто же. Дофига функционала из shapeless'а можно с ними сильно проще сделать.