Search
Write a publication
Pull to refresh
19
0
Андрей @Smol000

User

Send message

Regexp — это «язык программирования». Основы

Reading time4 min
Views26K
Несколько лет назад я думал, что regexp осуществляет линейный поиск по тексту, но какое моё удивление было, когда я понял, что это не так. Тогда я убедился на собственном опыте, что от простой смены местами а и b в схеме (...a...)|(...b...) поменялся полностью результат.

Поэтому сейчас я расскажу, как на самом деле работает regexp.
Поняв эти простые принципы и как оно работает, вы сможете писать любые запросы.
Для примера, я разберу сложную при первом приближении, но на самом деле простейшую задачу – выявление всех строк в кавычках.
Читать дальше →

Система управления задачами opentodo

Reading time1 min
Views6.3K
Приветствую!

Решил поделиться с сообществом своим проектом.
opentodo — система управления задачами, написанная на языке Python (Django Framework).

Возможно, по тем или иным причинам вам не подходят существующие системы наподобие Basecamp, Мегаплан и т.п. И вы хотели бы использовать более простое решение с открытым исходным кодом, которое вы сможете бесплатно установить на своем сервере в интернете или внутри сети компании, и при необходимости доработать под свои нужды. Тогда opentodo может заинтересовать вас.

Особенности

  • Простой, удобный интерфейс в стиле Gmail
  • Добавление задач, назначение ответственных и сроков выполнения
  • Возможность прикреплять файлы к задачам и проектам — скриншоты, документацию и т.п.
  • Жизненный цикл задач: Новая, Принята, Завершена, Одобрена
  • Цветовое кодирование задач в зависимости от статуса
  • Комментарии к задачам
  • E-mail уведомления
  • Управление пользователями с помощью стандартной панели администрирования Django
  • Разграничение доступа пользователей к проектам

Онлайн демо


Посмотреть в работе можно здесь: demo.opentodo.ru

Где скачать и как установить


Архив для загрузки и инструкция по установке доступны на странице проекта на Google Code:
code.google.com/p/opentodo

Исходный код под управлением системы контроля версий на сайте GitHub:
github.com/mgrigoriev/opentodo

Условия распространения: GNU General Public License v3.

Надеюсь, мой скромный проект для кого-то окажется полезным и поможет в организации работы :)

P.S. Спасибо участникам дискуссионной гугл-группы django russian, а также всем, кто прокомментировал пост на design.leprosorium.ru, за отзывы и ценные советы по улучшению opentodo.

UPD: убедительная просьба — полегче в демо! Анонимность не оправдывает вандализм :)

Масштабируемая картинка на фоне сайта

Reading time4 min
Views20K
Задача:
Дизайнер нарисовал макет страницы, на заднем фоне которой была картинка. Я сначала было решил, что это фон который увеличивается по ширине в зависимости о разрешения монитора.
Но не тут то было. Дизайнер настаивал на то, что это масштабируемая картинка, которая сужается / растягивается при изменение окна приложения и по ширине и по высоте.
Заранее предупредив заказчика – что картинка будет грузиться 1 и в максимальном разрешении – его определили как 1600, приступил к работе.
Смотрим что получилось ...

Обзор Jabber-клиентов для мобильных телефонов с поддержкой Java (J2ME)

Reading time2 min
Views20K
В последние время многие решили перейти на Jabber. И тут же возникает вопрос какой Jabber клиент выбрать для мобильного телефона? Не так давно был обзор существующих решений для Symbian 9. К сожалению, смартфоны есть не у всех — поэтому представляю краткий обзор Jabber-клиентов для мобильных телефонов с поддержкой Java.

Читать дальше →

Создание сайта из готовых компонентов на примере сайта заказа еды в офис

