Пожалуйста оставьте комментарий о том, что вы получили доступ к данному информационному ресурсу, в своем сообщении укажите адрес вашей электронной почты, которая будет использована для обмена информацией в будущем. Для этого пройдите процедуру регистрации и получите право комментировать наши сообщения. Для того, чтобы пройти регистрацию перейдите по указанной ссылке blogger.kg/registration/
Я не программист, но периодически приходится писать мелкие программки для собственных нужд. И иногда приходится работать с MySQL, который постоянно удивляет меня, не специалиста по SQL, всякими прикольными запросиками )
Вот последний пример — нужно тупо считать количество открытий различных страниц сайта. Создал табличку с двумя полями — идентификатор страницы и счётчик. Страниц много и они могут добавляться поэтому хотелось бы, чтобы строки с нужным идентификатором автоматически создавались при необходимости, т.е. чтобы не нужно было проверять наличие строки и, в зависимости от результата, либо делать инсерт, либо апдейт. Ну и чтобы счётчик накручивался сразу и без лишних действий, таких как — прочитать предыдущее значение, прибавить к нему 1 и записать новое значение.
Каким-то местом я почувствовал, что такое должно быть в MySQL, ну и действительно — всё это делается одним запросом:
insert into pages_views values (10,1) ON DUPLICATE KEY UPDATE shows=shows+1;
— вставить строку со значениями 10 (идентификатор страницы) и 1 (начальное значение счётчика), а если строка с таким уникальным ключом уже есть, то увеличить значение поля shows на 1.
В моём случае уникальным ключом является поле с идентификатором страницы.
Несколько лет назад однажды мне пришлось столкнуться с оптимизацией работы компьютеров в интернет-кафе. Правда по большей части в разрезе оптимизации самих ПК. (Тогда я еще не знал, что виндоус будет «летать» на них раз в несколько месяцев). Но в результате этого общения пришлось в той или иной мере обратить внимание на ужасной неудобный и постоянно выпадающий пиратский Локер.
Одним из наиболее «приятных» аспектов его использования были постоянные зависания самой программы и потери компов в сетке. Прикол в том, что Локер управлял компами по протоколу УДП, который работает без постоянного коннекта, и из-за огромной загрузки planet'овских switch'ей, компьютеры постоянно пропадали, напрягая меня, владельцев и манагеров игрового клуба. Именно тот момент родилась идея написать программу, которая работала бы по протоколу TCP, и вместо неуклюжего локеровского рабочего стола управляла обычным виндовым десктопом (отправляя при надобности процессы в заморозку или убивая их вообще).
После нескольких месяцев общения с С++билдером был написан собственно IPGuard — так называлась моя программа. Первоначально я его собирался продавать по сравнительно небольшой цене порядка 40$. И помимо клуба, для которого он первоначально разрабатывался, даже был продан еще другим покупателям. Но вот только унивеситет и другие «прелести» жизни помешали в то время вывести софтину на рынок — т.к. нужно было писать мануалы, организовывать саппорт и т.п., а на все это нужно было огромное количество времени.
В результата, до прошлого года в течение 4-х лет эта программа для администрирования интернет-кафе и компьютерных клубов банально лежала в загашнике и ждала своего времени. За это время появилось много конкурентов, и при том вполне приличных, но при этом весьма платных. Нарисовались и глючные, но фриварные решения. К сожалению, задача организации т.п., Стояла все так же ребром. А в ракурсе недостатка времени, было решено на него подзабить и вместо этого опубликовать программу в фриварный доступ и подготовить краткий фак. — Так и случилось в сентябре 2009-го.
Многие пользователи быстро разобрались с программой и даже разработали дополнения. Чем подтвердили, что, несмотря ни на что, программа очень и очень жива. И при этом ощутимо удобнее в обращении многих исключительно платных (и глючных) конкурентов. Для тех, кто желает ознакомиться с творением — адрес сайта бесплатной программы компьютерных клубов IPGuard ipguard.org.ua/.