L>>Звонок из-за рубежа? То есть заграничные начальники думают, что у нас тут все разговаривают на их языке? D>Конференц-звонок на троих с синхронным переводчиком. D>И думаю что IT-директор должен говорить хотя бы минимально на английском.
Они вас уже технически уже собеседовали, и вы им им подходите, нужна только формальность
в виде устной рекомендации?
Иначе не вижу смысла, чтобы оплачивать время синхронного переводчика.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, landerhigh, Вы писали:
L>Думайте сами, решайте сами.
Если рассказываете сказки — уточните, о чем именно вы говорите?
Предполагаю, что какую-нибудь страну, где именно государство проверяет опыт работы, да еще и квалификацию? Австралия (без диплома?) и кто-то еще?
В подавляющем большинстве стран вышеописанная схема государству безразлична.
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, Denis Mingulov, Вы писали:
L>>Думайте сами, решайте сами. DM>Если рассказываете сказки — уточните, о чем именно вы говорите?
Сказки-сказки, как хотите.
Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось. DM>В подавляющем большинстве стран вышеописанная схема государству безразлична.
В подавляющем большинстве стран вскрывшийся обман при получении рабочей или иммиграционной визы чреват очень болезненными последствиями.
Здравствуйте, Gradient, Вы писали:
G>3а) выделение скрипта в хранимку, или хотя бы в запрос же "select pk_co_id from companies where co_name = @name" положительно скажется не только на читабельности, но и на быстродействии (базы).
Это миф. Повышению быстродействия тут неоткуда взяться.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, landerhigh, Вы писали: L>Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось.
Кстати да. Рассказывали мне историю про человека, который работал в одном закрытом учреждении, а туда пришли австралийцы на посмотреть(ну хотел человек в Австралию уехать). Человека уволили.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, Gradient, Вы писали:
G>3) этот скрипт конечно не супер сложный и большой, но все-таки плохо генерить скрипт внутри кода, его лучше положить куда-то в виде храники. А так появится смешение бизнес-логики и доступа к данным.
В виде хранимки не обязательно. Главное чтобы sql-запросов в слое бизнес логики не было, т.е. чтобы они были отделены. Как минимум чтобы они были только в DAL, а дальше можно либо в ресурсы либо в хранимки. В приведенном фрагменте этот код может быть в слое DAL, а тогда нет ничего плохого если там текст запроса прямо в коде.
Re[4]: Лёгкий способ поменять квалификацию и увеличить зарпл
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]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, 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]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, landerhigh, Вы писали:
DM>>Если рассказываете сказки — уточните, о чем именно вы говорите? L>Сказки-сказки, как хотите.
Уважаемый дяденька самый лучший и самый умный.
Возможно, вы решили не читать мое сообщение или решили просто просмотреть его.
Поясню, я не возражал против такой возможности, более того, сам привел в качестве примера Австралию.
Только вы сказали: L>Так вот, подобный "трюк" грозит разными приятностями от получения перманентной черной метки в визовом отделе до отнюдь неиллюзоной отсидки с последующей департацией и черной меткой тоже в зависимости от страны назначения."
Я всего лишь попросил список стран, в которых такое возможно.
L>Австралийцы не только звонят. Они могут (что и делают) приходить по адресу конторы. Больно много вот таких вот хитровсяких развелось.
Хорошо:
1) Австралия.
Ее назвал я. А дальше?
(хорошо, продолжу — США в некоторых случаях, Великобритания, Канада).
DM>>В подавляющем большинстве стран вышеописанная схема государству безразлична. L>В подавляющем большинстве стран вскрывшийся обман при получении рабочей или иммиграционной визы чреват очень болезненными последствиями.
В подавляющем большинстве стран стаж (и место работы) совершенно не важны ни при получении рабочей визы/ВНЖ (более того, все еще есть развитые страны, где даже диплом не требуется), ни при продлении. Если работодателя человек устраивает — все ок, возможно есть уникальный опыт и т.д.
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
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]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, WPooh, Вы писали:
L>>Это миф. Повышению быстродействия тут неоткуда взяться. WP>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.
Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, 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]: Лёгкий способ поменять квалификацию и увеличить зарпл
L>>>Это миф. Повышению быстродействия тут неоткуда взяться. WP>>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.
L>Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.
Словом, может быть как в плюс, так и в минус. Конкретные данные анализировать надо, нет совершенства в этом мире, эхехе.
Re[8]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, TMU_1, Вы писали:
L>>>>Это миф. Повышению быстродействия тут неоткуда взяться. WP>>>Про быстродействие базы шла речь. План запроса для хранимой уже составлен. По сети гоняем только параметры (это сейчас 1Гбит, раньше 10/100Мбит). Это, конечно копейки, если не десятые доли. Особенно при толщине бизнес-логики в десятки или тысячи рублей.
L>>Это скорее аргумент не за твою позицию, а против нее. В зависимости от значения, с которым сравнивается co_name, оптимальный план может быть разным. Исползуя параметры, ты не даешь серверу возможности "сосчитать" другой план.
TMU>Словом, может быть как в плюс, так и в минус. Конкретные данные анализировать надо, нет совершенства в этом мире, эхехе.
Ваша правда. Но из общих соображений в данном случае число компаний в справичнике вряд ли превышает, ну скажем, миллион. Разбивать смысла нету. Справочник все-таки.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Re[5]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, Sni4ok, Вы писали:
S>откуда следует, что в коллекции entity есть обьекты- о которых программист чего-то незнает? возможно он сам её заполнил и иньекции там взяться неоткуда.
А к неизбыточным проверкам параметров в функциях вы тоже относитесь так же относитесь?
Аргумент тот же самый.
Re[6]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, Denis Mingulov, Вы писали:
DM>Здравствуйте, Sni4ok, Вы писали:
S>>откуда следует, что в коллекции entity есть обьекты- о которых программист чего-то незнает? возможно он сам её заполнил и иньекции там взяться неоткуда. DM>А к неизбыточным проверкам параметров в функциях вы тоже относитесь так же относитесь? DM>Аргумент тот же самый.
также это как?
Re[3]: Лёгкий способ поменять квалификацию и увеличить зарпл
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]: Лёгкий способ поменять квалификацию и увеличить зарпл
Здравствуйте, Denis Mingulov, Вы писали:
DM>(хорошо, продолжу — США в некоторых случаях, Великобритания, Канада).
Хм, и что там остается из развитого? Еврозона? Так насочиняв историй и оказавшись невъездным при иммиграции в UK, у хитрожопого гражданина с высокой вероятностью возникнут проблемы выехать на шоппинг в ту же Финляндию.
Здравствуйте, elmal, Вы писали:
E>5) зачем здесь using мне непонятно; E>6) Хоть и мелочь, но все же обычно sql в константы выносят, а то и во внешние файлы; E>7) Слишком длинная строчка. Если и перенос ее был, он был не там, и не было отступов.
E>Но я наверно придираюсь. В принципе достаточно средний код, я встречал гораздо хуже.
Тут две основные проблемы( если забыть про само использование ADO.NET )
SQL Injection и возможный Null Reference Exception.
Using — это для паттерна Disposable, автоматическое освобождение всех ресурсов, используемых командой, закрытие курсоров и т.д.