Хабрахабр:
В данном посте речь пойдет об OpenSource проекте, призванном сделать жизнь фидошника лучше, а заодно дать возможность пользоваться Fido на мобильных устройствах с Java. История Как я уже писал, в 2010 году я получил узловой номер 2:5020/848. Не имея достаточного количества задач на работе, я испытывал ?творческий голод?, и искал, куда можно было-бы приложить свои силы. И нашел! Менее чем за месяц было написано некоторое количество ПО, которое давало различные дополнительные возможности пользователям моего узла ? доступ к Fido через форум или NNTP, трансляция входящей и исходящей почты в email и многое другое. К тому моменту, как весь этот зоопарк заработал стабильно, интерес к развитию узла я практически потерял и просматривал почту пару раз в месяц. В 2011 году мне в голову пришла мысль переписать часть своего ПО на Java и запустить как отдельный узел, для чего я даже получил узловой номер 2:5020/849, но дальше проекта дело не пошло. А буквально месяц назад один человек попросил меня прислать ему исходники ПО, управляющего пользователями на моем узле. Присылать их в сыром виде было бы некрасиво, поэтому код пришлось как следует почистить. И тогда, посматривая весь этот код, я решил что раз уж алгоритмы все придуманы, то почему-бы не переписать это все на Java, как я и планировал год назад? Ну вот и понеслась? Читать дальше →
Привет, обитатели саморегулируемого сообщества. Обращаюсь именно так, ибо хочу поднять извечный нерассудимый вопрос о системе рейтинга хабре. Опишу краткий сценарий. 1. Некий юзер публикует интересный топик, который подразумевает бурное обсуждение. 2. Юзер ?2 оставляет дельный комметарий по теме, который по душе многим. 3. Юзер ?3 с ним категорически не согласен. Свое негодование он выражает встречным комментарием. 4. Начинает длинная ветка размеренной светской беседы или холивара. 5. Юзер ?2, яро поддерживаемый общественностью огребает плюсы, Юзер ?3, соответственно минусы. 6. Атмосфера накаляется, интрига вопроса не отпускает страждущих. Диалог растет на глазах вместе разбросом оценок участников диалога. Среди заплюсованных комментариев народного любимца уже не видать речей оппонента его. Участники сообщества, похоже, уже и не читают блёклых комментариев, ибо не видно. Но считают своим долгом добить хромого и подержать победителя. Так и происходит. Читать дальше →
ECT ? это логическое развитие существующих подходов к шаблонизации под соусом высокой производительности. В начале года я публиковал свою разработку ? шаблонизатор JUST. ECT начинался как его развитие, но через некоторое время различие в них стало слишком большим, поэтому появился новый продукт. Синтаксис Во время работы с JUST, который использует EJS-совместимый синтаксис, пришло понимание, что это не очень удобно. Хотелось упрощения, хотя бы, для условных операторов и циклов. Я начал развивать код в этом направлении, но вовремя остановился. Я сам очень плохо отношусь к подобным велосипедам в плане синтаксиса. Когда добавляешь подобный синтаксический сахар в свою разработку, это кажется очень крутым и удобным нововведением. Но разработчик, который видит его впервые, скорее выберет знакомое ему и понятное решение, чем будет разбираться в новом синтаксисе. Логичным решением в данной ситуации стало использование CoffeeScript в качестве встраиваемого языка. Читать дальше →
Тема префиксных деревьев поиска уже неколько раз поднималась на хабре. Здесь, например, кратко описывается, что такое префиксное дерево и зачем оно нужно, и рассматриваются основные операции над такими деревьями (поиск, вставка, удаление). К сожалению, ничего при этом не говорится про реализацию. В этом недавнем посте рассматривается ?питонья библиотека datrie?, являющаяся Cython-оберткой библиотеки libdatrie. По последней ссылке имеется хорошее описание реализации частично сжатых префиксных деревьев в виде детерминированных конечных автоматов (с использованием массивов). Я решил внести свои пять копеек в эту тему, рассмотрев реализацию на языке С++ префиксных деревьев с помощью указателей. Кроме того, была и еще одна цель ? сравнить между собой поиск строк с помощью сбалансированного двоичного дерева поиска (АВЛ-дерево) и сжатого префиксного дерева. Читать дальше →
В настоящий момент мы над новым проектом ? разработкой online квеста, подробно о котором мы вам расскажем немного позже, 07.10.2012, когда состоится официальный запуск, а сейчас мы хотели бы поделиться с вами чисто техническими подробностями. Самой главной проблемой проекта стало обеспечение безопасности серверов во время игры, т.к. суть квеста заключается в том, чтобы игроки, выполняя задания, выкладывали на сервер свои программы, где они будут впоследствии проверяться. Т.е., запуская программы, мы должны понимать, что они были написаны для решения поставленной задачи и не являются вредоносными файлами. Итак, мы выявили и сформулировали следующие проблемы: У нас есть сервер, на котором будет крутиться некоторое программное обеспечение, полученное из внешнего источника, и которое, по факту, неизвестно что будет делать, пока работает; Есть, в перспективе, большое количество пользоваталей, которые будут заливать на сервак большое количество приложений. Часть из них, вполне возможно, могут оказаться даже вирусами: мы позволим заливать все, начиная от php, заканчивая exe файлами. Проблема похожа, но немного шире: программа может резидентно остаться работать на сервере; Запускаясь, программы будут выедать огромное количество ресурсов. Затем, мы приступили к поиску решений. Читать дальше →
Отписаться от этой рассылки