Pull to refresh
0
0
miros @miros

User

Send message

Задачка для знатоков MySQL

Reading time1 min
Views589
Добрый день, вот столкнулся с задачей, простой с виду, но для решения которой нужно хорошенько пошевелить мозгами :)

Итак: имеем следующую таблицу:
id rating place
1 86 NULL
2 5 NULL
3 5 NULL
4 41 NULL
5 1 NULL
6 91 NULL


Нужно проставить место (place) в рейтинге каждой записи, базируясь на баллах (rating), причем, если баллы совпадают — использовать вторичный признак (в данном случае — id). В результате нужно получить следующую таблицу:

id rating place
1 86 5
2 5 2
3 5 3
4 41 4
5 1 1
6 91 6


Важное замечание: ответом должен являться один запрос UPDATE (вложенные SELECT запросы использовать можно).

Жду предложений :)
Total votes 12: ↑5 and ↓7-2
Comments4

AJAX + XML + XSLT или новый взгяд на AJAX

Reading time5 min
Views772
Года полтора назад встала проблема в динамическом генерировании HTML кода. Отстраивать HTML посредством DOM слишком громоздко и код получается большой, подгружать сгенерированный HTML на сервере, не очень красивое и харкодное решение.
Было принято решение искать альтернативный способ генерации HTML.
И оно было найдено: AJAX + XML + XSLT.
НА стороне сервера лежит XSLT шаблон, скрипт который генерирует XML (или XML файл). НА стороне клиента посредством AJAX загружается XML и XSLT и преобразуется в HTML
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments11

Используем графический интерфейс в bash-скриптах

Reading time2 min
Views7K
Многие пользователи Linux рано или поздно сталкиваются с bash-скриптами. До недавнего времени я не знал как можно использовать графический интерфейс в скриптах. Оказывается очень просто.

Возможно для вас это не будет чем то новым, но я думаю найдутся те, кому это пригодится.

Мы будем использовать библиотеку zenity (ещё есть kdialog ). У меня она была уже установлена. Набираем в консоли zenity --help или man zenity.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments3

InviteShare — получи свой инвайт

Reading time1 min
Views526
InviteShare — это сообщество более чем 120000 пользователей, которые могут поделиться друг с другом инвайтами на бета-версии различных сайтов. В настоящее время в списке InviteShare перечислено 53 сайта, на которые Вы можете получить инвайт. Для этого Вы должны зарегистрироваться, выбрать заинтересовавший Вас сервис и добавить свой адрес в список. Если у кого-то есть свободные инвайты для выбранного Вами сервиса, то он отправит вам приглашение.

P.S. На Хабре данный проект упоминался давно и в рамках другого топика. Я подумал, что он заслуживает отдельного топика.

UPD: Хабрачеловек kurokikaze привел ссылку на еще один подобный проект — Mashable Invites.
Total votes 43: ↑33 and ↓10+23
Comments41

Введение в поиск по тексту

Reading time5 min
Views3.1K
Наверное любой программист хоть раз в жизни стоял перед задачей поиска в строке какой-нибудь подстроки. Когда-то столкнуться с этим пришлось и мне. С тех пор это дело мне весьма полюбилось. Не сказать, что я в этом многого достиг, но останавливаться не собираюсь.
Потому и решил написать, но, чтоб начать более или менее плавно, вступление сделать в виде нескольких вводных статеек по основам текстового поиска.

читать дальше
Total votes 59: ↑57 and ↓2+55
Comments16

Объединение двух интернет каналов в один.

Reading time1 min
Views1.9K
image

Пол года мучал знакомого сисадмина вопросом объединения двух каналов в инет. Он собирался собрать сервер на Линуксе для этого. Потом эксперементировал с Асусом 500 — там можно тоже Линукс конфигурировать и службы запускать. В общем долго байда длилась :( Пока я сам в Сеть не полез вопрос провентилировать.

И вот: DI-LB604
Express EtherNetwork 4-х портовый маршрутизатор c функцией распределения нагрузки и 2мя WAN портами.

Спешу поделиться с вами радостью. За 3000 рэ вы поимеете отличный девайс, который поможет:
— объединить два канала в Интрнет
— сбалансирует нагрузку по каналам
— в случае падения одного из каналов автоматичски перераспределит нагрузку (т.е. каналы являются резервными друг для друга)

Про остальные его возможности читайте на сайте производителя: www.dlink.ru DI-LB604.

D-Link респект и уважуха!
Total votes 53: ↑41 and ↓12+29
Comments32

Understanding node.js

Reading time4 min
Views10K
Node.js обычно вызывал у людей, которым я о нём рассказывал, две различные реакции. В основном они воспринимали его «как есть», однако многие были сбиты с толку.

Если вы относитесь ко второй группе, я попробую объяснить, что же такое Node.js:
  • Это инструмент командной строки. Вы скачиваете архив, компилируете и устанавливаете его.
  • Это позволит вам выполнять программы на JavaScript, набрав 'node my_app.js' в терминале.
  • JavaScript выполняется движком V8 (тем самым, благодаря которому так быстро работает Google Chrome).
  • Node.js предоставляет API для доступа к сети и файловой системе из JavaScript.
Вам хочется чего-то большего? Тогда прошу заглянуть под кат и продолжить чтение
Total votes 95: ↑91 and ↓4+87
Comments48

Расшарьте свой локальный веб-сервер в Интернете с помощью localtunnel

Reading time1 min
Views15K
Иногда во время тестирования веб-приложений может понадобится доступ к ним снаружи (то есть из публичного Интернета). Например некоторые API используют коллбеки.

В таком случае можно создать обратный SSH-туннель чтоб расшарить свой локальный сервер. Но для этого нужен доступ к публично доступной машине с SSH и нужными портами открытыми на фаерволе.

Но не всегда найдется такая машина, и влом покупать VPS или что-то в этом роде. В таком случае localtunnel — как раз то что надо.

localtunnel — инструмент специально предназначеный для того чтоб временно расшарить локальный веб-сервер в Интернете. Он работает как клиент к публичному сервису обратного туннелирования с открытыми исходниками.

Использовать его очень просто:

localtunnel 8080

Эта команда сделает локальный сервис на порту 8080 доступным на порту 80 на домене который выведет утилита.

Конечно перед использованием все-таки надо устанавить и настроить программу.
Установка для всех пользователей:

sudo gem install localtunnel

После этого при первом запуске нужно указать свой публичный ключ для аутентификации:

localtunnel -k ~/.ssh/id_rsa.pub 8080

Если у вас нет готовых ключей для SSH, их можно сгенерировать такой командой:

ssh-keygen -t rsa

Больше информации (на английском) и исходники – на Гитхабе.

UPD: Вышенаписанное справедливо для Unix-систем. В Windows наверное может работать через Cygwin.
Total votes 69: ↑55 and ↓14+41
Comments61

Клиентские Windows приложения на JavaScript

Reading time4 min
Views22K
Хочу рассказать про один интересный способ создания приложений на JavaScript с родным виндовым GUI.

Вообще, существует куча разных вариантов написания виндовых приложений на JavaScript:
  1. HTA и WSH — HTML Applications и Windows Script Host — это, вероятно, самые известные технологии. HTA фактически представляет собой HTML страницу с расширенными правами в системе — возможностью лазить в сеть, гадить в реестр, файловую систему и подключать к этим делам ActiveX. С использованием HTA сделаны многие компоненты самой Windows.
  2. .NET Framework — этому вообще по барабану, на чем вы пишете, лишь бы итогом был MSIL. Возможно, JScript.NET вместе с Windows.Forms могут вызвать у кого-то ощущение родного виндового интерфейса. Лично меня они совсем не радуют — ни визуально, ни скоростью.
  3. XULRunner — framework от Mozilla предлагает Gecko вместо IE, XpCOM вместо COM/ActiveX. Это всего за 20 мегабайт оверхеда.
  4. wxJavascript — известная кросс-платформенная библиотека wxWidgets теперь и для JavaScript. Все это благодаря JS-движку SpiderMonkey от Mozilla и стараниям одного бельгийца. Кстати, этот же уважаемый — автор mod_js для Apache.

Ввиду того, что все вышеописанное уныло, громоздко и требует изучения, предлагаю рассмотреть еще один вариант — WSO.
Читать дальше →
Total votes 45: ↑31 and ↓14+17
Comments39

JavaScript, AJAX, Socket и Flash/ActionScript — исследуем вопрос передачи данных в AJAX-приложениях

Reading time8 min
Views5.5K
socket_1667_128Как то в последнее время я начал активно повышать свои навыки и знакомиться не только и не столько с новыми технологиями. Например, я уже более-менее освоил Java, а именно — занимаюсь сетевыми сервисами. Также начал работать с ActionScript 3, хотя мое мнение относительно применимости в AJAX-приложениях Flash-компонентов не изменилось — их надо использовать там, где они дают максимальное преимущество, а вот вся «обвязка», например, интерфейс пользователя, можно сделать при помощи стандартных технологий. При разработке AJAX-приложений у разработчика есть достаточно большой выбор для решения задачи обмена данными с сервером. В основном, общение с сервером заключается в…
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments44

ActionWeb. Асинхронный интернет.

Reading time7 min
Views1.4K
С момента первого упоминания об AJAX в статье Джесси Джеймса Гарретта «Новый подход к разработке веб- приложений» 18 февраля 2005 года прошло уже 4 года. За это время наверно каждый веб- разработчик хоть раз испробовал эту технологию, и теперь обычного пользователя интернет уже не удивить динамической валидацией форм, автодополнением запросов в строке поиска, всплывающим контекстным меню и прочими ещё недавно диковинными вебдванольными интерактивными радостями, а современные JavaScript фрэймворки делают процесс разработки таких скриптов на порядок быстрей, эффективней и приятней для программиста. Но почему до сих пор подавляющее большинство разрабатываемых веб- сайтов придерживаются стандартной модели загрузки контента и не перешли полностью на AJAX платформу? Зачем каждый раз перезагружать всю страницу при нажатии на внутреннюю ссылку, когда нужно изменить только блок контента, а JavaScript файлы, CSS и большая часть HTML разметки не требует обновления?
Читать дальше →
Total votes 73: ↑38 and ↓35+3
Comments22

Первый проект на symfony, часть 1

Reading time11 min
Views27K
Ну что, начнем? Давайте напишем какой-нибудь небольшой, но законченный проект. Выделим на это ровно 1 час. Предлагайте название. Книжный магазин? Если других идей нет, то будем писать блог :)
Читать дальше →
Total votes 58: ↑48 and ↓10+38
Comments74

использование JSON в Ruby on Rails, плюс пример var_dump на Javascript

Reading time2 min
Views6.5K
В этой статье я поведаю тебе %username%, как работать с JSON, а так же как вывести дамп любой переменной javascript для дебага.

Сначала немного теории. И так, основываясь на определение взятом с Wikipedia.
JSON — это текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.
Читать дальше →
Total votes 12: ↑5 and ↓7-2
Comments9

Как отправлять уведомления с сайта по SMS?

Reading time3 min
Views88K
На днях озаботился доставкой SMS уведомлений с нашего сайта по абонентскому обслуживанию компьютеров в Киеве, пользователи создают тикеты, администраторы должны уведомляться о проблеме у клиента моментально.

Уже сейчас работает уведомление по e-mail, icq.
Но как быть, если администратор в дороге, и не имеет доступа к почте и мессенджеру? Нужно сделать уведомление SMSкой. Это будет полезно как админу, так и пользователю, т.к. последний сможет уведомиться об обработке его проблемы/заявки.

Читать дальше →
Total votes 55: ↑47 and ↓8+39
Comments79

Пуленепробиваемый HTML: 37 шагов к идеальной разметке

Reading time11 min
Views19K
Примечание: это не полный перевод статьи. Я выбрал только самые интересные лично для себя пункты. Статья не претендует на свежесть, но возможно даже люди хорошо знакомые с версткой найдут для себя что-то интересное. Статья затрагивает некоторые аспекты семантики верстки с конкретными примерами.

Под катом много букв! Чтоб не потеряться в их обилии все пункты выделены заголовками.
Читать
Total votes 144: ↑135 and ↓9+126
Comments83

JS Charts — генератор графиков и схем.

Reading time1 min
Views15K
image
JS Charts является бесплатным JavaScript-генератором графиков и схем, который требует минимум знаний программирования. С JS Charts рисование диаграмм становится простой и легкой задачей. Он не требует никаких дополнительных плагинов и серверных модулей. Просто подключите скрипты, подготовьте данные для схемы в XML или массиве JavaScript и ваша таблица готова.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments33

Создаём парсер для ini-файлов. Теория

Reading time3 min
Views29K
Эта статья задумывалась как наглядное сравнение двух схожих библиотек для создания парсеров: Boost Spirit для C++ и Parsec для Haskell. Потом я решил, что лучше разбить статью на 3 части. В первой части я расскажу как написать контекстно-свободную грамматику для описания содержимого ini-файла.
Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments25

DSL и динамические вкусности Ruby

Reading time5 min
Views13K
В этой статье я проиллюстрирую основные возможности Ruby для построения Domain Specific Languages(DSL). DSL, это небольшие, узкоспециализированные языки для решения конкретных задач. В отличие от языков общего назначения, таких как C++ или Java, DSL обычно очень компактны, и обладают высокой выразительностью в контексте решаемой задачи.

Различные DSL широко распространены в библиотеках и фреймворках для Ruby. Например в Rails DSL используются для создания миграций.

А теперь, давайте посмотрим какие возможности Ruby предоставляет для построения DSL
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments43

Запуск Ruby on Rails приложений на shared-хостинге на примере баг/таймтрекера Redmine

Reading time2 min
Views6K
Для своего нового проекта я как раз сейчас устанавливаю рабочее окружение, и ключевое место в нем занимает баг/таймтрекер+wiki. Платные реализации извесны (тот же Basecamp, Fogbugs, updatelog.com), но хотелось найти что-то что хостится на моём сервере. Из извесного и хорошо работающего — это Bugzilla (с очень скромным функционалом), Trac(есть все, но только 1 проект), и вот только что наткнулся на «новый» проект (около 3-х лет ему) — Redmine. Практически аналог вышеупомянутых платных сервисов, но бесплатный. Проблема для меня в том, что он написан на Ruby On Rails, и как оказалось деплоймент ROR приложений может быть не слишком простым (по крайней мере для таких новичков в этом деле как я). Так как хостинг не специализируется на Ruby, Passenger-а нету. В конечном итоге оказалось что это все не так уж и сложно :-)

Читаем дальше
Total votes 15: ↑13 and ↓2+11
Comments46

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity