Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

Срыв покровов патриот22.11.22 06:45
NEW 22.11.22 06:45 
в ответ alex445 21.11.22 23:04

так тебе о чем тут и талдычат: благодаря увеличению доходов ты больше покупаешь.

То есть хоть тебе и стало в три раза больше денег на счёт капать, но и траты увеличились.


alex445 коренной житель22.11.22 09:25
NEW 22.11.22 09:25 
в ответ Срыв покровов 22.11.22 06:45

Мне тут талдычат, как они не лучше бедных живут, если "чисто математически". А по личным ощущениям так и вообще несчастнее. Обычное лицемерное нытьё богатеньких. ))


Вот бомж Вася лежит под забором бухой, пузыри пускает с блаженной лыбой на лице - счастлив 24/7. А вот богатый Ганц или Джон - налоги заплати, за ипотеку заплати, за яхту кредит заплати, с семьёй три раза в год поездку в отпуск запланируй, места забронируй, и ещё жена просила инструктора ей для йоги личного нанять, чтобы она с ним дома занималась в перерывах между ведением домашнего хозяйства, пока муж на работе - вобщем, полно проблем.

Программист коренной житель22.11.22 10:42
NEW 22.11.22 10:42 
в ответ alex445 21.11.22 22:59
Короче, богатый живёт лучше бедного?

Богатый живет богаче бедного :) Отличить богатого от бедного очень просто - богатый не тратит львиную долю своего дохода на поддержание своей жизни.


И не понимаю, как можно из холода ехать в ещё больший холод (неважно, кататься или ещё что).

Это потому что ты никогда не катался :D

А вообще на склонах жарко. Не помню такого, чтобы я будучи на склоне заверзал :D


Ездить надо туда, где тепло и море.

Смотря что там делать :) Валяться 2 недели на лежаке - так себе отдых. Я больше 2-х дней не выдерживаю :D Вот помню мы с женой в июне ездили на 2 недели в Норвегию - красота неописуемая. Температура - в районе +13, но через 15-20 минут движения становится жарко. Замерзли мы там только в одном месте - когда шли на Кьераг, но там реально не повезло с погодой... все таки град - не самая лучшая погода для горных вылазок :D А так, когда мы шли на язык троля, то в конце тропы шли уже в футболках посреди нерастаявшего снега :)

А летом в жару ходить по горам - прикольно конечно, но надо много воды с собой таскать.

alex445 коренной житель22.11.22 12:14
NEW 22.11.22 12:14 
в ответ Программист 22.11.22 10:42, Последний раз изменено 22.11.22 12:25 (alex445)
Валяться 2 недели на лежаке - так себе отдых. Я больше 2-х дней не выдерживаю

Я лодку-доску надувную купил. Лежаки нафиг - выплыл на лодке подальше, лёг и качаешься себе на волнах. Никто не мешает, не ходит. Главное, чтобы не унесло.


На местных водоёмах довольно быстро скучно становится - волн нет, водоёмы маленькие. Когда выучишь основное управление (часов 10-20), потом научишься чего повыпендрёжнее (я могу на голове на этой лодке стоять даже при небольших волнах, а с весны "боевой разворот" буду изучать и прочий "экстрим"), то быстро становится скучно. На море немного получше, но с такими толстыми лодками серфить не получается - их тупо разворачивает вдоль волны и переворачивает. Да и волны на внутренних морях маленькие. Ну я поплавал на ней, через каналы попереплывал (хотя там довольно опасно, если суда ходят - могут волной опрокинуть), на соседние пляжи заплывал. Но всё равно этого максимум ещё на год и всё - надоест. Вот, хочу примерно такую же, но с парусом взять. Её гораздо дольше осваивать, плюс дальше и быстрее уплыть можно. А на весле у дешёвых лодок я быстро это весло расшатал.


С этими надувными лодками ещё проблема - где их хранить и как перевозить в надутом состоянии. Последний раз повезло - достался номер отеля на первом этаже, так я эту лодку как один раз надул, так до конца отпуска и не сдувал - так в номер и заносил. Но она больше 3 метров длиной, так что много места занимает. И надутую почти ни в какую машину не затащишь - там даже если все сиденья складывать, то надо фургон от 5 метров длиной, который стоит от 50к. А если постоянно такую лодку надувать-сдувать, разворачивать-сворачивать, то долго она не протянет. Да и заманаешься.


А в горах и прочие лыжи мне не нравится - не люблю потеть в холодном климате и потом в собственном соку на морозе и ветру торчать. Хоть там термобельё, хоть комбинезон - всё это неприятно. Ну и лыжи или сноуборд тупо опаснее, и в европейских условиях требуют ещё больше усилий для занятий, чем даже лодка - надо ездить далеко к горам и только в холодное время года. А до местных озёр я за полчаса-час доеду, и выбор есть. Плюс можно по полгода плавать, особенно если даже простой гидрокостюм купить.

Срыв покровов патриот22.11.22 14:10
NEW 22.11.22 14:10 
в ответ alex445 22.11.22 12:14

из Нюрберга до плохенькой горнолыжки 1,5 часа ехать или от 2.5 часов до Альп. куда ещё ближе?

alex445 коренной житель22.11.22 15:17
NEW 22.11.22 15:17 
в ответ Срыв покровов 22.11.22 14:10, Последний раз изменено 22.11.22 15:19 (alex445)

А озёр у меня в радиусе часа езды - штук 5 на выбор. Это только больших. И озёра бесплатные.

alex445 коренной житель23.11.22 09:37
NEW 23.11.22 09:37 
в ответ Срыв покровов 12.11.22 17:41, Последний раз изменено 23.11.22 09:38 (alex445)
как найдёшь пример, где без этого изврата не обойтись - пиши

Юзер может выбирать, какие колонки в таблице показывать. Значит, запросы надо конструировать с динамическим списком сущностей и их составом. Как будете делать? Где-то сохранять список выбранных колонок и потом в голый SQL через параметры строки подставлять?

alex445 коренной житель23.11.22 17:21
NEW 23.11.22 17:21 
в ответ alex445 23.11.22 09:37, Последний раз изменено 23.11.22 17:24 (alex445)

Занимательная штука. Самолёты и машины начали почти в одно время, но машины ездили быстрее, чем летали самолёты, целых первых примерно 30-40 лет. Речь, конечно, о рекордах скорости. И если бы не Вторая Мировая, в которой авиация получила мощнейший пинок в развитии, в отличие от машин, может это продолжалось бы ещё лет 30-40. Это потом уже машинки стали брать на вооружение авиационные двигатели, чтобы ставить рекорды езды.

Срыв покровов патриот23.11.22 19:16
23.11.22 19:16 
в ответ alex445 23.11.22 09:37
Юзер может выбирать, какие колонки в таблице показывать.

прям свободно писать названия свойств класса?

ну ок, для такого пригодится.


Не сильно распространённая задача

Плюс данные надо будет ещё в каком-то динамическом элементе показывать

Ну и надеюсь, SQL инъекции эта библиотека умеет блокировать.

alex445 коренной житель23.11.22 19:32
NEW 23.11.22 19:32 
в ответ Срыв покровов 23.11.22 19:16

Не свободно, конечно, а выбор из готового списка. Но как в обычном Линке сделать изменяющийся состав запрашиваемых колонок? Разве что голым SQL.

alex445 коренной житель25.11.22 13:13
NEW 25.11.22 13:13 
в ответ alex445 23.11.22 19:32, Последний раз изменено 25.11.22 13:20 (alex445)

Я смотрю код разных библиотек, и там если надо хранить некое универсальное значение (скажем, для контейнера в котором может храниться почти любой тип), то многие используют object. Например


public void SetFilterValue(object value)

{

if (

(FilterPropertyType == typeof(DateTimeOffset)

||

FilterPropertyType == typeof(DateTimeOffset?)) && value != null && value is DateTime?)

}


И это ещё "скромно". Такое есть в исходниках многих либ, в том числе "солидных", в которые коммитят или за которыми следят разные "гуру" и "евангелисты", главные по разработке какого-нибудь широко используемого фреймворка (вот как этот). Часто втречаются деревья на десятки if и прочих ветвлений, т.к. основной контейнер для хранения чего-то сделан универсальным (типа object или string), и потом его значение долго парсят по типам или из строки.


Похоже, что это норма и всякие "семизнаки и гуры" этим не брезгуют. ))


Я всегда считал, что есть, наверное, какой-то более надёжный с точки зрения ООП способ. Например, как-то продумать систему классов, чтобы для каждого типа был свой строготипизированный контейнер. А тут гуры лепят не оглядываясь портянки и в динамике проверяют типы, как какие-нибудь джаваскриптизёры. Что интересно, что в их статейках "как надо программировать" таких портянок обычно не встретишь - там как раз рассусоливания о гениальных структурах кода и проектировании систем классов на примерах разных животных или автомобилей - всё аккуратненько, коротенько и цивильно. Вот есть кошечки и собачки, а вместе они животные и живут в маленьком уютном домике - вот вам родитель, вот потомок, вот контейнер. Видите, как хорошо, тепло и чистенько. Никаких портянок, никаких выведений типов из object или строк.

MrSanders коренной житель25.11.22 15:07
NEW 25.11.22 15:07 
в ответ alex445 25.11.22 13:13

Да ты ж моя лапочка! Брось каку! А то ты скоро ещё и про double dispatch узнаешь, например, совсем с ума сойдёшь.

alex445 коренной житель25.11.22 16:13
NEW 25.11.22 16:13 
в ответ MrSanders 25.11.22 15:07, Последний раз изменено 25.11.22 16:40 (alex445)

ООП-садомазо. Некоторые ещё любят проперти исключительно через рефлексию читать - ну чтобы совсем динамичненько было.

В Юнити 3Д сделали всё на "has a" (а-ля компоненты) и не трахают себе мозги всякими изъё..ми. ))

zavuch завсегдатай28.11.22 17:27
zavuch
NEW 28.11.22 17:27 
в ответ alex445 19.11.22 12:19
50 баксов в час за тестировщика? Разве что в Силиконовой Долине. Но там и расценки у уличных работниц повыше, поди - так что полтинником не отделаешься.

хреново начинать

судя по блогам эмигрантов и по нескольким моим знакомым.. то в книжном магазе работают, то на бензоколонке.. мусорщиками..

это тут были ученые, и прогеры даже..

а дальше или там затерялись и ни ответа ни привета или сюда вернулись


работа должна приносить лямы и точка. и оставлять место тратить эти лямы.

а не выживать.

alex445 коренной житель29.11.22 15:53
NEW 29.11.22 15:53 
в ответ zavuch 28.11.22 17:27, Последний раз изменено 29.11.22 16:06 (alex445)

Вобщем, где-то была речь про Dynamic LINQ - зачем нужен и минус, что не типобезопасно. Тут они вкратце объяснили, зачем нужен. Кроме полностью динамических запросов, можно ещё создавать динамические классы данных - т.е. с разным числом, типами и названиями свойств. И вот это последнее очень помогает в ситуациях, когда юзер может выбирать, какие свойства таблицы показать, какие поля сохранить или экспортировать куда-нибудь. Как я сказал, некоторые либы - тот же Радзен фреймворк - свою функциональность полностью на этом основывают. Правда, для этого они в этом динамическом линке придумали свой язык запросов, но то мелочь.


Можно, конечно, и своё расширение написать по созданию типов динамически. Но раз за нас уже люди постарались, то почему бы не использовать готовую библиотеку?


Или ещё можно с анонимными типами что-то делать. Но у них вроде область видимости в пределах текущего блока, нет? И их всё равно надо приводить к какому-то конкретному типу потом.


И раз уж у нас даже всякие гуры непрочь иногда тайком подинамичить, поскриптизировать, балуясь с сериализацией в строки и шаля хранением всего в object, то жаловаться на Dynamic LINQ, что там что-то не строготипизированно - двуличие. Все мы под богом ходим. ))

alex445 коренной житель29.11.22 20:57
NEW 29.11.22 20:57 
в ответ alex445 29.11.22 15:53, Последний раз изменено 29.11.22 20:58 (alex445)

Вот как они юнит тесты пишут. Сами тесты примитивные насколько это возможно. Лишь портянки входных параметров и ожидаемых условий, задаваемых через аннотации. Ну это сейчас во всех фреймворках юнит-тестов. А вот какие-то цепочки методов Should().Be() как расширения над стандартными типами... Странный Xunit.

Murr патриот29.11.22 23:10
Murr
NEW 29.11.22 23:10 
в ответ alex445 29.11.22 20:57

Вот как они юнит тесты пишут.

------

Если уж челы сумели написать(сгенерировать, ибо руками это давно не пишут) парсер, то сгенерировать листинг параметров по грамматике для них пустяки...

alex445 коренной житель30.11.22 01:55
NEW 30.11.22 01:55 
в ответ Murr 29.11.22 23:10, Последний раз изменено 30.11.22 01:55 (alex445)

Вам не кажется, что раз челы придумывают динамический Линк, свой язык для него, то с вашим основным языком что-то не так? Не хватает, понимаешь, возможностей?


Да успокойтесь вы уже со своей генерацией кода. Не сошёлся на ней свет клином. Раз гуры фигачат всё в строки и object, то и руками натолкать листинг параметров для них не должно быть чем-то из ряда вон.

alex445 коренной житель30.11.22 08:55
NEW 30.11.22 08:55 
в ответ alex445 30.11.22 01:55

Ещё про динамический Линк. А почему в обычном изначально не догадались сделать сортировку так же просто, как в динамическом? И ведь даже сейчас можно сделать, не руша обратную совместимость - просто добавить перегрузку метода OrderBy с параметрами params. Или просто поменять существующую сигнатуру.


LINQ

1: var ordered = context.Customers
2:     .OrderBy(c => c.City).ThenBy(c => c.CompanyName)
3:     .ToList();


Dynamic LINQ

1: var orderedDynamic = context.Customers
2:     .OrderBy("City, CompanyName") 
3:     .ToList();
alex445 коренной житель30.11.22 08:59
NEW 30.11.22 08:59 
в ответ alex445 30.11.22 08:55

Если кто-то боится динамического скриптиза без строготиповой защиты, то в DLINQ работает и такое, хотя это и изврат


.OrderBy($"{nameof(City)}, {nameof(CompanyName)}")


Или даже так - не требует создания объекта Customer для указания его свойств


.OrderBy($"{nameof(Customer.City)}, {nameof(Customer.CompanyName)}")