Vizakenjack #141 30 июля 2012 серьезный бэнчмарк, как я погляжу Сколько конкретно профита то? Канал про крипту Поделиться сообщением Ссылка на сообщение
rubish #142 30 июля 2012 серьезный бэнчмарк, как я погляжу Сколько конкретно профита то?ну профит стремится к нулю. а в чем конкретно я облажался? ты так и не сказал Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Kant #143 30 июля 2012 а кзд вообще что имел ввиду в своем вопросе про player = null аа, всё. Я строчку не заметил Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #144 30 июля 2012 (изменено) вот для визы. static void Main(string[] args) { DateTime dt = DateTime.Now; int a; for (int i = 0; i < 100000000; i++) { a = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); dt = DateTime.Now; for (int i = 0; i < 100000000; i++) { int b = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); Console.Read(); } такой код в первый раз выводит меньшее число. какой-то ты странный программист... если возвращать null, то придется везде ставить проверки на null дальше по коду или все повалится к ебеням. Уж лучше тогда кинуть эксепшен типа UserNotFoundException и нормально его обработать. Вообще return null; это в 99 случаях из 100 антипаттерн. Так же ни в одном из моих примеров нет двойной инициализации объекта.ну тогда можно до проверки инициализировать конструктором по умолчанию. твой код выглядит как минимум нелепоПо поводу нелепости кода, я бы по крайней мере не стал такого писать, изначально чувак спросил как можно поправить код, а не переписать его. Какой смысл создавать лишний объект если условие не выполнится? Так же не вижу смысла каждый раз создавать новый объект если пользователя нет. Твой подход как минимум хуёв. Создание нового экземпляра пустого объекта как минимум в 4 раза дольше, чем переиспользование существующего, а уж если еще какая-то логика выполняется...Написал бенчмарк даже: Изменено 30 июля 2012 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
МЕДОВАЯ ВТАРКА #145 30 июля 2012 толстые оконные рамки детектед Поделиться сообщением Ссылка на сообщение
rubish #146 30 июля 2012 вот для визы. static void Main(string[] args) { DateTime dt = DateTime.Now; int a; for (int i = 0; i < 100000000; i++) { a = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); dt = DateTime.Now; for (int i = 0; i < 100000000; i++) { int b = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); Console.Read(); } такой код в первый раз выводит меньшее число. какой-то ты странный программист... если возвращать null, то придется везде ставить проверки на null дальше по коду или все повалится к ебеням. Уж лучше тогда кинуть эксепшен типа UserNotFoundException и нормально его обработать. Вообще return null; это в 99 случаях из 100 антипаттерн. Так же ни в одном из моих примеров нет двойной инициализации объекта.ну тогда можно до проверки инициализировать конструктором по умолчанию. твой код выглядит как минимум нелепоПо поводу нелепости кода, я бы по крайней мере не стал такого писать, изначально чувак спросил как можно поправить код, а не переписать его. Какой смысл создавать лишний объект если условие не выполнится? Так же не вижу смысла каждый раз создавать новый объект если пользователя нет. Твой подход как минимум хуёв. Создание нового экземпляра пустого объекта как минимум в 4 раза дольше, чем переиспользование существующего, а уж если еще какая-то логика выполняется...Написал бенчмар даже:отличный бенчмарк. только в реальной системе память выделяется 1 раз и в том и в том случае. Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #147 30 июля 2012 вот для визы. static void Main(string[] args) { DateTime dt = DateTime.Now; int a; for (int i = 0; i < 100000000; i++) { a = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); dt = DateTime.Now; for (int i = 0; i < 100000000; i++) { int b = 1; } Console.WriteLine((DateTime.Now - dt).Milliseconds); Console.Read(); } такой код в первый раз выводит меньшее число. какой-то ты странный программист... если возвращать null, то придется везде ставить проверки на null дальше по коду или все повалится к ебеням. Уж лучше тогда кинуть эксепшен типа UserNotFoundException и нормально его обработать. Вообще return null; это в 99 случаях из 100 антипаттерн. Так же ни в одном из моих примеров нет двойной инициализации объекта.ну тогда можно до проверки инициализировать конструктором по умолчанию. твой код выглядит как минимум нелепоПо поводу нелепости кода, я бы по крайней мере не стал такого писать, изначально чувак спросил как можно поправить код, а не переписать его. Какой смысл создавать лишний объект если условие не выполнится? Так же не вижу смысла каждый раз создавать новый объект если пользователя нет. Твой подход как минимум хуёв. Создание нового экземпляра пустого объекта как минимум в 4 раза дольше, чем переиспользование существующего, а уж если еще какая-то логика выполняется...Написал бенчмар даже:отличный бенчмарк. только в реальной системе память выделяется 1 раз и в том и в том случае.Если нет разницы, объясняй почему второй вариант работает в 4 раза дольше. Поделиться сообщением Ссылка на сообщение
МЕДОВАЯ ВТАРКА #148 30 июля 2012 (изменено) Подожди-ка, я не понялПочему второй вариант дольше?И там и там динамическое выделение памяти new Изменено 30 июля 2012 пользователем МЕДОВАЯ ВТАРКА Поделиться сообщением Ссылка на сообщение
rubish #149 30 июля 2012 потому, что ты выделяешь память в куче каждый раз в цикле, а во втором случае ты выделяешь память при инициализации типа, а потом просто присваиваешь ссылку в цикле, что естественно дешевле. вот только в реальной системе тебе не надо будет делать это так часто. и если ты параноик, что безусловно плохо - то ты можешь выделить память в конструкторе типа, но вот только ридонли будет только ссылка, а вот значения ид и имени ты сможешь изменять когда захочешь Подожди-ка, я не понялПочему второй вариант дольше?И там и там динамическое выделение памяти new в первом случае память выделяется 1 раз при инициализации типа (первое обращение к типу) Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
rubish #150 30 июля 2012 ну и вообще если быть честным - то если ты запрашиваешь из базы данных несуществующую сущность - то лучше вернуть налл.т.к. в любом случае придется проверять вернул ли что-нибудь запрос или нет и проверять по тому, что id = 0 ни чем не лучше, чем проверять по тому, что объект указывает на налл Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #151 30 июля 2012 ну и вообще если быть честным - то если ты запрашиваешь из базы данных несуществующую сущность - то лучше вернуть налл.т.к. в любом случае придется проверять вернул ли что-нибудь запрос или нет и проверять по тому, что id = 0 ни чем не лучше, чем проверять по тому, что объект указывает на наллне знаю как в шарпе, но в java в таком случае можно сравнить объект по ссылке просто с нулевыми потерями. То есть если ты вернул EMPTY_PLAYER, то можно сравнить с помощью == на equals. Да и вообще, не просто же так придумали Null Object, может вы всегда юзаете проверки на null, но это треш и угар. Я бы по крайней мере сделал такое (пишу на шарпе всего неделю, не пинай сильно ): class LeaguePlayer { private int _id; public virtual int id { private set { if(id > 0) _id = id; } get { return _id; } } private string _name; public virtual string name { set { _name = name; } get { return _name;} } private LeaguePlayer() { } public LeaguePlayer(int uid) { this.id = uid; } public readonly static LeaguePlayer EMPTY_PLAYER = new EmptyLeaguePlayer(); private class EmptyLeaguePlayer : LeaguePlayer { public override int id { get { return -1; } } public override string name { set { throw new NotSupportedException("Not supported for EMPTY_PLAYER"); } get { return "EMPTY"; } } } } Поделиться сообщением Ссылка на сообщение
Kolya.Ebashu #152 31 июля 2012 (изменено) как в win forms сделать чтобы время шло на форме?через DataTimePicker только в настоящий момент получается, а надо чтобы оно шло вперед как на компе Изменено 31 июля 2012 пользователем Kolya.Ebashu Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #153 31 июля 2012 как в win forms сделать чтобы время шло на форме?через DataTimePicker только в настоящий момент получается, а надо чтобы оно шло вперед как на компеЗапустить в отдельном потоке, не, не слышал. Поделиться сообщением Ссылка на сообщение
Kolya.Ebashu #154 31 июля 2012 как в win forms сделать чтобы время шло на форме?через DataTimePicker только в настоящий момент получается, а надо чтобы оно шло вперед как на компеЗапустить в отдельном потоке, не, не слышал.все верно, поэтому спросил Поделиться сообщением Ссылка на сообщение
KotZhilkina #155 31 июля 2012 объединять объявление переменной с присваиванием - моветон.ситуативнокакой смысл этого не делать, если у тебя гарантировано следующей строчкой будет MyClass = new MyClass();юзлессэто тоже моветон private LeaguePlayer GetPlayerByQuery(string Query) { commmand.CommandText = @"SELECT player_id, access, name, voucher, ban_type, ban_admin, ban_reason, ban_date, ban_until, wins, loses, points, streak, rep, leader, lastseen, location, reason, roles, current_game, points_thisweek, points_lastweek, date, access_date, access_admin, title, title_position, achievements " + Query; LeaguePlayer player = new LeaguePlayer(); MySqlDataReader Reader = commmand.ExecuteReader(); if (Reader.Read()) { player = new LeaguePlayer(); player.PlayerID = Convert.ToInt32(Reader["player_id"]); player.Access = Convert.ToInt32(Reader["access"]); player.Name = Reader["name"].ToString(); player.VoucherID = Convert.ToInt32(Reader["voucher"]); ... bla-bla-bla } Reader.Close(); return player; } предложишь какую-нибудь альтернативу кроме "LeaguePlayer player = null"?тебе все дмитрийцифры написал, но ты бы вообще начал с того, что if (Reader.Read()) это вообще пиздец. а если у тебя запрос больше одной строчки вернет? Публикация отключена Поделиться сообщением Ссылка на сообщение
Letanir #156 31 июля 2012 (изменено) Для поднятия качества обратной связи с клиентами сайта нужно создать форму обратной связи. Форма должна находиться на отдельной странице с относительным адресом /feedback/. Должны быть поля:ФИО (обязательное поле);e-mail и телефон (обязательно одно поле);сообщение (обяхательное поле). Если пользователь залогинен, то нужно подставить значения ФИО и e-mail.Т.к. страница кэшируется на сервере полностью, то данные нельзя просто подставить в поле на сервере, а необходимо загрузить их ajax-ом при открытии страницы. Для загрузки нужно использовать обработчик (ashx). Для доступа к данным залогиненого пользователя нужно использовать класс UserHelper. При всех обязательных полях и правильном их заполнении нужно отправлять письмо с ними и датой на мыло Вот то, что выделено - я совсем не понимаю, что именно нужно делать, у меня есть aspx страница, где находится форма для отправки данных, у меня есть данные о текущем пользователе, но как их так хитро закинуть в контролы, как от меня требуют? =\Начальник ушел, спросить не у кого, а сидеть ничего не делать - не вариантАх, да. ASP.NET =\ Изменено 31 июля 2012 пользователем Letanir Поделиться сообщением Ссылка на сообщение
Kant #157 31 июля 2012 объединять объявление переменной с присваиванием - моветон.ситуативнокакой смысл этого не делать, если у тебя гарантировано следующей строчкой будет MyClass = new MyClass();юзлессэто тоже моветон private LeaguePlayer GetPlayerByQuery(string Query) { commmand.CommandText = @"SELECT player_id, access, name, voucher, ban_type, ban_admin, ban_reason, ban_date, ban_until, wins, loses, points, streak, rep, leader, lastseen, location, reason, roles, current_game, points_thisweek, points_lastweek, date, access_date, access_admin, title, title_position, achievements " + Query; LeaguePlayer player = new LeaguePlayer(); MySqlDataReader Reader = commmand.ExecuteReader(); if (Reader.Read()) { player = new LeaguePlayer(); player.PlayerID = Convert.ToInt32(Reader["player_id"]); player.Access = Convert.ToInt32(Reader["access"]); player.Name = Reader["name"].ToString(); player.VoucherID = Convert.ToInt32(Reader["voucher"]); ... bla-bla-bla } Reader.Close(); return player; } предложишь какую-нибудь альтернативу кроме "LeaguePlayer player = null"? тебе все дмитрийцифры написал, но ты бы вообще начал с того, что if (Reader.Read()) это вообще пиздец. а если у тебя запрос больше одной строчки вернет?ну он возьмет только первую строку и всё. Ему норм. Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #158 31 июля 2012 Для поднятия качества обратной связи с клиентами сайта нужно создать форму обратной связи. Форма должна находиться на отдельной странице с относительным адресом /feedback/. Должны быть поля:ФИО (обязательное поле);e-mail и телефон (обязательно одно поле);сообщение (обяхательное поле). Если пользователь залогинен, то нужно подставить значения ФИО и e-mail.Т.к. страница кэшируется на сервере полностью, то данные нельзя просто подставить в поле на сервере, а необходимо загрузить их ajax-ом при открытии страницы. Для загрузки нужно использовать обработчик (ashx). Для доступа к данным залогиненого пользователя нужно использовать класс UserHelper. При всех обязательных полях и правильном их заполнении нужно отправлять письмо с ними и датой на мыло Вот то, что выделено - я совсем не понимаю, что именно нужно делать, у меня есть aspx страница, где находится форма для отправки данных, у меня есть данные о текущем пользователе, но как их так хитро закинуть в контролы, как от меня требуют? =\Начальник ушел, спросить не у кого, а сидеть ничего не делать - не вариантАх, да. ASP.NET =\Пиздец, горе программист, в гугле что ли забанили? Нашел на первой же странице по запросу ashx то что надо: http://usanov.net/776-sozdaem-ashx-xendler-v-aspnet Поделиться сообщением Ссылка на сообщение
Letanir #159 31 июля 2012 (изменено) Пиздец, горе программист, в гугле что ли забанили? Нашел на первой же странице по запросу ashx то что надо: http://usanov.net/77...endler-v-aspnetЭто я читал. Ну я могу написать хэндлер сам по себе, как его к странице то готовой привязать?Если ты мне выдашь другую классную ссылку, где будет написано, что надо в вебконфиге прописать, то и это я уже делал.Плюс это лишь половина вопроса, суть больше в передаче данных конкретным элементам. Уж я всегда вначале в гугл лезу Бтв, домой пришел, тут привязка работает Беда все еще осталось, как с помощью такого хэндлера, при помощи ajax, можно изменять элементы страницы? Изменено 31 июля 2012 пользователем Letanir Поделиться сообщением Ссылка на сообщение
bonzo #160 31 июля 2012 Пацаны, кто сидит на koding.com поделитесь инвайтом. А то не успел к раздаче на хабре, регу временно прикрыли. Поделиться сообщением Ссылка на сообщение