powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций
25 сообщений из 155, страница 3 из 7
Создание фильтра иньекций
    #37845853
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof..где вероятность выстрелить в ногу повышается как и ресурсы на сопровождение.

наверно тут )

brainproofСоздание конекшена, комнады, прописывание команды(текст, хранимка), параметров , выполнение через ридер и подача данных с ридера в конструктро конкретного класса
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845855
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofя разве писал что надо отказываться от ОРМ?
Ты заднюю не включай, а от тебя жду реальных замеров, о которых ты говорил. Докажи, что Linq 2 SQL тормоз и я пожму тебе руку. Виртуально :)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845864
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОна медленнее разве-что ридера. Но чистый ридер нафик никому не уперся, нужна объектная обертка (классы, датасет и т.п.). Вот тут Linq 2 SQL вне конкуренции
Уточню, что EF в ту же копилку нужно бросить, т.к. использует такой же маппер. А вот с хибером можно потягаться, чей маппер ядрёней :)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845892
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
)) забавный ты ) агришся что ужас, все что не твое сразу говнокод и все на личный счет .. я думаю спорить не о чем с тобой уже, дальше будет просто куча слюны и срач) "ручной" я не делаю, время дороже как бы. юзалDаpper.net как то. какая у тебя к черту критика? У тебя бзик какакой то зачмырить любого кто против тебя что то сказал) Я что призывал писать ручками или отказаться от Linq2SQL? я сам на нем сижу или на EF в зависимости от проекта. Может начнеш адекватнее мыслить и не пытаться чмырить людей видя в них объекты угрозы твоему режиму?)

http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845897
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУbrainproofя разве писал что надо отказываться от ОРМ?
Ты заднюю не включай, а от тебя жду реальных замеров, о которых ты говорил. Докажи, что Linq 2 SQL тормоз и я пожму тебе руку. Виртуально :)
заднюю)? хаха нука найди где я писал что орм говно))
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845902
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof,
Он привёл таки примерчик.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845928
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergebrainproof,
Он привёл таки примерчик.
Окей! а теперь скажи ты мне где я писал что орм отстой ?) едиственое что я писал что в ИСКЛЮЧИТЕЛЬНЫХ случаях может понадобиться что то другое)
P.S. даже в его примере. как бы шустрее "ручками". Я разве говорил что там п....ц скорость будет?) То что МСУ откровено доводит до абсурда каждую мою фразу я уже вижу.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845933
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof)) забавный ты ) агришся что ужас, все что не твое сразу говнокод и все на личный счет ..
Сосредоточься на задаче, а не на названиях кода. Иногда за это можно завоевать уважение :) А пустословить мы все можем, только стыдно становится, когда аргументов потребуют люди.

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

brainproofкакая у тебя к черту критика? У тебя бзик какакой то зачмырить любого кто против тебя что то сказал)
Отлично. Ты говоришь, что белое - это черное, я тебе доказываю обратное. Выложив свои агрументы на стол, ты отворачиваешься в сторону, что-то бубнишь себе под нос, а потом заявляешь "у тебя к черту критика? У тебя бзик какакой то зачмырить любого".
По-моему, ты просто сел в лужу и продолжаешь вести себя некрасиво.

brainproofЯ что призывал писать ручками или отказаться от Linq2SQL?
Причем тут отказ от Linq 2 SQL? Ты до сих пор не вдуплил, чего я от тебя прошу?

brainproofя сам на нем сижу или на EF в зависимости от проекта. Может начнеш адекватнее мыслить и не пытаться чмырить людей видя в них объекты угрозы твоему режиму?)
Короче, ты неодупляем...

brainproof http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM
Статью писал такой же пионер как ты, на помойку.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845939
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofзаднюю)? хаха нука найди где я писал что орм говно))

Говно - это утрирование. Вот:

brainproofорм все таки медленее чем ручное и в исключительных случаях можно погемороиться с ручным. не более. Да я уже тестит 500 запросов..ручное быстрее чем через орм. В ручном все упираеться в ридер и конструкторы.

Я от тебя прошу код, который докажет, что твоё "ручное" быстрее.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845951
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof
Чьи слова?

brainproofПроверьте, сделайте 500 select-команд подряд и замапьте тысячи результатов в объекты определенных классов как долго это будет. А потом тоже самое но ручками.

Я же доказал обратное, код привёл. Какие будут комментарии по данному поводу?
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845965
glaznoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брейк, ребята

Вот я использую. функцию:

Код: c#
1.
2.
3.
4.
5.
6.
7.
    public class Protection
    {
        public string GetEncodeString(string input)
        {
            return HttpUtility.HtmlEncode(input);
        }
    }



И в я защищён от XSS?
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846070
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glaznoyБрейк, ребята

Вот я использую. функцию:

Код: c#
1.
2.
3.
4.
5.
6.
7.
    public class Protection
    {
        public string GetEncodeString(string input)
        {
            return HttpUtility.HtmlEncode(input);
        }
    }



И в я защищён от XSS?

Да
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846071
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glaznoy...я защищён от XSS?
От XSS - да, но не от SQL-injection.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846123
...хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторзаднюю)? хаха нука найди где я писал что орм говно))
Не стесняйся! ОРМ - гавно и атавизм!!!

для непонятливых http://www.mongodb.org/ - частный случай.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846165
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...хм...Не стесняйся! ОРМ - гавно и атавизм!!!
Всем курить MicroORMs for .NET !!!
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846170
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Globalization;
using System.Linq;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Press to go");
            Console.ReadKey();
            var ids = new List<int> { 1, 11, 35, 171, 49, 27, 285, 290, 335, 440, 404, 34 };

            const string con = "Data Source='SERVER\\SQL2008R2'; Initial Catalog=test' ;Persist Security Info='True'; User ID='sa'; Password=****;";
            var rnd = new Random();
            var linq = new DataClassesDataContext();
            var sw = Stopwatch.StartNew();
            for (int i = 0; i < ids.Count; i++)
            {
                var res = linq.Items.Single(x => x.Id == ids[i]);
            }
            Console.WriteLine(sw.ElapsedMilliseconds);

            sw = Stopwatch.StartNew();

            using (var sql = new SqlConnection(con))
            {
                sql.Open();
                for (int i = 0; i < ids.Count; i++)
                {

                    using (var cmd = new SqlCommand("SELECT * FROM Catalog.Product where ProductId=@ProductId", sql))
                    {
                        cmd.Parameters.AddWithValue("@ProductId", ids[i]);
                        using (var reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                var data = new Item
                                               {
                                                   Id = (int)reader["Id "],
                                                   Serial= (string)reader["Serial"],
                                                   Name = (string)reader["Name"],
                                                   Ratio = Convert.ToDouble(reader["Ratio"], CultureInfo.InvariantCulture),
                                                   Discount = Convert.ToDecimal(reader["Ratio"], CultureInfo.InvariantCulture),
                                                   Weight = Convert.ToDecimal(reader["Weight"], CultureInfo.InvariantCulture),
                                                   ItemSize = (string)reader["ItemSize "],
                                                   IsFreeShipping = (bool)reader["IsFreeShipping"],
                                                   ItemsSold = (int)reader["ItemsSold"],
                                                   BriefDescription = (string)reader["BriefDescription"],
                                                   Description = (string)reader["Description"],
                                                   Enabled = (bool)reader["Enabled"],
                                                   Recomended = (bool)reader["Recomended"],
                                                   New = (bool)reader["New"],
                                                   BestSeller = (bool)reader["BestSeller"],
                                                   OnSale = (bool)reader["OnSale"],
                                                   OrderByRequest = (bool)reader["OrderByRequest"],
                                                   HirecalEnabled = (bool)reader["HirecalEnabled"],
                                                   UrlPath = (string)reader["UrlPath"]
                                               };
                            }
                        }
                    }
                }
            }
            Console.WriteLine(sw.ElapsedMilliseconds);
            Console.ReadKey();
        }

        public class Item
        {
            public int Id { get; set; }
            public string Serial{ get; set; }
            public string Name { get; set; }
            public double Ratio { get; set; }
            public decimal Discount { get; set; }
            public decimal Weight { get; set; }
            public string ItemSize { get; set; }
            public bool IsFreeShipping { get; set; }
            public int ItemsSold { get; set; }
            public string BriefDescription { get; set; }
            public string Description { get; set; }
            public bool Enabled { get; set; }
            public bool Recomended { get; set; }
            public bool New { get; set; }
            public bool BestSeller { get; set; }
            public bool OnSale { get; set; }
            public bool OrderByRequest { get; set; }
            public bool HirecalEnabled { get; set; }
            public string UrlPath { get; set; }
        }
    }
}