Reading time14 min
Views8.7K
В окрестностях нашего офиса нет приличного общепита, поэтому обеды нам привозят на заказ из одного кафэ. Заказ осуществляется за день (на понедельник заказ делается с пятницы), по телефону, с перечислением всех блюд и их количества (в случае если заказ не изменился относительно вчерашнего достаточно просто сказать это). Как компания, занимающаяся разработкой ПО, преимущественно веб, мы до недавнего времени жили по принципу «Сапожник без сапог», и весь учет заказов велся ответсвенным за заказ еды человеком на листочке, в случае изменения заказа нужно было писать письмо этому ответственному человеку, а он уже пересчитывал общий заказ.

Выкроив немного свободного времени в перерыве между проектами реализовал (именно реализовал, а не написал — почему именно так, расскажу немного ниже) систему для заказа еды. За основу, как нетрудно догадаться исходя из тематики блога, была взята CMS Drupal, которая является моим основным инструментом уже около полутора лет.

Цели данного топика:
  • Показать новичкам на довольно простом примере, как создается сайт невысокой сложности на CMS Drupal
  • Кратко расказать про несколько основных модулей — как правило они применяются в 90% проектов на друпале
  • Показать как можно собрать сайт на друпале из готовых компонентов, не написав при этом ни одной строчки кода (на самом деле будет пара строк кода, но немного не в том виде, как он обычно пишется =))


Итак, что должно быть реализовано в проекте:
  • Меню — список блюд, разделенных на категории, с возможностью описания блюд
  • Индивидуальные заказы — пользователь может сделать и заказ, просмотреть его содержимое и изменить
  • Сводный заказ — список всех заказаных пользователями блюд с указанием их количества
  • Возможность делиться впечатлениями о блюдах — тут просто возможность комментирования и рейтингования

Поехали

Как получить PMP за 2 месяца и уложиться в 24000р

Reading time2 min
Views27K
Сегодня я делал краткую презентацию на работе по профессиональному развитию + сертификации и сразу после презентации понял, чего я не сделал. Я забыл задать 2 простых вопросам участникам:
  • Вас устраивает ваша должность и зарплата?
  • А что Вы делаете такого что не делают остальные чтобы Вас повысили/увеличили зарплату?
Читать дальше →

Поиск драйверов для неизвестных устройств в windows

Reading time2 min
Views7.9K
Думаю вы не раз встречались с ситуацией, когда не могли найти драйвера к некоторым устройствам в ОС Windows. В диспетчере устройств эти железки гордо именуются «Неизвестное устройство». Хочу вам продемонстрировать мой метод решения подобных ситуаций и две истории успешного его применения.

Сразу скажу, что платформу Windows я знаю плохо, поэтому и решение подобной проблемы может быть гораздо более простым — достаточно приобрести программу которая расскажет вам все о железной начинке вашего компьютера.

Итак, первая история. Когда то давно я приобрел IrDA-USB адаптер для связи с телефоном Nokia и с Windows XP он работал. Прошло время, появился ноутбук с Windows Vista, и нужно было данные с телефона скопировать для сохранности. И тут выяснилось, что адаптер не работает с драйверами, которые шли на диске. На сайте производителя (Tekram) свежего драйвера под Vista не обнаружилось, но в то же время адаптер прекрасно работал под Linux, чем я и воспользовался.

Все знают, что пластиковая оболочка многих устройств с гордым логотипом производителя на деле скрывает под собой чип, который используется в сотнях подобных устройств. Linux не смотрит на логотип, Linux работает с чипами, и вывод dmesg и lspci, lsusb наглядно показывает где следует искать драйвера.

Итак, я вставил адаптер в Linux машину и посмотрел вывод lsusb:

Bus 007 Device 002: ID 9710:7780 MosChip Semiconductor MS7780 4Mbps Fast IRDA Adapter

На сайте производителя за пару минут я нашел требуемое — драйвер под Windows Vista, который заработал.

Следующий пример — сервера HP ML110G5. HP поддерживает для этой серии установку Windows Server 2003, и ничего более. В то же время сервера брались под весьма кривую систему, которая иначе как под Windows XP не запускалась. Как вы понимаете на сайте HP драйверов под Windows XP не было, а техподдержка вторично недвусмысленно выразилась, что подобная связка не поддерживается.

И снова Linux, а именно Slax, нам помог, lspci вывел наименование чипсета, драйвера под который мы успешно скачали с сайта Intel.

Вообще Linux успешно помогает работать с Windows сетями, и эти два случая демонстрируют лишь одну малую возможность применения. К примеру разворачивать новые компьютеры в сети мне привычнее при помощи partimage или dd, так как я не считаю возможным пользоваться нелицензионным ПО, а покупать Norton Ghost, когда я прекрасно обхожусь без него, это растрата средств работодателя.

Обновление: в комментариях можно найти другие решения этой частной проблемы.

Вышел PCSX2 0.9.6 — эмулятор PS2 для PC

Reading time1 min
Views3.4K
После 16-ти месяцев разработки вышел новый релиз свободного эмулятора PlayStation 2 для PC.
— Переписано большая часть кода. Множество улучшений производительности и оптимизаций, многие популярные игры теперь должны работать.
— Полная поддержка карт памяти, работает во всех играх
— Переписан многопоточный режим (MTGS), что дало до 15% увеличения производительности на HT машинах и 3-5% на Dual Core.
-Улучшена поддержка CD/DVD
— а так же многое другое

О работоспособности той или иной игры в эмуляторе можно узнать на официальном сайте в разделе COMPATIBILITY
msi инталлятор для Windows
Бинарные сборки для Linux и исходники можно найти здесь

Официальный сайт

5 способов улучшить ваш CSS

Reading time3 min
Views4.4K
imageПрактически любой человек сможет написать CSS-код, в наше время любая программа сделает это за вас. Но будет ли это хороший CSS? Далее представлены пять советов по совершенствованию вашего CSS
Читать дальше →

Регистрация ООО — «одно окно». Нюансы

Reading time5 min
Views1.1K
Итак, разберем по частям регистрацию компании на примере общества с ограниченной ответственностью (ООО) на упрощенной системе налогообложения. В подробности вдаваться не буду, описания этого процесса можно найти, а вот некоторые нюансы можно узнать только из своего, блин, жизненного опыта. Подробнее:
Нужно подать документы в ФНС № 46 (список документов в яндексе). Мой совет — запишитесь на подачу, узнайте телефон (www.n46.ru) и запишитесь. Вы сэкономите кучу времени и нервов.
Через неделю вам отдадут документы в составе: 2 свидетельства, копии устава и учредительного договора, что-то еще и вот тут начинается самое интересное.

Поехали!

Читать дальше →

DNS Amplification (DNS усиление)

Reading time6 min
Views95K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →

Памятка дизайнеру сайтов

Reading time10 min
Views246K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

К сожалению огромная армия даже опытных, «модных» и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не только «супер-скриншот» годный только для портфолио.

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

Читать дальше →

Удаленный DoS телефонов Nokia S60 при помощи SMS/MMS

Reading time1 min
Views1.4K
На 25-ой конференции Chaos Communication Congress Tobias Engel продемонстрировал публике найденную уязвимость в телефонах Nokia, которой подвержены следующие модификации телефонов:
  • S60 2nd Edition, Feature Pack 2
  • S60 2nd Edition, Feature Pack 3
  • S60 3rd Edition, Feature Pack 1
  • S60 3rd Edition (initial release)
Воспользоваться уязвимостью можно набрав специальным образом написанную СМС, никакого дополнительного программного обеспечения не требуется.
Самые серьезные последствия получения таких СМС будут для телефонов 2FP3/3FP1. Эти телефоны перестанут отправлять и получать SMS/MMS, после чего единственным выходом из данной ситуации является хард-ресет.
Описание уязвимости: http://berlin.ccc.de/~tobias/cos/s60-curse-of-silence-advisory.txt
Видео: https://berlin.ccc.de/~tobias/cos/s60-curse-of-silence-demo.avi

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity