Ваше мнение важно для нас.
Поделитесь своими предоложениями и пожеланиями.

Материалы по тегу "java"

Посты

Visha76
0
Работаете в сфере IT? Тогда это для вас: Компания «Сбербанк-Технологии» приглашает на День открытых дверей программы «Единая фронтальная система», который пройдет 6 февраля.
Теги: java работа
macoed
1
Пару месяцев назад начал работать над одним проектом, одной из частей которого, необходимо было выполнять bash-команды на удаленном сервере. Предварительно, установив SSH соединение. Проект написан на Java и для реализации вышеизложенного использовалась библиотека JSch. Все было хорошо, пока в один прекрасный момент не возникла необходимость кроме выполнения bash-скриптов еще и загружать на сервер файлы. Я потратил немало времени в попытках передать файлы по SSH в виде потоков и прочего в этом духе. В итоге, даже удалось наладить передачу файлов, но все же это решение казалось мне уж очень «костыльным». Потому я провел небольшей ресерч в интернете и нашел куда более изящное решение в рамках все той же библиотеки JSch, которым и хочу с вами поделится.
Marcus
3
В данной статье я хотел бы рассказать о новой функции появившейся в Java 8 – лямбдах. Я бы даже не сказал, что это такое уж мега-новшество, скорее просто удобная запись. Но, тем не менее, я считаю, что это штука полезная и есть смысл ее использовать. И уж тем более понимать, ведь даже если ее не используете Вы, ее может использовать кто-то другой в том же проекте, и тут уж придется разбираться. Так что начнем.
mingun
0
Я недавно начал работать с JAX-RS, и хочу заметить, очень удобный инструмент для создания RESTful веб-сервисов на Java. Ранее мы использовали для этого самописный фреймворк на сервлетах, но JAX-RS оказался куда продуктивне, гибче и проще в использовании. К чему я все это пишу? Просто решил рассказать об этой технологии, возможно кому-нибудь еще пригодится. Собственно JAX-RS это, фактически, набор аннотаций, которые позволяют описывать классы, методы в терминах RESTful.

Я заметил, что информация по REST на русской википедии довольно скудная, так что для начала расскажу в двух словах о том, что вообще такое REST.
mingun
2
В последнее время, ИТ индустрия испытывает все больший спрос на веб-приложения. Как результат, все более актуальным становится вопрос тестирования данных приложений. На данный момент существует целый ряд продуктов для решения этой задачи WatiN, TestComplete, QuickTest Pro и Selenium. В данной статье, речь пойдет о Selenium. Этот фреймворк один из наиболее популярных, не в последнюю очередь потому, что поддерживает большинство современных браузерах в операционных системах Microsoft Windows, Mac OS X и Linux.
Selenium – фреймворк для тестирования веб-приложений. В частности, он предоставляет инструмент для записи-воспроизведения тестов, без использования скриптовых языков – Selenium IDE. Так же он позволяет писать тесты на большинстве популярных языков программирования C#, Java, Groovy, Perl, PHP, Python и Ruby. Мы будем рассматривать примеры на Java, хотя нередко, для написания тестов используют скриптовые языки.
finch
1
10 января 2013 года в интернете стали появляться сообщения о том, что новый год начался с еще одного Java 0day. Несколько крупных мэлвер сообществ сообщили о том, что им было известно об уязвимости. Многие браузеры сразу заблокировали Java плагин и до сих пор не позволяют открывать Java апплеты, если версия JRE 7u10 и ниже.
mingun
2
При разработке многопоточных приложений часто возникает дилемма: что важнее надежность или работоспособность приложения. Например, мы используем синхронизацию для поточной безопасности(thread safety), при этом в случаи, неверного порядка синхронизации, мы можем вызвать взаимную блокировки. Так же, мы используем пулы потоков и семафоры, для ограничения потребления ресурсов, при этом ошибка в таком дизайне может привести к взаимной блокировке, вследствие недостатка ресурсов. В данной статье мы поговорим о том, как избегать взаимной блокировки, а так же других проблем в работоспособности приложения. Так же мы рассмотрим, как может приложение быть написано таким образом, чтоб иметь возможность восстановится в случаи взаимной блокировки.
Взаимная блокировка – это ситуация в которой, два или более процесса занимая некоторые ресурсы, пытаются заполучить некоторые другие ресурсы, занятые другими процессами и ни один из процессов не может занять необходимый им ресурс, и соответственно освободить занимаемый. Данное определение слишком общее, поэтому сложно для восприятия, для лучшего его понимания мы рассмотрим типы взаимных блокировок на примерах.
mingun
3
В процессе разработки игры на j2me(для мобильного телефона), столкнулся с проблемой поиска пути лабиринте. Поискал по форумам, нашел довольно интересный алгоритм, о котором сейчас и пойдет речь. Это так называемый «волновой алгоритм», он в общих чертах описан на Википедии, но из написанного там не очень понятно, как применить его на практике. Так, что я решил написать о нем с более практической точки зрения. Итак, приступим.

Идея такая: в стороны от исходной точки (где находимся мы) испускается волна. Изначально ее значение - ноль. На следующем шаге, все ближайшие точки, в которые мы можем переместиться (в двухмерном лабиринте: вперед, назад, влево и вправо) и в которых еще нет волны, получают значение равное текущему значению волны + некоторый модификатор проходимости этой точки. Этот модификатор может свидетельствовать о различных препятствиях на пути: изменение ландшафта(как в Героях, по болоту и горам идти дольше, чем по дороге), анизотропность пространства(разные направления – различны по проходимости, например при движении вверх нам препятствует сила тяготения, а вниз наоборот помогает). Чем больше модификатор проходимости - тем дольше его преодолевать. В таком случаи клеткам куда пойти нельзя(различные препятствия) можно установить значение равное бесконечности(на практике, это может быть некоторое значение, которое не может достигаться в процессе алгоритма, например отрицательные, данные значение в последствии не учитываются). Затем из каждой из вышеперечисленных точек снова выпускается волна,



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

Вопросы и ответы

ИТ-цитата
"Не откладывайте на этап выполнения то, что можно сделать на этапе компиляции."
Дэвид Грис