Search
Write a publication
Pull to refresh
1
0
bashor @bashor

User

Send message

Что мне нравится в Redmine

Reading time4 min
Views131K
В недавней статье об инструментах управления проектами был задан вопрос о различиях Trac и Redmine. Ниже перевод довольно субъективной, но вполне аргументированной статьи о различиях между этими системами.

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

Named Capturing Group и Backreferences

Reading time3 min
Views6.5K
Данная заметка не предназначена для начинающих изучать регулярные выражения, для начинающих я бы посоветовал книгу Ben Forta "Teach Yourself Regular Expressions in 10 Minutes" (ISBN: 0-672-32566-7).

Для тестирования и отладки регулярных выражений идеально подходит программа RegexBuddy (http://www.regexbuddy.com). Чтобы отлаживать следующие примеры нужно во вкладку Test скопировать HTML какой-либо страницы или вбить несколько тегов самим.

Задача — найти в HTML все теги IMG и вытащить из тегов значения атрибутов SRC и ALT.

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

Основы BASH. Часть 2

Reading time6 min
Views373K
Основы BASH. Часть 2.
Извиняюсь за такую большую задержку между статьями, но сессия дает о себе знать в самый неподходящий момент :)
Всем спасибо за замечания, критику и дополнения, которые были озвучены в комментариях к прошлой статье.
Эта часть, как и обещал, будет посвящена циклам, математическим операциям и использованию внешних команд.
Начнем.
Читать дальше →

Пишите письма

Reading time4 min
Views3.8K
Что должен уметь менеджер проектов? Ничего особенного, все то же что и все менеджеры, русским языком говоря, управляющие. Уметь планировать свою и чужую деятельность, расставлять приоритеты, предвидеть и учитывать риски… Это все, так или иначе, оговаривается в различных стандартах по управлению проектами.

А еще он должен уметь писать. А еще лучше — любить писать. Статьи, презентации, инструкции и много еще чего… И письма! Если вас «повысили» до PM из программистов, смотрите на писанину, как на данное вам Богом утешение за то, что вы надолго, может быть и на всю оставшуюся жизнь, расстались с исходным кодом и языками програмирования. Отнесемся к этой работе творчески, полюбить ее в наших интересах. Воздастся, уверяю.

Итак, напишем письмо заказчику.
Читать дальше →

Недостартап, рунет.

Reading time2 min
Views676
Всем привет. Ненавижу недоделанные проекты, ненавижу надписи вроде «оставте ваш email тут и мы вас известим…» итп. Однако, данный проект, возможно, будет кому-то полезным. Т.к. денег на его развитие пока нет, показываю что есть.
http://whoisyou.ru, если кто заинтересовался инвестированием — изучайте 404 страницу проекта. Их там много =)
Идея родилась давно. Поддерживал несколько больших проектов, которых постоянно парсили. Найти IP не проблема, но понять по IP кто это был — интересней, но сложнее. Все мои попытки найти ip2domain сервис ничем не кончились =( Сделать свой подобный сервис тогда казалось бредом, пинговать 2 миллиона доменов…
Читать дальше →

Загрузка JavaScript-файлов. Решаем проблему Ctrl-F5

Reading time15 min
Views27K
Все мы знаем сотню способов загрузки скриптов. У каждого свои плюсы и минусы.

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

Цели: модульность разработки, быстрота загрузки, валидный кэш.
Бонус: индикатор загрузки

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

UPD 2. Для тех кто не дочитывает до конца (я вас прекрасно понимаю), в концовке сказано, как всё можно сделать намного проще.
Вместо core.633675510761.js писать core.js?v=633675510761. И там же указано, почему всё же написано так много.

UPD 3. В комментариях от david_mz, WebByte прозвучало предложение для обработки запроса использовать не JSHandler, а urlrewrite.

Как сделать чтобы пользователь не нажимал Ctrl-F5, чтобы обновить ваш скрипт?

Декоративные и значимые элементы в дизайне интерфейсов

Reading time3 min
Views1.3K
Перевод статьи "Distinguishing decorative from meaningful elements in UI design".

Как дизайнеры интерфейсов мы хотим, чтобы наши работы хорошо выглядели и были понятными. Каждый элемент на экране должен ласкать взор, и в то же время, интерфейсы — это не просто объекты. Они должны работать. Интерфейсы должны представлять информацию и ясно указывать возможные направления действий. Эти две стороны — сексапильность и функциональность, привлекательность и простота, оформление и значимость — они часто сосуществуют у опытного дизайнера. Но по-прежнему существует опасность конфликта между тем, как это по нашему мнению должно выглядеть и тем, как это будет воспринято пользователем (им бы только о клиентах (customers), нет чтобы о людях подумать… — мысль вслух пер.). Недавно я обратил внимание на такого рода противоречие между оформлением и значением на сервисе GitHub.

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

Планарий. Легкое управление делами

Reading time2 min
Views1.2K
image Еще с момента поступления в университет я был постоянно в раздумьях о том, что дел-то как-то много стало, и в голове держать их все вместе сложно, поэтому пора уж заняться планированием. Было перепробовано множество способов, начиная с ежедневника и аутлука, заканчивая всевозможными сайтами. И чаще всего, тот или иной инструмент не устраивал по ряду причин.
Читать дальше →

Firebug: Part 4 — profiling

Reading time2 min
Views2.9K
Как хороший код поможет избежать отладки в дебаггере, так он же поможет вам никогда не применять навыки, полученные в этой статье.
Если на вашем сайте у вас «умирает» браузер от перегрузки javascript'ом, то вам просто необходимо это прочитать(и применить тоже).

Весь цикл: Console, Commands, Debugging ,Profiling

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

Квест «В поисках сокровищ 21-го века»

Reading time3 min
Views900


Раньше в поисках сокровищ, приключений и славы люди отправлялись в немыслимые путешествия, полные смертельных опасностей и трудностей, преодолевали горы, моря и пустыни, сражались и брали врагов хитростью, чтобы в конечном итоге где-то на краю земли обрести вожделенное богатство…

Времена изменились, общество стало более цивилизованным и развитым, а сокровища, некогда спрятанные или утерянные богачами и пиратами, почти все найдены…

В XXI веке наибольшая ценность для человека – информация. Владеющий нужной информацией может заполучить если не все, то очень многое! А что в наше время является самым масштабным хранилищем всей возможной информации? Правильно – Интернет!

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



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

Мотивация менеджеров проектов

Reading time3 min
Views14K
Довольно много написано о мотивации программистов, и как-то маловато информации о мотивации менеджеров. Итак, тезис: в IT-аутсорсе отсутствует мотивация менеджеров проектов. Вообще.

UPD: Перенес в Менеджмент проектов. Спасибо за карму!

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

Кроссбраузерная одноцветная полупрозрачность

Reading time3 min
Views13K
В этой статье я рассмотрю метод создания блоков с одноцветным полупрозрачным фоном.
Например, таких:


Сразу оговорюсь, что я не буду использовать opacity и абсолютное позиционирование, чтобы разместить контент поверх полупрозрачного блока.
Читать дальше →

Начало научной карьеры (часть 2)

Reading time5 min
Views6.7K
Вторая часть «Начала» будет посвящена тому, как можно «влиться» в структуру зарубежного университета на уровне бакалаврской или магистерской программы.

Перед тем, как приступить к основному блоку, хочу немного уточнить главное послание предыдущей части. Человек, собирающийся делать карьеру учёного в России, вероятно, догадывается, что его зарплата будет ниже, чем у коллег из Германии или США. Но не все знают, что наш научный процесс в большинстве случаев отделён от «общемирового» (разумеется, есть яркие исключения, всё-таки не при железном занавесе живём). Я не говорю сейчас, хорошо это или плохо. Просто сей факт необходимо знать и принимать во внимание.
Читать дальше →

«Hello, World!» на Qt

Reading time6 min
Views93K
Qt — это кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, Ruby — QtRuby, Java — Qt Jambi, PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
В этой статье я покажу как написать простую программу «Hello, World!» с использованием библиотеки Qt4
Итак, приступим

Принципы usability для CMS

Reading time4 min
Views2.1K
Ни разу не слышал, чтобы наши (читай: совковые) вендоры коробочных CMS заказывали usability тестирование своих продуктов. Напрашивается два основных вывода:
  1. Usability этих систем и так на высоте! В каждой компании есть свои usability специалисты, которые принимают участие в разработке на всех стадиях развития продукта – организуют тестирования, дают рекомендации, экспертную оценку и т.д. В таком случае это UDD – User-Driven Development.
  2. Usability этих систем по-взрослому сосет. Программеры делают функционал. Дизайнеры делают дизайн. Маркетинг делает продажи. Программер думает об эклипсе. Дизайнер думает о фотошопе. Маркетолог думает о пауерпоинте. Ну а конечный пользователь периодически задумывается обо всех трех сразу – об их интеллекте, сексуальной ориентации и месте произрастания их передних конечностей. Это методология AUDD – Anti-User-Driven Development или Angry User Driven Development.
Если вам известны компании, которые работают по первой схеме, то дайте знать. На ребят, делающих все по второй схеме, я насмотрелся вдоволь, поэтому считаю полезной для всеобщего ознакомления публикацию «11 usability principles for CMS products» за авторством James Robertson. Далее позволю себе привести вольный пересказ списка из одиннадцати принципов CMS usability, которые выделяет Джеймс, с моими комментариями.
Читать дальше →

Советы для работы в Linux с флешки

Reading time4 min
Views19K
После покупки Asus eeePC и установки туда линукса я задумался о продлении срока службы встроенных ssd-дисков. В поисках по интернету я нашел интересную статью, в которой описано как это можно сделать. Статья мне очень понравилась и я решил сделать ее перевод.
Читать дальше →

Начало научной карьеры (часть 1)

Reading time4 min
Views18K
Всем доброго времени суток!

Замечаю, что темы, связанные с образованием и наукой на Хабре достаточно популярны. Я тоже решил внести свой небольшой вклад в развитие этого направления. На сей раз речь пойдёт о том, как в принципе выглядит университетская карьера, какие в ней имеются особенности, сложности и подводные камни.
Читать дальше →

GridStack ­— Пример практического применения flex+bison

Reading time31 min
Views11K
В последнее время на Хабре появились несколько статей, посвящённых грамматическому разбору выражений.
И это замечательно! По моему скромному мнению, каждый программист должен хоть раз в жизни написать разбор выражения. Постараюсь и я внести свою лепту в общее дело.

Методов разбора существует множество (рекомендую следующий обзор Dick Grune, Ceriel J. H. Jacobs — Parsing Techniques: A Practical Guide, ISBN 0-13-651431-6). Причём реализации методов варьируются от полностью ручных до использования автоматизированных генераторов, таких как bison, antlr, lemon и других.
В то время, как ручное написание лексических и синтаксических (далее я буду называть из лексер и парсер) разборов позволяет достичь максимальной скорости и контроля (особенно над ошибками и способами их преодоления), использование генераторов позволяет сосредоточиться непосредственно на задаче, облегчает модификацию грамматики и бережёт время. Умение владеть такими инструментами позволяет чаще прибегать к DSL (Domain Specific Language) и вообще видеть возможность их применения.

Я хочу привести пример использования bison (парсер) и flex (лексер) в реальной жизни: от возникновения задачи, до её решения.

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity