Рубрика «java» - 271

image

Давным давно… ну как давно? вчера! (С), то есть пару лет назад, портировал я одну скромную библиотечку с Java на .NET. И не просто на .NET, а на версию 1.1.

Подход известен — берем в зубы Sharpen (или конвертер из вижуалстудии 2003 года, кому что нравится), и далее — лобзиком.

Про очевидности с итераторами, структурами ("System.Drawing.Size это не объект") и потоками рассказывать не буду — банальщина. А вот про некоторые сюрпризы — добро пожаловать.

Читать полностью »

в 16:56, , рубрики: Fido, Fidonet, java, ORMLite, tosser, метки: , , ,

В данном посте речь пойдет об OpenSource проекте, призванном сделать жизнь фидошника лучше, а заодно дать возможность пользоваться Fido на мобильных устройствах с Java.

История

Как я уже писал, в 2010 году я получил узловой номер 2:5020/848. Не имея достаточного количества задач на работе, я испытывал «творческий голод», и искал, куда можно было-бы приложить свои силы. И нашел! Менее чем за месяц было написано некоторое количество ПО, которое давало различные дополнительные возможности пользователям моего узла — доступ к Fido через форум или NNTP, трансляция входящей и исходящей почты в email и многое другое.
К тому моменту, как весь этот зоопарк заработал стабильно, интерес к развитию узла я практически потерял и просматривал почту пару раз в месяц.
В 2011 году мне в голову пришла мысль переписать часть своего ПО на Java и запустить как отдельный узел, для чего я даже получил узловой номер 2:5020/849, но дальше проекта дело не пошло.
А буквально месяц назад один человек попросил меня прислать ему исходники ПО, управляющего пользователями на моем узле. Присылать их в сыром виде было бы некрасиво, поэтому код пришлось как следует почистить. И тогда, посматривая весь этот код, я решил что раз уж алгоритмы все придуманы, то почему-бы не переписать это все на Java, как я и планировал год назад? Ну вот и понеслась…
Читать полностью »

Google представили выпуск open-source проекта J2Objc, собственный конвертер из исходного кода на Java в Objective-C для приложений на iPhone/iPad.

image
Читать полностью »

Доброго времени суток, дорогие читатели.
Недавно столкнулся с проблемой создания панели меню — стандартной панели, которая присутствует почти в каждом мало-мальски функциональном UI. И не с той проблемой, что ее сложно создать, напротив, в Swing создание UI занятие довольно нетривиальное, большинство элементов интерфейса создаются в пару строк кода (это в равной степени касается и меню). А с проблемой создания многофункционального, сложного меню, которое выливается в невероятное количество кода, который в последствии не то чтобы сопровождать, а порой даже и читать невозможно.

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

«Разбор полетов» — Episode 24 — А ты заполнил классный журнал?
Новый сезон в старом и надеемся полюбившимся составе. В сегодняшнем выпуске мы обсудим
Тема сочинения — Как провели лето:Читать полностью »

Введение

МегаФон — динамичная технологическая компания, работа которой не ограничивается исключительно предоставлением услуг связи. Например, среди наших активов есть большое количество интернет-сайтов, на которых клиенты получают различную информацию и услуги. В рамках проекта по совершенствованию и развитию наших веб-проектов мы, в том числе, создаём продукты, которые могут быть полезны и другим разработчикам. Сегодня мы хотели бы представить первый из них — шаблонизатор Histone, который является opensource-проектом, распространяемым по лицензии Apache Software License 2.0. Но обо всём по порядку.

Что такое Histone?

Многие из вас при создании веб-приложений используют различные шаблонные движки. Ситуация, когда из данных, представленных в определенном формате, вам необходимо сгенерировать некий HTML-код при помощи шаблона, задающего правила преобразования, встречается повсеместно. Несколько лет назад шаблонизаторы активно использовались для генерации HTML-кода на сервере (Smarty, FreeMarker, Velocity), сегодня все чаще и чаще возникает необходимость производить генерацию HTML-кода непосредственно в браузере. В качестве примера таких шаблонизаторов можно привести: TrimPath templates, Mustache, Google Closure Templates и т. д.Читать полностью »

Вопрос о том, какими должны быть хорошие интерфейсы классов, непрост. Какие методы включить в интерфейс, какими должны быть их параметры, не надо ли вообще разбить данный интерфейс на несколько? Что будет с интерфейсом по мере развития проекта, потребуется ли его изменять? Наверняка подобные вопросы задавали себе многие. Я поделюсь своими мыслями об интерфейсах, предоставляющих доступ к коллекциям.

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

List<String> getElements(String key);

Но вы решили, что иногда эти наборы бывают огромными, либо трудно достать все строки сразу (например, некоторые реализации запрашивают их у какого-нибудь медленного веб-сервиса с дурацким протоколом). А применяете вы их, например, отображая на экране с постраничной навигацией или подгружая частями. Тут некоторым разработчикам придёт мысль расширить интерфейс как-то так:

public interface MyCollection {
    List<String> getElements(String key);
    String getElement(String key, int index);
    List<String> getElementsRange(String key, int fromIndex, int toIndex);
    int getElementsCount(String key);
}

Читать полностью »

Стоит ли платить за Apache Hadoop?

В 2010 году Apache Hadoop, MapReduce и ассоциированные с ними технологии привели к распространению нового явления в сфере информационных технологий, названного «большими данными» или «Big Data». Понимание того, что из себя представляет платформа Apache Hadoop, зачем она нужна и для чего её можно использовать потихоньку проникает в умы специалистов по всему миру. Зарожденный, как идея одного человека, и быстро выросший до промышленных масштабов, Apache Hadoop стал одной из самых широко обсуждаемых платформ для распределенных вычислений, а также платформой для хранения неструктурированной или слабо структурированной информации. В этой статье я хотел бы подробнее остановиться на самой платформе Apache Hadoop и рассмотреть коммерческие реализации, предоставляемые сторонними компаниями, и их отличия от свободно распространяемой версии Apache Hadoop.Читать полностью »

После 3 дней мучений и бесплодных попыток завести SSO для SalesForce спешу поделиться с сообществом правильным путем решения проблемы, дабы будущие поколения не тратили прорву драгоценного времени на битье головой об стену. Если интересно то прошу под кат.
Читать полностью »

LilacServer - всё необходимое в одной коробке

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

Итак, что же такое LilacServer?
Это веб-сервер, написанный на Java с использованием технологии Java NIO. Главным отличием его от прочих веб-серверов, созданных на Java (например, Tomcat или Resin), состоит в том, что это не только веб-сервер…
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js