Сообщений: 561
Тем: 44
Зарегистрирован: Sep 2011
Репутация:
412
Newble Написал:Лишняя нагрузка на процессор.
Пример был указан в источнике, я сочувствую что гуглить вы умеете, а распознавать информацию нет.
Вы сами то, много ошибок найдете в таком крошечном примере, без остальных известных данных? А ну, поразите меня. Я перед вами извинюсь, даже, хотя не понимаю за что.
Добавлено через 1 минуту
Вы имеете ввиду стандарты С ?
Хоспади. В вашей статье в пункте один идет речь об неправильном форматировании кода, а тоесть пробелы, переносы и т.п.
Вы до сих пор не можете это понять даже после того как вас ткнули в это носом.
Сообщений: 220
Тем: 20
Зарегистрирован: Nov 2012
Репутация:
808
04-18-2016, 05:00 PM
(Сообщение последний раз редактировалось: 04-18-2016, 05:01 PM Aleksey.)
Aleksey Написал:Не, посмотрел стандарт... Нашел 9 ошибок. Давай 10 набери и я ухожу и репу прибавлю даже
Добавлено через 1 минуту
отсутствует в джаве понятие унсигнед, и вообще статья не привязана к языку. Ошибки не в коде, ошибки в стиле! Читайте свою статью!
Нашел десятую) Будет 11?
Добавлено через 1 минуту
Newble Написал:Вы сами то, много ошибок найдете в таком крошечном примере, без остальных известных данных? А ну, поразите меня. Я перед вами извинюсь, даже, хотя не понимаю за что.
Извиняться будем?)
Сообщений: 176
Тем: 4
Зарегистрирован: Jan 2013
Репутация:
1,011
kpNemo Написал:Очень интересно. Назревает вопрос, или скорее просьба. Не мог бы кто показать как реально правильно писать на с#? Какие есть уже выработанные технологии по разработке приложений winforms тесно связанных с БД? К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов. Ведь не раз слышал, что данный программист талантливый и опытный. Я обычно вытягиваю с БД таблицу в виде Ienumerable, а потом через linq уже орудую готовыми данными. Почему так, или иначе? Есть кто опытный в данной отрасли, кто может показать достаточно удобные решения в данном русле и натолкнуть на мысль, как же всё-таки правильно?
Тс, сам не особо в теме. Про итерацию поржал, если мне нужно перебрать массив элементов я буду юзать for конструкцию, т.к foreach уже тянет за собой IEnumerable и его есть смысл юзать когда работаешь с IList или IDictionary. (c#)
"К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов." - Любой l2 эмуль на шарпе выглядит убого, т.к в основном раньше их разрабы писали на Яве.
Сообщений: 220
Тем: 20
Зарегистрирован: Nov 2012
Репутация:
808
Ну крч справедливость то существует
Сообщений: 65
Тем: 16
Зарегистрирован: Dec 2015
Репутация:
11
Aleksey Написал:Ну крч справедливость то существует
Молодец, всех друзей попросил)? Делай -1кк. Поздравляю, ты умнее, чем человек изучающий подобное,раз в неделю, по 20 минут, на протяжении пары месяцев.
Вы съели человека, за копипаст. Надеюсь гордитесь этим.
Да и тема не была так плоха, что бы изгонять за нее с форума, или оскорблять.
Не дав новичку прохода, вы думаете, что сделали что то полезное?
Я могу и запросто покинуть этот форум, что бы вы не утруждались минусовать.
Сообщений: 220
Тем: 20
Зарегистрирован: Nov 2012
Репутация:
808
Newble Написал:Молодец, всех друзей попросил)? Делай -1кк. Поздравляю, ты умнее, чем человек изучающий подобное,раз в неделю, по 20 минут, на протяжении пары месяцев.
Вы съели человека, за копипаст. Надеюсь гордитесь этим.
Да и тема не была так плоха, что бы изгонять за нее с форума, или оскорблять.
Не дав новичку прохода, вы думаете, что сделали что то полезное?
Я могу и запросто покинуть этот форум, что бы вы не утруждались минусовать.
Всё, пошли сопли. А авторство вы так и не указали!
Сообщений: 65
Тем: 16
Зарегистрирован: Dec 2015
Репутация:
11
Aleksey Написал:Всё, пошли сопли. А авторство вы так и не указали!
Не обязан. Твой выигрыш автомобиль Якубовича. Довольствуйся.
Сообщений: 105
Тем: 22
Зарегистрирован: Mar 2010
Репутация:
279
Necroz-Team Написал:Тс, сам не особо в теме. Про итерацию поржал, если мне нужно перебрать массив элементов я буду юзать for конструкцию, т.к foreach уже тянет за собой IEnumerable и его есть смысл юзать когда работаешь с IList или IDictionary. (c#)
"К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов." - Любой l2 эмуль на шарпе выглядит убого, т.к в основном раньше их разрабы писали на Яве.
Всмысле поржал? Вот надо нам заполнить штук 50 датагридов, 200 комбобоксов и т.д.. В каждом первом идут селекты сразу с нескольких таблиц, всякая там арифметика и т.д.. Сколько уйдёт времени на эти селекты? А если они должны в любой момент опят проселектится с чуть другими условиями(а должно работать моментально)? + самая беда - может быть плохое, часто обрывающееся соединение с БД. Описываются нужные таблицы классами, после вытягиваются таблички примерно так: Код: data = DB.ExecuteQuery<T>(querySql).ToList();
; Всё, теперь всё у нас в памяти. А теперь можно вытянуть всё это дело в любом нужном виде через линки, что явно быстрее(в некоторых условиях чуть ли не в 100 раз быстрее, чем пускать в БД запрос по условиям, БД ещё будет думать как его обработать..., а если юзать плинки и злинки - ещё быстрее), чем селекты. А что плохого в том, чтобы хранить в памяти Иенумерабле? И кто, уж простите, будет форами бегать по огромному иенумерабле? Вытянул что надо, превратил в лист, а оттуда можно и форами. Сколько по вашему вот такой запрос будет выполняться, если послать подобный в БД? Код: var dat = (from stus in _Stus
join st in _Student on stus.stus1 equals st.st1
join sk in _SK on st.st1 equals sk.sk2
join std in _STD on stus.stus1 equals std.std2
join gr in _Grup on std.std3 equals gr.gr1
join sp in _Specialyty on gr.gr2 equals sp.sg1
join f in _Facultet on sp.sp5 equals f.f1
join d in _Disciplin on stus.stus18 equals d.d1
join sem in _Sem on gr.gr2 equals sem.sem2
join p in _Teacher on stus.pd2 equals p.p1
join stusP in _StusOtrab on stus.stus0 equals stusP.stusp0 into stusOtr
from stusP in stusOtr.DefaultIfEmpty()
join abd in _ABD on st.st1 equals abd.abd62 into ABD
from abd in ABD.DefaultIfEmpty()
let eduLvl = (from s in sp14 where s == -1 select s).ToArray().Length == 4 ? sp.sp14 > -1 : sp14.Contains(sp.sp14)
let nationalyty = (st63 == 0 ? st.st63 > -1 : st63 == 1 ? st.st63 == 0 : st.st63 > 0)
let tDir = abd != null ? (abd6 == -1 ? abd.abd6 > -1 : abd.abd6 > abd6) : false
let medalist = abd != null ? (abd64 == -1 ? abd.abd64 > -1 : abd.abd64 > abd64) : false
let Ucourses = abd != null ? (abd35 == -1 ? abd.abd35 > -1 : abd.abd35 > abd35) : false
let checkAbd = ((abd6 == -1 && abd64 == -1 && abd35 == -1) || (nationalyty && tDir && medalist && Ucourses))
let Dvoiki = dvoiki.Where(i => i == string.Empty && i == "").Count() == 2 ? true: dvoiki.Where(i => i != string.Empty && i != "").Contains(stus.stus11)
where eduLvl && checkAbd && Dvoiki
&& stus.stus20 == sem.sem7 && sem.sem3 == sem3 && sem.sem5 == sem5 && sem.sem20 == sem20 && sp.sg4 == sg4
select new
{
stus,
st,
sk,
gr,
sp,
f,
d,
sem,
p,
stusP
}).ToList();
Может я не умею писать запросы, но у меня почему-то при достаточно больших запросах даже в самом ibexpert-e(я с firebird работаю) - всё может висеть подооолгу так. А так - миллисекунды.
Или мы об одном и том же?
Не боюсь позориться, главное узнать у профи, как правильно писать.
Сообщений: 176
Тем: 4
Зарегистрирован: Jan 2013
Репутация:
1,011
kpNemo Написал:Всмысле поржал?
В прямом, ТС говорит что итерировать i это нагрузка на процессор.
Сообщений: 105
Тем: 22
Зарегистрирован: Mar 2010
Репутация:
279
Necroz-Team Написал:В прямом, ТС говорит что итерировать i это нагрузка на процессор.
Простите, неверно вас понял.
К ТСу: а как тогда?
|