Pull to refresh
55
0
Павел Волынцев @copist

User

Send message

jQuery File Upload

Reading time2 min
Views183K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

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

Как готовиться к хакерскому турниру

Reading time3 min
Views31K
Привет!
Меня несколько раз спросили, как лучше готовиться к предстоящему первому турниру по информационной безопасности. Я опросила наших безопасников и админов, в том числе, тестировавших игру, и составила небольшой список ниже. Думаю, это уже будет полезно тем, кто только делает первые шаги в инфобезопасности.

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

Коротко, сюжет будущего турнира: вы должны доказать, сможет или нет кто-либо проникнуть в корпоративную сеть извне и получить информацию, оставшись незамеченным.
Читать дальше →

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

Reading time2 min
Views158K


Нью-Йоркский программист Патрик Макконлог проводит интересный социальный эксперимент. Каждый день, идя на работу по городу, он видит многочисленных бомжей, и поневоле задается вопросом: что если многие из этих людей — не на своем месте, и могли бы жить более достойно при других обстоятельствах? Он решил поставить опыт, что бы выяснить это.

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

Деобфускация одного зловредного кода

Reading time14 min
Views37K
Новый клиент захотел перенести свой сайт, состоящий из сотен статичных страничек на систему управления контентом, а заодно и к нам на хостинг. Прежде чем переносить сайт была проведена беглая проверка и обнаружен код, находящийся в начале каждой страницы:
Под катом история превращения непонятного злого кода в понятный

Кодирование и декодирование PHP кода

Reading time8 min
Views70K
Я занимаюсь восстановлением исходников PHP из закодированного вида.
В этой статье я расскажу о том, как обстоят дела с кодированием и декодированием PHP в настоящее время.

Очень краткий ликбез по внутреннему устройству интерпретатора PHP


При выполнении PHP-скрипта, он парсится и компилируется в опкоды внутренней виртуальной машины PHP.
Из каждого файла PHP получаются:
— массив классов: в каждом классе — информация о классе, свойства класса и массив методов класса
— массив функций
— «тело скрипта» — код вне классов и функций
Читать дальше →

NodeJS Cluster-hub. Обмен сообщениями в cluster, запросы, межпроцессные эксклюзивные блокировки (критические секции)

Reading time2 min
Views6.6K
Работая в очередной раз с модулем cluster, я столкнулся с необходимостью обмена сообщениями между рабочими процессами. К сожалению стандартный функционал модуля позволяет отправлять сообщения только с master процесса на worker, и в обратном направлении. При этом нет возможности получить какой-то ответ на сообщение, а очень хотелось бы. Поэтому я написал модуль cluster-hub. Возможно кому-нибудь он пригодится.

Модуль позволяет
  • Отправлять сообщения master->worker, worker->master, master->master
  • Отправлять запросы и получать ответы (через callback)
  • Использовать эксклюзивные блокировки по ключу (критические секции)


Кому интересно — прошу под кат.
Читать дальше →

Локализация шаблонов на клиенте в AngularJS

Reading time4 min
Views12K
image

При разработке мультиязычного веб-приложения на AngularJS вам скорее всего понадобится так или иначе решать вопрос с переводом. Сегодня я хотел бы поделиться одним из способов, с помощью которого это можно реализовать.
Читать дальше →

Как готовиться к хакерскому турниру участнику

Reading time4 min
Views14K

С хакерского турнира Symantec Cyber Challenge. Барселона, 2012.

У нас много вопросов по хакерскому турниру CRC, проводимому Symantec и КРОК. Продолжаю про подготовку к прохождению игры. Слово участнику первой части — Андрею Леонову:

Нужно видеть, чувствовать зацепки по всем фронтам:

— Уязвимости приложений — тут нужны не только знания, но и чутьё. RCE, XSS, SQLinj, XXE, SSFR, CSRF, ошибки в загрузке файлов, alax/backround скриптах (встречаются на порядок чаще, чем в основных скриптах). На моём личном опыте, тут сканер может потратить на порядок больше времени, чем ручная проверка. Тем более, что в последнее время, всё реже встречаются «уязвимости из примеров», почти всегда нужна доработка по месту.
Читать дальше →

Инфорза — новый канал привлечения клиентов для студий и агентств

Reading time4 min
Views7.5K
Привет, Хабр! Силами команды Ruward мы запустили наш новый проект, ориентированный на веб-студии и digital-агентства — Инфорзу.

image

Инфорза – это биржа заказов на digital-услуги (создание сайтов, SEO, контекстную рекламу, SMM, mobile и пр.) Мы привлекаем заявки потенциальных клиентов на те или иные услуги, публикуем их на бирже – а агентства приобретают те из них, которые им нравится. Мы работаем по CPL-модели (cost per lead).

Ряд отличий Инфорзы от существующих аналогов (фриланс-сайтов, гейтов CMS-систем, тендерных площадок):

  1. Одно из важных отличий – мы отдаем контакты по заявке не более, чем в 5 компаний. Это значит, что клиенту не придется разгребать спам из сотен типовых КП, на которые студии потратили меньше 5 минут своего времени. С другой стороны, агентство знает, что контакт попал не в тысячу компаний-конкурентов – и будет работать по нему с большей отдачей (ведь так сильно выше потенциальный КПД).

  2. Заявки на Инфорзе покупаются по аукционной модели. Это значит, что после публикации заявки по ней проводится аукцион – агентства сами выбирают, какую ставку сделать (и насколько им интересна заявка). По окончанию аукциона контакты по заявке отдаются не более чем в 5 компаний, сделавших максимальные ставки (по нисходящей). Таким образом, система саморегулируется – и клиент получает отклики от компаний, которые больше всего были заинтересованы именно в их проекте.

  3. Если заявка не была куплена на аукционе 5 раз, она попадает в архив – и ее можно приобрести моментально по минимальной цене. Кстати, цены на лиды у нас начинаются от 50 рублей – это меньше, чем ставки в контекстной рекламе за клик по запросам вроде «создание сайта».

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

Есть ли в вашей компании электронная база знаний?

Reading time3 min
Views32K
Каждый сотрудник является носителем определённых знаний — это могут быть знания по технологиям, по архитектуре, технические контакты, навыки, текущее состояние разработки, планы на перспективу и ещё много чего. Это всё составляет базу знаний (knowledge base).
Знания в электронном виде — это документация на продукты в нескольких форматах (для разработчиков, для тестировщиков, для техподдержки, для конечных пользователей), документация на технологии и техники разработки, списки технических и деловых контактов, история переписки, приказы, объявления и прочее.

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

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

Понимание букв

Reading time2 min
Views52K
Для того, чтобы выбрать правильные шрифты для хорошей читабельности текста, необходимо понимать основные принципы типографики. Дьявол кроется в деталях, а главная составляющая типографики — буква.

Книга «Основы стиля в типографике» (The Elements of Typographic Style), которую стоит рекомендовать всем начинающим дизайнерам, начинается со слов:
Типографика существует, чтобы отдавать должное содержанию.

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

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

Пожалуй, самый популярный логотип, который демонстрирует «владение буквами» — это логотип FedEx, разработанный Линдоном Лидером (Lindon Leader). На первый взгляд, это обычное применение Futura Bold. Однако если присмотреться, видно, как были изменены буквы «E» и «x», чтобы образовалась стрелка:
image
Читать дальше →

Грань между UI и UX

Reading time2 min
Views112K
В последнее время часто сталкиваюсь с проектировщиками интерфейсов, которые вышли из дизайнеров, и на мой взгляд их объединяет одно свойство они не корректируют бизнес процесс. И в итоге остаются хорошие, сделанные по правилам интерфейсы, которые не решают главную проблему:

«Основная проблема интерфейса в том что это интерфейс. Интерфейсы — это препятствия на пути. Я не хочу сосредоточивать свои силы на интерфейсе. Я хочу сосредоточиться на работе… Я не хочу осознавать себя использующим компьютер, я хочу осознавать себя делающим дело».

Дональд Норман

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

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

Для того, что бы продемонстрировать разницу, мы сделаем с вами небольшой интерфейс для разбора входящих обращений.

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

Да, но кто сказал, что они купят это?

Reading time5 min
Views82K
Продолжение перевода серии статей «5 уроков просмотра стартапов»,
прошлая статья Настоящие нечестные конкурентные преимущества


На сотнях стартап питчей в Capital Factory, не нашелся и десяток людей, которые были бы готовы сказать «если вы создадите этот продукт, я дам вам X долларов».



Задумайся над этим: сотни людей готовы уволиться с постоянной работы, потратить свои сбережения, рискнуть личной репутацией, трудиться 70 часов в неделю, пережить такой же стресс, как и рождение ребенка (поверьте мне, я испытал рождение и ребенка, и стартапов)… и все это при том, что нет жалкого десятка людей, действительно готовых заплатить за то, что предлагают стартаперы.

Недальновидно, не правда ли?
Читать дальше →

NProgress: прогресс-бар как на YouTube и Medium

Reading time1 min
Views40K
Многие заметили, что на YouTube и на Medium появился небольшой новый элемент UI — прогресс-бар в виде тонкой цветной полоски в самом верху страницы, который примостился прямо под панелью браузера.
image
Внимание к новому элементу привлек недавний популярный пост New UI Pattern: Website Loading Bars на UsabilityPost. Как выяснилось, причина использования прогресс-бара в том, что вместо загрузки новой страницы содержимое подгружается через JavaScript, и поэтому собственный индикатор браузера о загрузке страницы может не срабатывать. Чтобы у пользователя не возникало ощущения, будто страница «зависла», эту функцию переложили на плечи маленького UI-приема.

Теперь у всех желающих появилась возможность быстро сделать на своем сайте точно такой же прогресс-бар благодаря плагину NProgress.js [Демо][GitHub].
Читать дальше →

+1 к эволюции фрилансера

Reading time4 min
Views150K
image


Собрал небольшой список пунктов эволюции фрилансера, каждый +1 сделает вас продуктивнее или дороже на рынке.
Список взят из моей жизни, я уже как год практикующий фрилансер, до этого никогда не покидал России, за последний год посетил 9 стран, в следующем году надеюсь посетить ещё 20.

1) Никогда ничего не забывайте. Для этого каждую мелкую задачу я всегда добавляю в miniplan.ru и я всегда получу в нужный момент письмо или смску, все совершенно бесплатно.
2) Самоосознание. Когда работаешь без прямого начальника, когда зарплата не два/раз в месяц, нужно максимально осознать свою жизнь, понимать как вы работаете, как вы получаете деньги, забиваете ли вы на работу, к чему стремитесь. Если в обычной жизни можно плыть по течению то фриланс вам приоткрывает двери осознанной жизни.
3) Отдыхайте. Работодателя нет и вы сами должны заботиться о своем отпуске, сделайте так чтобы его было больше, чем если бы вы работали по прямому найму. Не забывайте о перерывах в работе. Отдых сделает вас продуктивнее или абсолютно расслабит и тут вам поможет самоосознание.
Читать дальше →

Egghead.io — видео курс по AngularJS

Reading time2 min
Views29K
Egghead.io — проект, созданный Джоном Линдвистом (John Lindquist), цель которого создание видео курсов. Как утверждает автор, он никогда не был доволен существующими реализациями сайтов с видео уроками. Поэтому главной его задачей стало применение лучших практик для организации и подачи обучающих видео материалов в сети.
Пока сам ресурс находится в стадии доработки и нуждается в качественном дизайне. Но уже сейчас доступен первый курс видео туториалов по AngularJS.
Проект получил множество хороших отзывов сообщества, также был упомянут в рассылке javascript weekly и на странице javascript в google+.
Читать дальше →

Работать вместе несмотря на расстояние: История появления Remote.st

Reading time4 min
Views10K


Всем привет! Примерно 2 недели назад на Хабре появилась статья «1000 слов о реальном опыте удаленной работы». Та статья описывала наш опыт удалённой работы, предшествующий созданию сервиса Remote.st.
Сегодня с расскажу о причинах и истории появления Remote.st

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

Continuous Integration для самых маленьких

Reading time12 min
Views115K

Вы все еще публикуете проект вручную? Тогда мы идем к вам


Под катом гайдлайн по внедрению CI для .NET проектов «с нуля», включающий:
  1. Автоматические ежедневные сборки
  2. Уведомления о проблемах
  3. Интеграцию с баг-трекером и системой контроля версий
  4. Версионирование продукта
  5. Версионирование базы данных
  6. Автоматизированные выкладки и бекапы

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

Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту

Reading time7 min
Views3.2K


Намба 0: Вступление

Однажды, задумчиво листая башорг, я вдруг понял, что большинство цитат довольно длинные и очень часто их просто лень читать. В наш век всеобщей спешки — на это уходит много времени. Таким образом родился новый формат: Шортики (от английского слова Short — короткий). Шортик — это короткая (из одного-двух предложений) шутка, жестко ограниченная 255 символами (чтобы не повадно было).

Как раз в этот момент я хотел подучить программирование и искал несложную задачу. Сайт я накидал довольно быстро — за пару вечеров, рассказал о нем коллегам по работе и паре знакомых в IRC, и собирался уже о нем забыть, как вдруг обнаружил, что за два дня сайт посетило 500 человек, из которых чуть ли не треть подписалась на RSS. Стало понятно, что концепция людям понравилась. Немного прилизав сайт внешне, я решился показать его Хабрасообществу — Шортики — короткие и смешные, прошу любить и жаловать.

P.S. Учитывая то, что это не совсем стартап (проект пока некоммерческий, да и «стартап» — слишком громкое слово для моей поделки), приобретенная за годы пребывания на сайте хабрасовесть не позволила мне написать нетехническую статью. Поэтому, под катом вас ждет занимательная история о том, как мы готовили Шортики к Хабраэффекту.

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

Titanium Cloud Service: отправка писем без вызова email dialog

Reading time3 min
Views2.8K
Titanium Cloud Service

Titanium Cloud Service — является простым и удобным способом избежать создания сервера для работы с мобильным приложением, воспользовавшись уже готовыми решениями от Appcelerator.



Cloud Service поддерживает использование Push Notifications, отправки почтовых сообщений, хранение большого объема фотографий и многое другое.

Следует отметить, что существует несколько тарифных планов для Cloud, но для начала работы бесплатной версии более чем достаточно. Данная версия предоставляет такие возможности как: 5 миллионов Push Notifications, 5 миллионов API вызовов, 20 гигабайт свободного места на сервере, 100 тысяч почтовых писем в месяц, что, на мой взгляд, очень неплохо.

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

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity