Регулярные выражения в JavaScript
Продолжая тему регулярных выражений (см. mtaalamu.ru/blog/coding/1083.html, mtaalamu.ru/blog/coding/1083.html), несколько слов хотелось бы сказать о том, как они используются в популярнейшем языке программирования клиентских приложений. На JavaScript я программирую довольно редки и не много, т.к. GWT, на котором я разрабатываю веб-странички, позволяет обходиться без него. Но на днях потребовалось решить такую задачу.
( Читать дальше )
В текстовое поле вводится строка для поиска (поиск карточки пациента поликлиники в базе данных). Строка может быть 5-значным числом, специальным идентификатором (три буквы + две цифры) либо фрагментом слова кириллицей. Требуется отфильтровать ввод в это поле, чтобы формой обрабатывался только введенный текст, соответствующий одному из этих условий, а в остальных случаях выводилось сообщение об ошибке.
( Читать дальше )
- +4
- 21 августа 2010, 11:30
- комментировать
Маленькие секреты MD5
Алгоритм MD5 — одно из величайших и полезнейших достижений компьютерной мысли и, конечно же, в командной строке Linux есть инструменты для работы с ним. Однако пользоваться ими нужно с умом. Вот, например, специально созданная утилита md5sum:
Если вы обратили внимание — в конце вычисленного хэша стоит минус. Зачем он нужен — ума не приложу. От этого глюка свободна другая последовательность:
Как видим, результат тот-же, но без всяких лишних минусов.
У самых внимательных камрадов может возникнуть вопрос: зачем в обоих примерах ключ -n у команды echo? Он удаляет символ перевода строки, которым заканчивается вывод команды echo по умолчанию. Попробуйте без этого ключа, и вы увидите, что хэш получается совсем другой:
echo -n blablabla | md5sum
1a36591bceec49c832079e270d7e8b73 -
Если вы обратили внимание — в конце вычисленного хэша стоит минус. Зачем он нужен — ума не приложу. От этого глюка свободна другая последовательность:
echo -n blablabla | openssl md5
1a36591bceec49c832079e270d7e8b73
Как видим, результат тот-же, но без всяких лишних минусов.
У самых внимательных камрадов может возникнуть вопрос: зачем в обоих примерах ключ -n у команды echo? Он удаляет символ перевода строки, которым заканчивается вывод команды echo по умолчанию. Попробуйте без этого ключа, и вы увидите, что хэш получается совсем другой:
echo blablabla | openssl md5
d1bf8fc6af9166875316587ad697a719
- +8
- 19 августа 2010, 22:48
- 14
Создаем сокеты и серверы за считанные секунды
В Linux с сокетами (сетевыми соединениями) можно работать как с файлами. Например, зная, что на порту 3333 компьютера с IP-адресом 192.168.0.200 ждет запросов некий сервер, можно послать ему информацию точно так же, как мы записали бы ее в обычный файл:
Может случиться так, что на компьютере отсутствует псевдоустройство /dev/tcp (или /dev/udp). В таком случае его легко создать командой:
(от имени корневого пользователя, конечно же).
( Читать дальше )
echo 'Hello, Mtaalamu!' > /dev/tcp/192.168.0.200/3333
Может случиться так, что на компьютере отсутствует псевдоустройство /dev/tcp (или /dev/udp). В таком случае его легко создать командой:
mknod /dev/tcp c 30 36
(от имени корневого пользователя, конечно же).
( Читать дальше )
- +13
- 12 августа 2010, 00:04
- 3
Джеймс Гослинг ёрничает
Создатель языка Java продолжает злорадствовать над своим врагом — компанией Oracle, совершающей один «прокол» за другим. На этот раз после выхода обновления JDK 1.6.0_21, в котором впервые значение поля «Фирма-изготовитель» было изменено с «Sun Microsystems» на «Oracle Inc». Может поэтому, может еще по какой причине, но у пользователей IDE Eclipse (в версиях от 2007 года до свежайшей), программа, автоматически обновившись, перестала работать (OutOfMemoryError).
«Можно было бы сказать, что это диверсия», — пишет Гослинг в своем блоге, — «но, к сожалению, это всего лишь глупость». При этом пост сопровождается вот таким смайликом:
Оригинал здесь.
«Можно было бы сказать, что это диверсия», — пишет Гослинг в своем блоге, — «но, к сожалению, это всего лишь глупость». При этом пост сопровождается вот таким смайликом:
Оригинал здесь.
- +10
- 03 августа 2010, 01:39
- 9
Groovy + bash: двойная мощь
Groovy — скриптовой язык, т.е предназначен для сиюминутных решений. Такое же назначение и у bash. Жаль только синтаксисы их уж совсем разные. Однако, как оказалось, два эти языка можно совместить элегантным образом.
( Читать дальше )
( Читать дальше )
- +9
- 27 июля 2010, 15:48
- 2
Бесконечный проигрыватель
В деле проигрывания mp3-файлов, кажется, не осталось белых пятен, но я таки решил внести свои 5 копеек.
Вот решил человек, скажем, послушать музыку. Что в этом деле самое сложное? Технические вопросы вынесем за скобки, проигрывателей сейчас — на любой вкус. Самое сложное находится вне сферы IT. Самое сложное — составить хороший плэй-лист. Такой, чтобы хватило на несколько часов, пока вы, скажем, клеите обои в квартире. Вот такую задачу я и решил на коленке с помощью языка Groovy.
( Читать дальше )
Вот решил человек, скажем, послушать музыку. Что в этом деле самое сложное? Технические вопросы вынесем за скобки, проигрывателей сейчас — на любой вкус. Самое сложное находится вне сферы IT. Самое сложное — составить хороший плэй-лист. Такой, чтобы хватило на несколько часов, пока вы, скажем, клеите обои в квартире. Вот такую задачу я и решил на коленке с помощью языка Groovy.
( Читать дальше )
- +9
- 27 июля 2010, 03:05
- 4
Документация по Java
Выложил на свой домашний сервер docs.yababay.ru/ документацию по некоторым Java API:
* JDK 1.6
* JavaFx
* Google Web Toolkit
* Apache Ant
* Groovy
* OpenDS
Не гарантирую режим работы 24/7, но сервер включен в течение почти всех суток с небольшими (на 2-3 часа) перерывами.
* JDK 1.6
* JavaFx
* Google Web Toolkit
* Apache Ant
* Groovy
* OpenDS
Не гарантирую режим работы 24/7, но сервер включен в течение почти всех суток с небольшими (на 2-3 часа) перерывами.
- +10
- 25 июля 2010, 23:34
- 2
Регулярные выражения: как это понимать
Занимаясь IT уже более 10 лет, твердо уяснил: следует не гоняться за модным, а постигать вечное. Лучше тратить время не на поиск «классненьких программок», а на освоение фундаментальных концепций, таких как сетевые протоколы, классические языки программирования вроде C, XML, SQL, ну и, конечно же, regexp — синтаксис регулярных выражений. О последнем и пойдет речь под катом.
( Читать дальше )
( Читать дальше )
- +10
- 23 июля 2010, 17:34
- 5
Groovy: простая работа с регулярными выражениями
Много есть аргументов как в поддержку языка программирования Groovy, так и против него. Но один мне кажется бесспорным: работать с регулярными выражениями — одно удовольствие (если, конечно, отвлечься от сложности самой темы регулярных выражений).
( Читать дальше )
( Читать дальше )
- +5
- 21 июля 2010, 16:23
- 3
Как работает виртуальная машина Java
Не мог пройти мимо этого ролика: камрад очень толково разъясняет матчасть.
miniGeekFest 30042010 02 java min from golodnyj on Vimeo.
miniGeekFest 30042010 02 java min from golodnyj on Vimeo.
- +1
- 16 июля 2010, 16:13
- комментировать