Метка «java»

7−8 апреля в Москве пройдёт Java-конференция JPoint. Она уже пятый год собирает множество специалистов — а также наглядно показывает своим примером, что российским Java-разработчикам повезло с докладчиками.

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

В англоязычном сегменте сети достаточно много статьей по этой теме. Чаще всего они несут поверхностный, ознакомительный характер и иногда довольно сложно из-за языкового барьера уловить суть изучаемой темы. Надеюсь, наше небольшое путешествие в Java Collections Framework принесет вам некоторое разъяснение. Чем больше предметной информации, тем легче собрать всю мозаику воедино, отбрасывая не понятные выкладки и описания. Для более эффективного изучения количество примеров является критичным. Так же дело обстоит и с коллекциями, обойдем стороной интерфейсы, и перейдем сразу к классам, их реализующие.

Класс ArrayList

«Не стоит недооценивать важность метафор. Метафоры имеют одно неоспоримое достоинство: описываемое ими поведение предсказуемо и понятно всем людям…”.
Фернандо Дж. Корбати.

Я полностью согласен с Фернандо Дж. Корбати о важности метафор в изучение определённой предметной области. Так как программирование является смесью математики и искусства, использование метафор имеет наивысший приоритет. Для объяснения сути назначения ArrayList мы будем использовать «Транспортную» метафору. Представьте, что это обычный массив, похожий на семейный автомобиль, купленный с расчётом на количество членов семьи.

Немного о Java Collections Framework. Часть 1 - 1

Если у нашей семьи родиться ещё один ребёнок, то придется покупать более вместительный автомобиль. Предположим, родители заведомо не знают, сколько детей у них будет и какой ещё вместимости необходим новый автомобиль. Есть вероятность прогадать и зря потратить сбережения. Так вот, ArrayList подобна городскому транспорту. Здесь нет ограничений в вместимости. Каждый в состоянии доехать из пункта A в пункт B. Поэтому если отец семейства не уверен или не знает о количестве будущих детей, он выберет городской транспорт, или в нашем случае ArrayList. Данный класс имеет три конструктора, мы будем разбирать самый простой. Давайте напишем код.
Читать полностью »

в 11:33, , рубрики: java, метки:

Привет житель ! Сегодня я хочу поделиться с тобой решением простой школьной задачки с небольшим дополнением. Для нахождения бесконечного ряда Фибоначчи (даже больше чем long).

Это моя первая статья и пожалуйста не судите строго. Все коды я буду приводить на Java. И так начнем:

Все мы знаем, стандартный школьный алгоритм для нахождения ряда Фибоначчи до N-го числа и этот алгоритм таков:
Читать полностью »

В мае 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. по горизонтали

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