http://www.imageup.ru/img233/973866/test.jpg.html

взял бд одного из проекта для структуру, забил мусором..забил туда 1000 рандмоного барахла, выбрал рандомно записи которые буду грузить
Выглядит ужасно конечно.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846189
...хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВсем курить MicroORMs for .NET !!!
ещё раз повторю - ORM - гавно - микро, макро и даже медиум!!!
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846204
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofВыглядит ужасно конечно.
1. А где сами замеры и выводы? Опять мне писать?
2. Тест не корректен

В маппингах:

Код: c#
1.
BestSeller = (bool)reader["BestSeller"],



не проверок на null, если встретится null - мы получим исключение. А if'ы в разрезе каждой записи и в разрезе каждого поля дадут дополнительный тормоз так или иначе.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846207
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУbrainproofВыглядит ужасно конечно.
1. А где сами замеры и выводы? Опять мне писать?
2. Тест не корректен

В маппингах:

Код: c#
1.
BestSeller = (bool)reader["BestSeller"],



не проверок на null, если встретится null - мы получим исключение. А if'ы в разрезе каждой записи и в разрезе каждого поля дадут дополнительный тормоз так или иначе.

1) я нулы исключил в бд
2) картинка по ссылке
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846209
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы можем подискутировать как обойти нул 1 if-ом и это не сильно затормозит
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846215
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...хм...авторВсем курить MicroORMs for .NET !!!
ещё раз повторю - ORM - гавно - микро, макро и даже медиум!!!
Совершенно верно. На самом деле, конечно же, невозможно перенести логику работы с базой на прикладной язык, который является клиентом сервера базы. Принципиально невозможно.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846223
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofмы можем подискутировать как обойти нул 1 if-ом и это не сильно затормозит
И даже это тебе не поможет, смотри, Linq всё-равно быстрее маппит.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
// Замеры LINQ
Execute(() =>
{
    var data = linq.Customers.ToList();
});

// Чистый фетч ридера без маппинга
Execute(() =>
{
    using (var reader = new SqlCommand("SELECT * FROM Sales.Customer", sql).ExecuteReader())
    {
        var list = new List<CustomerDetached>();
        while (reader.Read())
        {
            list.Add(new CustomerDetached
            {
                CustomerID = (int)reader["CustomerID"],
                TerritoryID = (int?)reader["TerritoryID"],
                AccountNumber = (string)reader["AccountNumber"],
                CustomerType = (string)reader["CustomerType"],
                rowguid = (Guid)reader["rowguid"],
                ModifiedDate = (DateTime)reader["ModifiedDate"],
            });
        }
    }
});



Есть такое волшебное слово, как эмит, которое при маппингах может кешировать свойства. Даже рефлексия отдыхает. Что скажешь, человек? :)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846227
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ написал SELECT *
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846232
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSМСУ написал SELECT *
Точно. Таки ламер. :)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37846244
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что это похоже на вопли человека, авторитет которой поставили под сомнение. сделай рандомный выбор записей по бд и без кеша и результат в студию. Ты еще скажи что я цифры Console.WriteLine() написал. Ну что тебе мешает запустить мой тест на твоей бд?
Да и авторитет как ты сказал пионера, одного из основателей stackoverflow, опустить ваще не професионально.
...
Рейтинг: 0 / 0
25 сообщений из 155, страница 3 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]