- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
<?php
if(!isset($_GET['conn'])) { $conn = "yes";}
else {$conn = $_GET['conn'];}
if(!isset($_GET['kat'])) { $kat = $kateg[0];}
else {$kat = $_GET['kat'];}
if(!isset($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if(isset($_GET['torgi_id'])) $torgi_id = $_GET['torgi_id'];
// Устанавливаем соединение с базой данныъ
require_once("../config.php");
// Формируем и выполянем SQL-запрос на удаление записи в таблице users
$query = "DELETE FROM torgi
WHERE torgi_id=".$_GET['torgi_id'];
mysql_query($query);
$query = "DELETE FROM news
WHERE torgi_id=".$_GET['torgi_id'];
if(mysql_query($query))
{
// Осуществляем автоматический переход на страницу администрирования
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?conn=$conn&kat=$kat&start=$start'>
</HEAD>";
}
else puterror("Ошибка при обращении к таблице документов");
?>
в целом весь проект состоит из одних Injection. На последок автор демонстриует оригинальный редирект.
Проект очень известный и этот код до сих пор крутится в бою)
CHayT 06.09.2015 23:22 # +2
самое большое говно -- в архитектуре СУБД
вот нехуя делать текстовые Machine-Machine интерфейсы? немогли зделать язык запросов protobuf-ом каким
родина дала им бинарные протоколы -- не хочу, хочу склеивать строки и потом выковыривать сгуху
roman-kashitsyn 07.09.2015 12:32 # +3
Вероятно, причина в том, что SQL изначально планировался как исключительно человеко-машинный интерфейс для домохозяек.
3.14159265 07.09.2015 15:49 # +3
А получилось как всегда.
defecate-plusplus 07.09.2015 19:37 # 0
>> создать объект со структурой запроса
в котором так же задекларировать, что необходимо получить, а не как?
в эпоху хибернейтов уже хинты помирают, куда уж тут эффективно управлять движком СУБД в каждом запросе
а если претензии именно к синтаксису, так уже 21 век на дворе, куча адаптеров и всех этих jpql linq assparallel, а то, что этого нет в пыхе - вопросы к пыхе
зы. в нормально настроенной субд стоимость парсинга очередного входящего запроса близка к нулевой - обычно уже всё разобрано, закешировано, оптимальные планы построены, меняются только парам-пам-параметры
CHayT 07.09.2015 20:13 # +2
а в тех самых инъекциях, которые получаются от смешения управляющих структур и данных
ну да, можно там чего-то экранировать, но зачем делать дырку, чтобы её потом мужественно латать силами клиента
клиент по-хорошему должен непосредственно AST запроса лепить из структур своего языка, а не макроёбское текстовое говно
bormand 07.09.2015 20:13 # +1
linq
CHayT 07.09.2015 20:27 # 0
defecate-plusplus 07.09.2015 22:18 # 0
>> ну да, можно там чего-то экранировать
хватит мыслить категориями похапе и ````mysql```` и подобного ОП говна
ничего не надо экранировать, данные биндятся к запросу нативными средствами субд
олсо приведи примерный синтаксис объектного sql, и расскажи чем он будет существенно отличаться от 40-летнего языка для домохозяек
CHayT 07.09.2015 22:46 # 0
как ещё мыслить в контексте данного говнокода?
> примеры
примеры -- в ветке выше (linq)
(я, если что, не гуру SQL, а mnesia-хипстота)
defecate-plusplus 07.09.2015 22:50 # 0
спасибо, перечитай теперь ещё раз тот пост, на который ты ответил, и найди там эти 4 буквы
bormand 07.09.2015 20:31 # +1
В отладке более-менее удобно. Хотя те портянки, которые генерят ORM'ы, перед сном лучше не читать...
kegdan 08.09.2015 10:07 # 0
Vasiliy 09.09.2015 13:06 # 0
3_14dar 09.09.2015 21:31 # 0
Vasiliy 10.09.2015 12:28 # 0
3_14dar 10.09.2015 13:04 # 0
guest 11.09.2015 09:14 # 0
3_14dar 11.09.2015 09:59 # 0
roman-kashitsyn 10.09.2015 12:31 # 0
3_14dar 10.09.2015 13:04 # 0
bormand 10.09.2015 17:17 # 0
Другой вопрос - насколько. Имхо, на фоне проца, дисков и т.п. - на сраные копейки, которых не заметишь.
3_14dar 10.09.2015 17:24 # 0
Ну мы здесь кагбе не теорией занимаемся, так что да - важно насколько. Алсо, если память есть но простаивает - стоит она столько же.
bormand 10.09.2015 17:52 # 0
3_14dar 11.09.2015 02:01 # 0
defecate-plusplus 11.09.2015 09:47 # 0
что за влажные фантазии
http://goo.gl/nGMkR5
По данным поисковика вакансий Adzuna.de, одной из самых высокооплачиваемых сфер остается сфера информационных технологий. Средняя брутто-зарплата в отрасли составляет 54 949 евро в год. Программист С++ может рассчитывать на 52 375 евро в год, программист Java - на 51 250 евро в год, специалист SQL - 50 000 евро в год. Специалисты системы SAP зарабатывают в среднем 54 351 евро, веб-дизайнеры - 52 878 евро, специалисты по работе с социальными медиа - порядка 50 000 евро в год.
сам разделишь 60000/12 месяцев/20 дней в месяце/8 часов в дне
потом ещё налоги вычти, чтобы понять, сколько же он на самом деле получает
так что порядка 48 евро это, скорее, базис для оценки стоимости проекта, куда, кроме ФОТ, включены косты на аренду офиса, амортизацию компов и мебели, электричество опять же дорогое в гермашке, ну и включена какая-никакая норма прибыли
никакой речи о том, что работодатель платит ещё больше
мы тоже так предложения на проекты считаем, по цене 2800руб/час за любого специалиста, даже техписа (~40 евро в час)
но это совсем не значит, что тех пис зарабатывает 480к руб в месяц, и и ещё и доплачивают ему чего-то
3_14dar 11.09.2015 09:58 # 0
Тебе, руснявому, виднее.
Мне это рассказывал одногрупник, который работал фрилансером (это не удаленка, как у вас, а скорее найм по проектам). Так вот время за собственно программирование ему оплачивалось так. Он в GWT шарил.
работодатель платит еще больше = он дополнительно налоги платит
48 - это брутто
>мы тоже так предложения на проекты считаем, по цене 2800руб/час за любого специалиста, даже техписа (~40 евро в час)
>но это совсем не значит, что тех пис зарабатывает 480к руб в месяц, и и ещё и доплачивают ему чего-то
Не пойму, вы заказчиков наебываете, что ли?
defecate-plusplus 11.09.2015 10:09 # 0
точка зрения зависит от того, покупаешь ты или продаёшь
3_14dar 11.09.2015 18:29 # 0
defecate-plusplus 11.09.2015 18:36 # 0
у нас достаточно контор-"партнеров" из благополучной швеции, чтобы понять, что мы просто невинные зайки на их фоне и стоим для заказчиков раза в 2-3 дешевле
кому ты тут заливаешь
сходи уже устройся в SAP, узнай, сколько стоит стандартный кусок говна, написанный полутора калеками, для заказчика
3_14dar 11.09.2015 20:20 # 0
Это скорее не ко мне.
Неужели и здесь завышают реальные затраты на работников в несколько раз?
>и стоим для заказчиков раза в 2-3 дешевле
Ну эт как бы понятно.
>сходи уже устройся в SAP
Упаси господь.
defecate-plusplus 11.09.2015 22:15 # 0
я вообще отказываюсь от проектов, в которых нет как минимум 2 концов, да и это попадает в абсолютный унисон с нашей бесперебойной машинкой по притаскиванию новых дорогих проектов
при этом, уверяю тебя, к нам очередь
в сегменте "дорого и охуенно" спрос приличный, на хлеб с икрой хватает
3_14dar 11.09.2015 22:35 # 0
>2 концов
Что это?
3_14dar 12.09.2015 20:33 # 0
defecate-plusplus 13.09.2015 11:46 # 0
2 конца - это когда ты получаешь прибыль 100% от внутренних затрат.
прикидываешь грубо, что косты твои на разработку составят миллионов 5 с запасом, и заявляешь минимум 10 (а ещё лучше - больше).
конечно, иногда бывают стратежные проекты, которые делаются с видом на большие прибыли будущих периодов, и они могут делаться чуть ли не бесплатно, но жрать то и в текущем году надо, и премии платить хорошие, и учредителям показывать прибыльность подразделения
если ты веб-студия, на вордпрессе клепающая интернет-магазины на конвеере для простых заказчиков, то у тебя тут гораздо больше ремесла, чем творчества (т.е. гораздо точнее можно прикинуть сроки и косты), и на фоне высокой конкуренции ты обязан демпинговать, то там норма прибыли может быть и существенно меньше - процентов 30
> на западе манагеры получают чуть ли не меньше проггеров.
смотря что вкладывать в понятие манагер.
если ты администратор проекта (есть такая роль), и твое дело просто качественно вести учет документации, вести протоколы совещаний, то, естественно, любой мидл разработчик будет получать больше
3_14dar 13.09.2015 11:52 # 0
Что за название - 2 конца?
defecate-plusplus 13.09.2015 11:55 # +1
3_14dar 13.09.2015 12:50 # 0
defecate-plusplus 13.09.2015 13:07 # 0
одна из моих задач (на самом деле это частично роль пресейла) - посчитать целесообразность эту потребность решать, стоимость, сроки, риски
когда сейл работает хорошо, можно и повыбирать
наш работает очень хорошо, поэтому далеко не каждому проекту я даю зеленый свет
Vasiliy 11.09.2015 10:14 # 0
А мне одногруппник рассказывал, что на хую тебя вертел. И да он работал фрилансером.
Мне ему тоже верить?
3_14dar 11.09.2015 18:28 # 0
Vasiliy 11.09.2015 20:08 # 0
3_14dar 11.09.2015 20:18 # 0
Vasiliy 11.09.2015 21:19 # 0
3_14dar 11.09.2015 21:24 # 0
3_14dar 11.09.2015 21:25 # 0
bormand 10.09.2015 17:19 # 0
3_14dar 10.09.2015 17:25 # 0
roman-kashitsyn 10.09.2015 17:27 # +1
>если задача требует больше памяти, то она и проца больше жрёт
И это, и другое.
Если хорошо подумать, то RAM может и сыкономить немного энергии. Наверняка ведь вращение HDD будет требовать ощутимо больше энергии, чем доступ к RAM. Если получится сильно сократить кол-во обращений к HDD за счёт увеличения RAM, возможно, будет даже незначительная польза.
В общем, утверждение было слишком категоричным, мерить надо.
3_14dar 10.09.2015 17:53 # 0
>сыкономить
ссыкономить
bormand 10.09.2015 17:56 # 0
3_14dar 10.09.2015 17:57 # 0
bormand 10.09.2015 17:58 # 0
Spindle Speed - 7,200 RPM
Power - Operating 8.0W, Idle 5.4W, Standby .75W
И это ещё не high performance диск. А самый обычный.
3_14dar 10.09.2015 18:00 # 0
roman-kashitsyn 10.09.2015 18:13 # 0
А на фоне энергопотребления современных cpu это вообще всё копейки.
Вывод: экономим циклы и оптимизируем использование процессорного кэша, пишем на C++.
bormand 10.09.2015 18:45 # 0
Оффтоп - на выходных с первой зарплаты всё-таки куплю себе SSD. Посмотрим, насколько шустрее станет комп (если станет, лол).
1024-- 10.09.2015 20:01 # 0
расскажите потом, интересно
bormand 10.09.2015 20:02 # 0
Не надо ко мне обращаться на вы, я от этого чувствую себя пиздец старым...
1024-- 10.09.2015 20:14 # 0
3_14dar 11.09.2015 01:59 # +2
3_14dar 11.09.2015 01:59 # 0
bormand 12.09.2015 15:52 # 0
Ну бубунта быстрее поставилась, быстрее грузится, проги мгновенно запускаются в первый раз (во второй они и без SSD мгновенно запускались, ибо кеш).
Но вау-эффекта не было, т.к. и до этого всё работало шустро и отзывчиво.
Потом на ноуте попробую. Вот там впечатлений должно быть на порядки больше из-за уёбищного ноутбучного 5400-оборотника и более слабого проца. Но разбирать ноут так влом (там чтобы винт снять надо всё разобрать)...
bormand 12.09.2015 20:01 # 0
3_14dar 12.09.2015 20:30 # 0
3_14dar 12.09.2015 20:29 # 0
Где ты такое говно нашел? Я отсек не закрывал и его можно ногтем вытащить
На HDD бывает, когда что-то интенсивно работает с диском (своп/просто работа) и из-за этого все тормозит. На SSD такого никогда не было, но, сука, когда тупил фокс - вис реально рабочий стол. Спрашивается - зачем я SSD покупал?
Что за модель купил?
bormand 12.09.2015 20:43 # 0
Ну это совсем бюджетный ноут. Брал чтобы не жалко было разъебать/потерять в дороге... Ну и пока пеку не привезли попуткой этот ноут меня неплохо выручал...
> Что за модель купил?
a-data sp920 на 256 гиг
> своп
16 гиг рамы ;) Что такое своп?
3_14dar 12.09.2015 22:55 # 0
Какое это отношение имеет? У меня ноуты с мусорки годов 2005-2007, в обоих винт достается на раз-два-три. Есть совсем древний, его нужно разобрать полностью - но там корпус всего на 6 винтах.
>Что такое своп?
На этот ноут ты въебашил 16 гигов? Значит, не такой он уж и старый.
>a-data sp920 на 256 гиг
Вроде не самый дешевый. Чем знаменит?
bormand 12.09.2015 23:14 # 0
> чем знаменит
Достаточно дешевый и шустрый. Ну и не на читерском сэндфорсе, который хорошо сжимаемые сектора быстро пишет, а с рандомными данными не дружит.
3_14dar 12.09.2015 23:27 # 0
bormand 12.09.2015 23:52 # 0
А на десктопе третья.
Наверное на десктопе ссд и оставлю. Один фиг я не люблю ноуты и юзаю их только когда других вариантов нет.
3_14dar 12.09.2015 23:56 # 0
bormand 12.09.2015 23:59 # 0
3_14dar 13.09.2015 00:26 # 0
Еще проблема с фрагментацией пропала. На том самом найденном компе когда было занято гиг 100 из 120 - у некоторых файлов была скорость чтения в метр/с (!!!), из-за этого загрузка уровней невъебенно тормозила, пока я не нашел проблему. На SSD этого, понятно, не будет.
bormand 13.09.2015 00:40 # 0
Ну а с фрагментацией х.з. У линуксовой ext она не сильно проявляется.
3_14dar 13.09.2015 05:55 # 0
А линупс типа в 100 раз меньше фрагментируется?
bormand 13.09.2015 07:06 # 0
Просто пишут, что там раза в 4 запись тупить начинает. Может быть просто в реальной жизни незаметно потому что пишешь мало?
линупсовые екст3-4 фрагментируются меньше. У них там достаточно хитрый аллокатор, который старается куски одного файла держать поближе друг к другу, даже если подряд не получится.
3_14dar 13.09.2015 09:02 # 0
А как это проверить?
>Просто пишут, что там раза в 4 запись тупить начинает.
Ах вот оно что, у меня же SATA150.
Как вообще сделать бенч записи с графиками, а не только суммарными цифрами? Бенч чтения я делал HD TUNE, он показывал весьма хуёвые данные, но это уже особенность моего Samsung SSD 840 evo
> У них там достаточно хитрый аллокатор, который старается куски одного файла держать поближе друг к другу, даже если подряд не получится.
И это типа не фрагментация?
Главная проблема у меня там, как я считаю - фрагментация свободного места. Поставил игру/записал сейв - он получается неебически фрагментированным. ext тут себя как-то по-другому ведет?
bormand 13.09.2015 10:09 # 0
Башка у винта меньше прыгает, и больший шанс, что винт уже прочитал этот фрагмент заранее и вернёт из кеша. Плюс там вся метаинфа (inode) распределённая и валяется поближе к самим файлам, а не в начале диска.
Если до упора забивать - это безвыходная ситуация, с которой ни одна фс не справится. А вот если до такого не доводить - ext3 почти не фрагментируется (после нескольких лет работы с заполнением диска где-то на 50% было 0.3% фрагментированных файлов, в среднем по 1.5 фрагмента). А вот fat/ntfs даже полупустой диск умудряются превратить в кашу...
3_14dar 13.09.2015 11:07 # 0
Ну хз насколько это помогает, все равно придется ждать еще и поворота винта (не знаю насколько это актуально), в любом случае скорость падает в разы. Заполненность диска я называл - из 120 гб свободно было кажется 15-20 гигов.
>fat/ntfs
Да ты охуел объединять фат/нтфс.
Что сука интересно, дефрагментация нортоном вообще никак не спасала. Спасла миграция на винт побольше (400 гб, характеристики те же) + копирование каталогов с удалением старых. А я уже думал купить карту на гигабит и запускать игори с наса.
bormand 13.09.2015 11:27 # 0
А там, кстати, походу, в этом районе технологии сильно вперёд скакнули. Тесты я не гонял, но по ощущениям, когда я перелез с 160 на 400 отзывчивость и скорость резко поднялись.
3_14dar 13.09.2015 11:59 # 0
bormand 13.09.2015 10:22 # 0
Емнип - да. Он не будет затыкать свежим файлом все свободные дырки, как это любит делать ntfs.
P.S. Скорее всего, когда диск забьётся почти полностью, это приведёт к дичайшей фрагментации последних файлов. Но пока система полупустая - всё ровненько и красиво.
bormand 13.09.2015 10:36 # 0
А у тебя он хоть как AHCI зацеплен? Или в говнорежиме эмуляции IDE? Судя по XP, боюсь, что второе.
3_14dar 13.09.2015 11:04 # 0
bormand 13.09.2015 11:34 # 0
Это же один из первых дисков, где TLC стали юзать?
К примеру, один из них получил при считывании файла шестимесячной давности объёмом 8,5 Гбайт скорость на уровне всего 31,8 Мбайт/с, что, конечно, позор даже для механических жёстких дисков даже не самого последнего поколения.
О_о
3_14dar 13.09.2015 12:00 # 0
bormand 13.09.2015 12:02 # 0
3_14dar 13.09.2015 12:48 # 0
http://forum.ixbt.com/topic.cgi?id=11:45385-15#470
3_14dar 13.09.2015 13:11 # 0
defecate-plusplus 10.09.2015 18:58 # 0
а цифры-то сами где?
я вот чего нарыл по 1.5V модулям
http://www.kingston.com/us/business/server_solutions/power_benchmark
при 1.2V можно ожидать, что жрут они upto 20% меньше (хотя во всех маркетинговых материалах указано, что на 40% упало потребление, но мы-то знаем)
3_14dar 11.09.2015 05:00 # 0
myaut 07.09.2015 23:34 # 0
P.S. Мы базу strace'ом однажды трейсили, а чо -- все запросы видны )
3.14159265 07.09.2015 23:43 # +1
Ведь SQL это не просто язык, это хуева туча не сильно совместимых друг с другом диалектов, для каждого из которых нужен драйвер и специальная прослойка на уровне языка...
> Мы базу strace'ом однажды трейсили
То что база внутри себя может выдавать человекочитабельные дебаги, не сильно коррелирует её способом взаимодействия с внешним миром (через громоздкие текстовые конструкции или через бинарный протокол).
3_14dar 10.09.2015 17:25 # 0
nik757 21.09.2015 19:01 # 0
$query=«SELECT address FROM table_routers WHERE ((id='$_GET[i]') AND (password='$_GET[p]'))»;
$adr=mysql_query($query) or die (mysql_error());
$router=mysql_fetch_assoc($adr);
echo $router[address];
http://habrahabr.ru/post/267293/