Метка «java»

В мае 2016 года Google одержала победу в суде против Oracle, поставив, как многие считают, точку в одном из крупнейших патентных разбирательстве за всю историю корпоративного права. Правда юристы Oracle явно не зря получают зарплату. Уже 27 сентября они потребовали начать новый иск на основании того, что Google якобы намерен представить новую ОС для смартфонов и десктопов,Читать полностью »

Долгоиграющий проект USB коммутатор завершен. Финальный вариант, устроивший заказчика — 24 входных USB порта, 12 выходных USB портов, 12-портовый RS-232 коммутатор и, наконец, 12 портовый коммутатор питания серверов. Все это добро, скрипя зубами, уместили в стандартную серверную стойку.

Назначение

Блок автоматизации тестирования (БАТ) предназначен для использования в составе тестового стенда при проведении автоматизированных испытаний программно-аппаратных комплексов (ПАК). БАТ представляет собой устройство обеспечивающее коммутацию ПАК и инструментального компьютера (ИК) с внешними USB Flash накопителями, а также управляющее подачей питания 220V на ПАК.

Функции

БАТ выполняет следующие функции:

• Прием команд от управляющей программы
• Включение и выключение тестируемых устройств (ПАК).
• Коммутация 24-х входных портов USB.
• Коммутация 12-ти выходных USB портов, каждый из которых может быть подключен либо к ПАК либо к ИК
• Коммутация 12-ти портов интерфейса RS-232
Читать полностью »

в 12:43, , рубрики: Песочница, метки: , , , ,

Решил опубликовать эту небольшую статью, содержащую на данном этапе скорее абстрактную идею. Несложно представить, как ее возможно использовать на практике и впоследствии, в зависимости от реакции сообщества, имею желание дополнить ее более конкретными примерами, взятыми из собственных наработок.

Пришла в голову мысль.
Читать полностью »

Если вы что-то знаете об основах Java и имеете представление о структуре Android-приложения, то без труда предскажете результат работы такой программки:

public class MainActivity extends ActionBarActivity {
	public static String msg = "Hello, mad Activity";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
		msg = "WTF?!";
		finish();
	}
// и что-то там ещё ...
}

Если не знаете/не имеете, подскажу — на экране появится сообщение:

Android. Mad Activity — баг статической инициализации - 1

На первый взгляд, вопрос «что мы увидим, если запустим приложение ещё раз?» выглядит идиотским. Ан нет! С огромной (близкой к 100%) вероятностью экран будет выглядеть так:

Android. Mad Activity — баг статической инициализации - 2
Читать полностью »

Управление доступом является одной из основных частей безопасности веб-приложения. Контроль доступа гарантирует, что только аутентифицированные и авторизированные лица могут иметь доступ к конфиденциальной информации, и только пользователь с допустимой ролью может выполнять предоставленные ему действия. Формирование ролей призвано определить чёткие и понятные для пользователей информационной системы правила разграничения доступа. Ролевое разделение позволяет реализовать гибкие, изменяющиеся динамически в процессе функционирования приложения правила разграничения доступа[1].

Рассмотрим несколько способов реализации системы управления доступом в корпоративном Java-приложении.
Читать полностью »

Данная статья продемонстрирует возможность легко написать свою нейронную сеть на языке Javа. Дабы не изобретать велосипед, возьмем уже хорошо проработанную библиотеку Fast Artificial Neural Network. Использование нейронных сетей в своих Java-проектах — реально. Часто можно услышать упреки в адрес Java касательно скорости выполнения. Хотя разница не так велика — подробно об этом можно узнать в публикации «Производительность C++ vs. Java vs. PHP vs. Python. Тест «в лоб»». Мы будем использовать обертку вокруг библиотеки FANN.
Читать полностью »

Каждый, наверное, сталкивался с задачей расстановки 8 ферзей на шахматной доске.
Рассмотрим решение данной задачи с использованием массива.

Итак, имеем одномерный массив состоящий из 8 элементов. Индексные значения — это строки, а значения в архиве по соответствующим индексам — это столбец шахматной доски соответственно.

Для того, чтобы мы оставили Ферзя в покое и начали перемещать следующего, должны отсутствовать иные Ферзи:
1. по вертикали
2. по диагоналям
3. по горизонтали

Третий пункт в данном методе решения этой задачи можно исключить сразу, так как два Ферзя в одной строке мы изначально не рассматриваем.
Читать полностью »

Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?

Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия

На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые наборы элементов и пары «ключ — значение» (словари).

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

В этой статье я решил обьединить имеющиеся знания о истории языка java со многих сайтов, а также найденные на многочисленных сайтах интернета иллюстрации, связанные с историей этого языка. Цель этой статьи-наглядно показать и рассказать историю того, как был создан язык java.
image
Читать полностью »

image

Аннотация

В статье описывается фреймворк, позволяющий создавать графические кроссплатформенные приложения, написанные на языке Java, но при этом абсолютно не зависящие ни от Oracle JRE, ни от OpenJDK. Основная идеология фреймворка — по возможности снять с разработчика заботы об обеспечении «родного» look and feel для приложения под каждой операционной системой.

Фактически, на выходе вы получите исполняемый файл, опирающийся только на системные API, на котором нигде не будет клейма «написано на Java».

Все компоненты фреймворка имеют либеральные лицензии (BSD либо Apache), что позволяет использовать их в любых (в том числе, коммерческих) разработках.

Фреймворк находится в стадии публичной alpha-версии, что означает некоторую его работоспособность, но непроверенность. Использование поощряется (я постараюсь прислушаться к жалобам на проблемы и помогу их решить), но работоспособность не гарантируется.

Готовая, собранная версия приложений, демонстрирующих работу фреймворка под всеми платформами, находится здесь.

Всех интересующихся подробностями милости прошу под кат.
Читать полностью »