Re[3]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Lexxpin  
Дата: 19.01.10 13:00
Оценка:
L>>Звонок из-за рубежа? То есть заграничные начальники думают, что у нас тут все разговаривают на их языке?
D>Конференц-звонок на троих с синхронным переводчиком.
D>И думаю что IT-директор должен говорить хотя бы минимально на английском.
Они вас уже технически уже собеседовали, и вы им им подходите, нужна только формальность
в виде устной рекомендации?
Иначе не вижу смысла, чтобы оплачивать время синхронного переводчика.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Denis Mingulov Финляндия http://denis.mingulov.com
Дата: 19.01.10 13:05
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Думайте сами, решайте сами.

Если рассказываете сказки — уточните, о чем именно вы говорите?
Предполагаю, что какую-нибудь страну, где именно государство проверяет опыт работы, да еще и квалификацию? Австралия (без диплома?) и кто-то еще?
В подавляющем большинстве стран вышеописанная схема государству безразлична.
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: landerhigh Пират  
Дата: 19.01.10 13:34
Оценка: +1
Здравствуйте, Denis Mingulov, Вы писали:

L>>Думайте сами, решайте сами.

DM>Если рассказываете сказки — уточните, о чем именно вы говорите?
Сказки-сказки, как хотите.
Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось.
DM>В подавляющем большинстве стран вышеописанная схема государству безразлична.
В подавляющем большинстве стран вскрывшийся обман при получении рабочей или иммиграционной визы чреват очень болезненными последствиями.
www.blinnov.com
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Lloyd Россия  
Дата: 19.01.10 13:39
Оценка:
Здравствуйте, Gradient, Вы писали:

G>3а) выделение скрипта в хранимку, или хотя бы в запрос же "select pk_co_id from companies where co_name = @name" положительно скажется не только на читабельности, но и на быстродействии (базы).


Это миф. Повышению быстродействия тут неоткуда взяться.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Codechanger Россия  
Дата: 19.01.10 13:47
Оценка:
Здравствуйте, landerhigh, Вы писали:
L>Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось.


Кстати да. Рассказывали мне историю про человека, который работал в одном закрытом учреждении, а туда пришли австралийцы на посмотреть(ну хотел человек в Австралию уехать). Человека уволили.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.01.10 14:08
Оценка:
Здравствуйте, Gradient, Вы писали:

G>3) этот скрипт конечно не супер сложный и большой, но все-таки плохо генерить скрипт внутри кода, его лучше положить куда-то в виде храники. А так появится смешение бизнес-логики и доступа к данным.


В виде хранимки не обязательно. Главное чтобы sql-запросов в слое бизнес логики не было, т.е. чтобы они были отделены. Как минимум чтобы они были только в DAL, а дальше можно либо в ресурсы либо в хранимки. В приведенном фрагменте этот код может быть в слое DAL, а тогда нет ничего плохого если там текст запроса прямо в коде.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Sni4ok  
Дата: 19.01.10 14:31
Оценка:
Здравствуйте, Gradient, Вы писали:

N>>>
N>>>using (SqlCommand command = new SqlCommand("select pk_co_id from companies where co_name = '" + entity["name"].ToString() + "'", connection)) 
N>>>


S>>а где лопата?


G>1) Инъекцию уже упомянули

откуда следует, что в коллекции entity есть обьекты- о которых программист чего-то незнает? возможно он сам её заполнил и иньекции там взяться неоткуда.

G>2) а что, если entity["name"] == null

опятьже тоже самое, необоснованное предположение.

G>3) этот скрипт конечно не супер сложный и большой, но все-таки плохо генерить скрипт внутри кода, его лучше положить куда-то в виде храники. А так появится смешение бизнес-логики и доступа к данным.


это лишь ваша субьективная оценка, по типу- "нравится-ненравится", к практической стороне вопроса отношения не имеет.

G>3а) выделение скрипта в хранимку, или хотя бы в запрос же "select pk_co_id from companies where co_name = @name" положительно скажется не только на читабельности, но и на быстродействии (базы).


на это вам уже ответили, и даже если это так, то вы пытаетесь навязать какую-то преждевременную оптимизацию которая вообще глупа без изучения узких мест конкретного участка кода.
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: WPooh США  
Дата: 19.01.10 15:18
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Gradient, Вы писали:


G>>3а) выделение скрипта в хранимку, или хотя бы в запрос же "select pk_co_id from companies where co_name = @name" положительно скажется не только на читабельности, но и на быстродействии (базы).


L>Это миф. Повышению быстродействия тут неоткуда взяться.

Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.
Лицензия на базу (особенно Оракл) стоила в зависимости от числа процессоров и тактовой частоты, так что старались перенести по возможности обработку с базы на бизнес-логику. В общем, зависит от обстоятельств, но нагрузку с базы чуток снять можно.
Myth Busters, сезон 8, выпуск 37.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Denis Mingulov Финляндия http://denis.mingulov.com
Дата: 19.01.10 15:22
Оценка:
Здравствуйте, landerhigh, Вы писали:

DM>>Если рассказываете сказки — уточните, о чем именно вы говорите?

L>Сказки-сказки, как хотите.
Уважаемый дяденька самый лучший и самый умный.
Возможно, вы решили не читать мое сообщение или решили просто просмотреть его.
Поясню, я не возражал против такой возможности, более того, сам привел в качестве примера Австралию.
Только вы сказали:
L>Так вот, подобный "трюк" грозит разными приятностями от получения перманентной черной метки в визовом отделе до отнюдь неиллюзоной отсидки с последующей департацией и черной меткой тоже в зависимости от страны назначения."
Я всего лишь попросил список стран, в которых такое возможно.

L>Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось.

Хорошо:
1) Австралия.
Ее назвал я. А дальше?
(хорошо, продолжу — США в некоторых случаях, Великобритания, Канада).

DM>>В подавляющем большинстве стран вышеописанная схема государству безразлична.

L>В подавляющем большинстве стран вскрывшийся обман при получении рабочей или иммиграционной визы чреват очень болезненными последствиями.
В подавляющем большинстве стран стаж (и место работы) совершенно не важны ни при получении рабочей визы/ВНЖ (более того, все еще есть развитые страны, где даже диплом не требуется), ни при продлении. Если работодателя человек устраивает — все ок, возможно есть уникальный опыт и т.д.
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: DrDred Россия  
Дата: 19.01.10 15:25
Оценка:
G>>3а) выделение скрипта в хранимку, или хотя бы в запрос же "select pk_co_id from companies where co_name = @name" положительно скажется не только на читабельности, но и на быстродействии (базы).

L>Это миф. Повышению быстродействия тут неоткуда взяться.


Ну да, а каждый раз разбор запроса дается бесплатно?
"select pk_co_id from companies where co_name = 'Вася'"
и
"select pk_co_id from companies where co_name = 'Петя'"
с точки зрения сервера разные запросы...
В OLTP системе при склейке запроса без использования параметров падение быстродействия может быть весьма значительным.
--
WBR, Alexander
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Lloyd Россия  
Дата: 19.01.10 15:26
Оценка:
Здравствуйте, WPooh, Вы писали:

L>>Это миф. Повышению быстродействия тут неоткуда взяться.

WP>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.

Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Lloyd Россия  
Дата: 19.01.10 15:28
Оценка:
Здравствуйте, DrDred, Вы писали:

DD>Ну да, а каждый раз разбор запроса дается бесплатно?

DD>"select pk_co_id from companies where co_name = 'Вася'"
DD>и
DD>"select pk_co_id from companies where co_name = 'Петя'"
DD>с точки зрения сервера разные запросы...

Парсинг это копейки.
Re[7]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: TMU_1  
Дата: 19.01.10 15:30
Оценка:
L>>>Это миф. Повышению быстродействия тут неоткуда взяться.
WP>>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.

L>Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.



Словом, может быть как в плюс, так и в минус. Конкретные данные анализировать надо, нет совершенства в этом мире, эхехе.
Re[8]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: WPooh США  
Дата: 19.01.10 16:08
Оценка:
Здравствуйте, TMU_1, Вы писали:

L>>>>Это миф. Повышению быстродействия тут неоткуда взяться.

WP>>>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.

L>>Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.



TMU>Словом, может быть как в плюс, так и в минус. Конкретные данные анализировать надо, нет совершенства в этом мире, эхехе.

Ваша правда. Но из общих соображений в данном случае число компаний в справичнике вряд ли превышает, ну скажем, миллион. Разбивать смысла нету. Справочник все-таки.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Denis Mingulov Финляндия http://denis.mingulov.com
Дата: 19.01.10 16:09
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>откуда следует, что в коллекции entity есть обьекты- о которых программист чего-то незнает? возможно он сам её заполнил и иньекции там взяться неоткуда.

А к неизбыточным проверкам параметров в функциях вы тоже относитесь так же относитесь?
Аргумент тот же самый.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: Sni4ok  
Дата: 19.01.10 16:27
Оценка:
Здравствуйте, Denis Mingulov, Вы писали:

DM>Здравствуйте, Sni4ok, Вы писали:


S>>откуда следует, что в коллекции entity есть обьекты- о которых программист чего-то незнает? возможно он сам её заполнил и иньекции там взяться неоткуда.

DM>А к неизбыточным проверкам параметров в функциях вы тоже относитесь так же относитесь?
DM>Аргумент тот же самый.

также это как?
Re[3]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: elmal  
Дата: 19.01.10 16:44
Оценка: 1 (1)
Здравствуйте, Sni4ok, Вы писали:

N>>
N>>using (SqlCommand command = new SqlCommand("select pk_co_id from companies where co_name = '" + entity["name"].ToString() + "'", connection)) 
N>>

S>а где лопата?
Попробую я сказать:
1) Какого черта идет все сплошным кодом? Почему не вынесено это в отдельный метод, а то и класс? Выполнение разных запросов это часто используемая операция вообще-то, неплохо бы это обернуть чтоб поудобнее пользоваться, а не постоянно создавать команды, передавать соединение явно и т.д;
2) entity["name"].ToString() — что это? Хоть бы в переменную чтоль вынес;
3) что-то мне подсказывает, что искать лучше было бы по другому полю, например по id. Иначе бы оператор like стоял, да и всякие Upper и т.д.;
4) Почему не используются параметры? Если уж не поддерживаются они, сделай так, чтобы с точки зрения пользователя твоего невыделенного метода параметры были. Про SQL Injection молчу уж;
5) зачем здесь using мне непонятно;
6) Хоть и мелочь, но все же обычно sql в константы выносят, а то и во внешние файлы;
7) Слишком длинная строчка. Если и перенос ее был, он был не там, и не было отступов.

Но я наверно придираюсь. В принципе достаточно средний код, я встречал гораздо хуже.
Re[7]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: landerhigh Пират  
Дата: 19.01.10 17:13
Оценка:
Здравствуйте, Denis Mingulov, Вы писали:

DM>(хорошо, продолжу — США в некоторых случаях, Великобритания, Канада).

Хм, и что там остается из развитого? Еврозона? Так насочиняв историй и оказавшись невъездным при иммиграции в UK, у хитрожопого гражданина с высокой вероятностью возникнут проблемы выехать на шоппинг в ту же Финляндию.
www.blinnov.com
Re[2]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: StandAlone  
Дата: 19.01.10 17:29
Оценка:
Здравствуйте, Niemand, Вы писали:

N>угу, щаз. Как раз 14 часов назад с конторы такого погнали. Он сениором устроился и начал воять


N>
N>using (SqlCommand command = new SqlCommand("select pk_co_id from companies where co_name = '" + entity["name"].ToString() + "'", connection)) 
N>


N>Это написал SENIOR, б&(#$^!#$!@#. Думаю тут даже не всем юниорам надо объяснять.


Голый ADO.NET?Самодельный DAL, CRUD-сервис?

N>А вот так отправлял html-письма:


N>
N>private string GeneratePaymentMethodText() 
N>{ 
N>PaymentMethodText += "PAYMENT METHODS \n \n"; 
N>PaymentMethodText += "PAYING BY DIRECT CREDIT? \n"; 
N>PaymentMethodText += "Our bank details are: \n"; 
N>...
N>


А здесь-то чего не так? Не использован StringBuilder?
И при чем тут html?
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
От: StandAlone  
Дата: 19.01.10 17:33
Оценка:
Здравствуйте, elmal, Вы писали:

E>5) зачем здесь using мне непонятно;

E>6) Хоть и мелочь, но все же обычно sql в константы выносят, а то и во внешние файлы;
E>7) Слишком длинная строчка. Если и перенос ее был, он был не там, и не было отступов.

E>Но я наверно придираюсь. В принципе достаточно средний код, я встречал гораздо хуже.


Тут две основные проблемы( если забыть про само использование ADO.NET )
SQL Injection и возможный Null Reference Exception.
Using — это для паттерна Disposable, автоматическое освобождение всех ресурсов, используемых командой, закрытие курсоров и т.д.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.