Search
Write a publication
Pull to refresh
56
0
frexin @sindrom

Пользователь

Send message

F3: маленький PHP-фреймворк с огромными возможностями

Reading time7 min
Views27K


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

Fat-Free чем-то похож на известный Ruby-фреймворк Sinatra. Автор Fat-Free помешан на минимализме и чистоте кода, что положительно отразилось на этом простом каркасе для разработки самых разнообразных приложений.

Fat-Free состоит из одного файла и весит всего 55KB. При этом фреймворк обладает таким функционалом: специфический и довольно удобный шаблонизатор, гибкое кеширование, автоматическая защита от спама, интегрированные средства для юнит тестов, профайлер кода.

Он настолько маленький и быстрый, что даже может использоваться для контроля траффика Web-сервера.

Это, также, единственный фреймворк, который защищает Ваше приложение от хотлинкинга и DoS атак.
Читать дальше →

Как найти вашего первого клиента

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

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

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

сервис для скачивания торрентов — torrent2web.com

Reading time2 min
Views3.9K
image
Идея написания этого сервиса возникла после ознакомления с сайтом torrent2exe.com. Многие пользуются пиринговыми сетями. У кого то есть доступ к закрытым трекерам. Но всегда остается проблема поддерживание нормального рейтинга. Для того чтобы Ваш рейтинг не падал был и создан такой ресурс.
Читать дальше →

Дедок рекомендует или сравниваем различные способы деплоймента Django-приложений

Reading time3 min
Views9.5K
imageВсе больше наших клиентов используют в своих проектах замечательный web-фреймворк Django и неудивительно. Ведь данный фреймворк позволяет очень быстро создавать динамические сайты и обладает при этом огромной гибкостью. Он имеет в своем арсенале множество готовых решений почти на все случаи жизни, и по-сути, является низкоуровневым конструктором сайтов. А главное его достоинство – это гибкость, благодаря которой, можно в короткие сроки создавать абсолютно любые по сложности веб-приложения.

Данный фреймворк имеет удобный встроенный веб-сервер, на котором можно без проблем отлаживать ваше приложение, но для реального боевого использования он естественно не годится.
Читать дальше →

Автоматическая установка Windows и любого программного обеспечения

Reading time2 min
Views39K
image

В недалеком прошлом часто приходилось переустанавливать софт себе, родственникам, друзьям, знакомым, друзьям друзей и т.д. Бывало и так, что надо было просто поставить новые программы на имеющуюся систему. Искать ключи тихой установки или писать скрипты было лень. Как это часто бывает, качаясь на стуле и тупо глядя в потолок, пришла идея написать софтину для себя, которая работала бы как видеокамера – записывала действия пользователя при установке, а потом воспроизводила бы их. Поиск подобных программ в Интернете дал несколько решений ( системы для резервного копирования откидывались сразу, поскольку нужно было ставить программы на имеющиеся ОС). Это были либо мегакомбайны с пугающей функциональностью, либо обычные макрорекордеры или системы со скриптовыми языками. Естественно, возникло желание написать свою программу, заточенную под автоустановку ПО. Так появился наш MultiSet (www.almeza.ru).

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

Цветовое оформление консольного вывода

Reading time1 min
Views76K
Кратко о том, как сделать для своей консольной программы или скрипта цветной вывод текста, а также дополнить его другими элементами оформления. Собственно, назначить можно цвет текста, цвет фона под ним, сделать текст жирным, подчеркнутым, невидимым и даже мигающим.
Читать дальше →

Пишем свою ОС: Выпуск 1

Reading time6 min
Views280K
Данный цикл статей посвящён низкоуровневому программированию, то есть архитектуре компьютера, устройству операционных систем, программированию на языке ассемблера и смежным областям. Пока что написанием занимаются два хабраюзера — iley и pehat. Для многих старшеклассников, студентов, да и профессиональных программистов эти темы оказываются весьма сложными при обучении. Существует много литературы и курсов, посвящённых низкоуровневому программированию, но по ним сложно составить полную и всеохватывающую картину. Сложно, прочитав одну-две книги по ассемблеру и операционным системам, хотя бы в общих чертах представить, как же на самом деле работает эта сложная система из железа, кремния и множества программ — компьютер.

Каждый решает проблему обучения по-своему. Кто-то читает много литературы, кто-то старается поскорее перейти к практике и разбираться по ходу дела, кто-то пытается объяснять друзьям всё, что сам изучает. А мы решили совместить эти подходы. Итак, в этом курсе статей мы будем шаг за шагом демонстрировать, как пишется простая операционная система. Статьи будут носить обзорный характер, то есть в них не будет исчерпывающих теоретических сведений, однако мы будем всегда стараться предоставить ссылки на хорошие теоретические материалы и ответить на все возникающие вопросы. Чёткого плана у нас нет, так что многие важные решения будут приниматься по ходу дела, с учётом ваших отзывов.
Читать дальше →

DocMe — youtube для документов

Reading time2 min
Views1.9K
imageХочу познакомить вас с нашим молодым, но интересным проектом — DocMe.ru, который сейчас проходит стадию публичного бета-тестирования. Сервис предназначен для публикации документов разнообразных текстовых форматов. Не буду перечислять иностранные аналоги, уверен, аудитория хабра с ними сталкивалась.

Вместо того, чтобы заниматься описанием возможностей, в которых любой разберется в течении первой минуты нахождения на сайте, лучше я расскажу несколько фактов, связанных с работой проекта:
  • Проект на данный момент развернут на трех серверах. На первом работает фронтенд и бэкэнд, на втором работают конвертеры (причем это амазоновский инстанс, который при увеличении нагрузки автоматически дублируется на другой инстанс), а на третьем находится хранилище документов, которое в свою очередь бэкапится на Amazon S3.
  • Основные модули проекта написаны на java. Вьювер написан на flash.
  • Над проектом работает пять человек: один флешер, два программиста, один сисадмин, один менеджер и ни одного дизайнера.
  • Поддерживаемые форматы на данный момент: практически все офисные документы (ms + odf) + djvu + fb2 + chm + pdf (в т.ч. и protected).
  • Спустя месяц бета-тестирования проекта, в течении которого мы почти не занимались рекламой, результаты такие: ~500 посетителей в сутки на сайте и более 2000 в сутки внешних просмотров (во встроенных вьюверах), 50-80 загруженых документов каждый день и около тысячи зарегистрированных пользователей.


Ближайшие планы

Декартово дерево: Часть 1. Описание, операции, применения

Reading time15 min
Views158K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

Я постараюсь покрыть все, что мне известно по теме — несмотря на то, что известно мне сравнительно не так уж много, материала вполне хватит поста на два, а то и на три. Все алгоритмы иллюстрируются исходниками на C# (а так как я любитель функционального программирования, то где-нибудь в послесловии речь зайдет и о F# — но это читать не обязательно :). Итак, приступим.

Введение


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

Следующий пункт нашей обязательной программы — куча (heap). Думаю, также многим известная структура данных, однако краткий обзор я все же приведу.
Представьте себе двоичное дерево с какими-то данными (ключами) в вершинах. И для каждой вершины мы в обязательном порядке требуем следующее: ее ключ строго больше, чем ключи ее непосредственных сыновей. Вот небольшой пример корректной кучи:


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

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

Обновлённый файловый менеджер Nautilus в Ubuntu 10.10 Maverick Meerkat

Reading time2 min
Views2.2K
В Ubuntu 10.10 Maverick Meerkat была принята из апстрима новая версия Nautilus, файлового менеджера по умолчанию. Теперь, после прекращения добавления в Маверик функциональности («feature freeze»), можно ознакомиться с представленными изменениями.

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

Поднять 100 долларов или пройти мимо? Теория вероятностей в повседневной работе

Reading time6 min
Views31K
Удивительное дело, но мы чаще действуем полагаясь на интуицию, чем на здравый смысл и расчет. К сожалению, это касается не только личной жизни, но и работы. Помните старую историю о том, стоит ли Биллу Гейтсу подбирать бумажку в сто долларов из под ног? Шутники рассчитывали сколько зарабатывает Гейтс в минуту и утверждали, что поднимая бумажку он тратит свое время неэффективно.

Как вы считаете, стоило ему поднимать эти деньги? Не спешите с ответом. Пусть Гейтс зарабатывает в минуту 64 тысячи долларов. Это условное число. Нужно ли поднять бумажку в сто долларов? Подумайте.

И тут мы получаем, ловушку, которая заложена изначально в самой постановке вопроса. Гейтс не затрачивает свое личное время для того, чтобы приумножать состояние, это делают деньги на банковских счетах. Поэтому нагнувшись, Билл получит дополнительные сто долларов и это выигрышная ситуация для него. Чувствуете разницу в постановке вопроса? Я не беру в рассмотрение то, что эмоционально как и любой человек, он обрадуется тому, что нашел такую купюру. И это будет связано с тем, что найти сто долларов редкая удача и мало кто может похвастаться этим. Вы находили сто долларов? Только отвечайте честно. Если да, то что ощущали? Вероятность такого события крайне мала, отсюда высокая эмоциональная окраска.

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

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

Formcha. Антибот с человеческим лицом?

Reading time5 min
Views2.7K

Предыстория


Однажды я пытался зарегистрироваться на одном форуме разработчиков. Долго пытался, использовал почти весь свой запас ругательств в адрес админа, который очень сильно перестарался с настройками captcha'и. Зарегистрировался только с надцатого раза и истратил кучу полезного времени на борьбу чьей-то паранойей.

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

image

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

Кэширование данных, возможно последняя вещь которую Вам стоит использовать

Reading time3 min
Views14K
Недавно у меня был достаточно горячий конфликт с популярным PHP пакетом для электронной коммерции. В результате мне захотелось рассказать об одной распространенной ошибке в архитектуре веб приложений.

В чем же эта ошибка?
Читать дальше →

Генерирование изображений-заглушек

Reading time3 min
Views59K
Сегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).

На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
<img src="http://placehold.it/350x50" />
и получаете:


Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
Ещё насколько примеров под катом

Выводим прогноз погоды на дисплей

Reading time2 min
Views20K
image

Добрый день всем!


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

ChartBeat — Слушай пульс своего сайта

Reading time2 min
Views1.4K
Многие из вебмастеров, наверняка, пользуются сервисами Google Analytics и Яндекс.Метрика. Хотелось бы рассказать про сервис, который никак не отменяет гигантов статистики, но может быть неплохим и увлекательным дополнением.

image

Сервис имеет trial период (для активации нужна кредитная карта), воспользовавшись которым, мы втянулись и решили остаться на платном сервисе.

Итак, что же дает этот сервис?


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

Обнаружение пешеходов

Reading time5 min
Views9.8K
Обнаружение пешеходов используется главным образом в исследованиях, посвященных беспилотным автомобилям. Общая цель обнаружения пешеходов — предотвращение столкновения автомобиля с человеком. На Хабре недавно был топик про «умные машины». Создание подобных систем очень популярное направление исследований (Darpa challenge). Я занимаюсь распознаванием пешеходов для подобного проекта интеллектуальных автомобилей. Очевидно, что проблема обнаружения пешеходов — программная, а предотвращение столкновения — аппаратная. В данной статье я упомяну лишь о программной части, кратко расскажу об одном способе обнаружения людей на изображении и алгоритме классификации.
Заинтересовавшихся прошу под кат.

Краткая история компьютерной иконографии

Reading time5 min
Views9.1K
Краткая история компьютерной иконографии

С семидесятых годов прошлого века самые обычные компьютерные иконки прошли долгий и тернистый путь. Эта статья – попытка собрать коллекцию иконок, иллюстрирующую развитие компьютерной иконографии. И хотя в период с 1981-го по 2010-ый год существовало множество различных операционных систем с графическим интерфейсом, были выбраны лишь самые значимые, оказавшие наибольшее влияние на современный дизайн иконок.

История в картинках

Французские и английские борцы с файлообменом не знают, что делать дальше

Reading time2 min
Views1.8K
image

Помню, несколько месяцев назад, после принятия "закона трех ударов" во Франции, во многих публикациях зазвучали немного растерянные нотки — что же теперь, дескать, будет с файлообменом? Кроме того, чуть более года назад, начались проблемы у «Пиратской бухты» — причем проблемы очень значительные, на этот раз никто не грозил пальчиком, все закончилось гораздо хуже (об этом можно почитать здесь). Ну, а во Франции так вообще борцы с файлообменом почувствовали себя героями, которым до победы — один шаг. Но шаг что-то никто не делал и не делает. Но вот, в июне, на пресс-конференции было заявлено, что агентство HADOPI, которое должно отслеживать «преступников», уже готово взяться за дело. И снова — просто слова. В чем же дело?

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

По ту сторону браузера: Как подключить прием платежей

Reading time4 min
Views33K
Привет!

Лето — жарко и писать про бухгалтерию совсем не хочется. Поэтому мы решили начать серию статьей, описывающих работу нашего SAAS сервиса изнутри. Напишем как о чисто технических вещах (процессинг платежей, безопасность, техподдержа), так и о том как мы выросли от перспективного стартапа к самоокупающемуся бизнесу — о деньгах, о людях, о проблемах любого молодого бизнеса и путях их преодоления. Если интересно что-то еще — пишите в комментариях или в личку.

Процессинг платежей


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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity