Ещё один все понял

Архив рубрики ‘java

Имена склонились

с 6 комментариями

Ура. Мужские имена дали корреляцию 97% с Яндекс.Склонятором, женские все 99%

Остаётся добавить фильтрацию по списку исключений, и будет самодостаточный склонятор имен на java. К сожалению тест показал, что к фамилиям нужно приглядеться получше.

Класс для публичного доступа, когда дотестирую, думаю написать статью на хабр.

Пользоваться вот так:

Declension.inflectFemale(Declension.GENITIVE, “Саша”)
Declension.inflectMale(Declension.GENITIVE, “Миша”)

Соответственно:

Declension.GENITIVE – родительный
Declension.DATIVE – дательный
Declension.ACCUSATIVE- винительный
Declension.INSTRUMENTAL- творительный
Declension.PREPOSITIONAL- предложный

Есть в этом что-то корявое, лингв.термины русского языка переводить на английский. Но транслит ещё ужаснее, а использовать русские слова в коде совесть не позволяет.

Написано Mikhail

Пятница, 27 Март, 2009 в 12:55 дп

Опубликовано в java

Склонение имен, перезагрузка

с 3 комментариями

Спасибо, Серег, за ссылки

Теперь за пятнадцать минут у меня есть шикарная база с популярными именами и их склонениями для тестов будущей библиотеки. Как это было:

1. Метод генерирующий по имени почти java массив - Абрам -> {Абрам, Абрама, Абраму, Абрама, Абрамом, Абраме, }, (Спасибо за красоту dom4j)

private static String testName(String name) throws MalformedURLException, URISyntaxException, DocumentException {
URL url = new URI(URL_PREFIX + name).toURL();

SAXReader reader = new SAXReader();
Document document = reader.read(url);

StringBuilder sb = new StringBuilder(name.length() * 6 + 20);

List<Element> inflections = document.getRootElement().elements("inflection");
if (inflections.size() > 1) {
sb.append("{");
for (Element inflection : inflections) {
sb.append(inflection.getText()).append(", ");
}
return sb.append("},").toString();
}

return null;
}

* This source code was highlighted with Source Code Highlighter.

2. Найти список имен, я воспользовался – мужскими и женскими с женского сайта

В итоге я имею два массива имен ~ по 400 штук, на которых и буду тестировать свою реализацию склонений. (Яндекс не осилил имена Ий и Юм, парням не повезло с именем однако)

Написано Mikhail

Четверг, 26 Март, 2009 в 6:49 пп

Опубликовано в java

Склонение имен

с 4 комментариями

Боже, как я сегодня ненавижу русский язык. Два часа времени, красные глаза. И всё чтобы написать на java склонение имен. Осилил только мужские имена. Завтра предстоят женские…

Миша .. Миши .. Мише .. Миши .. Мишей .. Мише
Михаил .. Михаила .. Михаилу .. Михаила .. Михаилом .. Михаиле
Дима .. Димы .. Диме .. Диму .. Димой .. Диме
Александр .. Александра .. Александру .. Александра .. Александром .. Александре
Олег .. Олега .. Олегу .. Олега .. Олегом .. Олеге
Андрей .. Андрея .. Андрею .. Андрея .. Андреем .. Андрее
Тарас .. Тараса .. Тарасу .. Тараса .. Тарасом .. Тарасе
Юра .. Юры .. Юре .. Юру .. Юрой .. Юре
Юрий .. Юрия .. Юрию .. Юрия .. Юрием .. Юрии
Иван .. Ивана .. Ивану .. Ивана .. Иваном .. Иване
Ваня .. Вани .. Ване .. Ваню .. Ваней .. Ване
Сергей .. Сергея .. Сергею .. Сергея .. Сергеем .. Сергее

Написано Mikhail

Четверг, 26 Март, 2009 в 12:53 дп

Опубликовано в java

POST файла из Java

оставьте комментарий »

Порой кажется что в интернете есть всё, надо только понять что тебе нужно. Три дня не мог найти пример посылки файла из java приложения на сервер методом HTTP POST. И вот удача, отличнейший клиент из одного класса, который делает всё как надо. 

InputStream serverInput = ClientHttpRequest.post(
                new java.net.URL(urlString),
                new Object[]{
                        "name", "J.Doe",
                        "email", "abuse@spamcop.com",
                        "test.txt", new
                                File("c:\w\image.jpg")
                });

Один вызов и сервер принимает 

-----------------------------k8rws1oxpkuv1g53x0ud6a004-j12py3q5jcay
Content-Disposition: form-data; name="name"

J.Doe
-----------------------------k8rws1oxpkuv1g53x0ud6a004-j12py3q5jcay
Content-Disposition: form-data; name="email"

abuse@spamcop.com
-----------------------------k8rws1oxpkuv1g53x0ud6a004-j12py3q5jcay
Content-Disposition: form-data; name="test.txt"; filename="image.jpg"
Content-Type: image/jpeg

яШяа...

Просто праздник какой-то: http://www.devx.com/Java/Article/17679/1954

Думал самому придётся такое писать… Кстати чтобы такое на сервере без лишнего труда обработать существует Commons FileUpload

Написано Mikhail

Четверг, 25 Декабрь, 2008 в 12:57 пп

Опубликовано в java, работа

.

с одним комментарием

прощай java

Написано Mikhail

Понедельник, 6 Август, 2007 в 1:29 пп

Опубликовано в java, работа

Follow

Get every new post delivered to your Inbox.

Join 119 other followers