Результаты поиска по запросу: domain drive design
Tablayout
Автор: Евгений Мыца
В данном уроке рассматривается порядок формирования вкладок (Tabs), при помощи Android Design Support Library. Tablayout (котейнер вкладок) позволяет обеспечить горизонтальную компоновку отображения вкладок. Вкладки дают возможность переключаться, осуществлять навигацию, между фрагментами экрана.
Practicum
Автор: Анна Дварри
В данном уроке подробно рассматривается практическая часть работы инженеров по тестированию. Приведены практические задачи и примеры их выполнения по четырем направлениям, а именно: desktop-testing, web-testing, api-testing, test design. По окончанию урока студентам будет предложено выполнить самостоятельные работы для закрепления материала.
DEV Challenge XIX
Автор: Редакция ITVDN
🏆 Крупнейший IT-конкурс в Европе DEV Challenge объявляет регистрацию на 19-й сезон
📍Регистрация по ссылке: https://ua.devchallenge.it
Выбирай свою номинацию:
Backend
Frontend
Manual QA
UI Design
Product Design
iOS Developer
Что вы получите, кроме призов:
✅ Соревнования помогут вам повысить уровень сложности задач, с которыми вы можете справиться.
✅ 1200+ участников за сезон. Среди них вы можете найти тех, кто вам нужен: от партнеров по проекту до ментора в нужной отрасли.
✅ Полезный стресс и апгрейд навыков. Опытным специалистам легко справиться с нетривиальными кейсами. Но на DEV Challenge даже суперпрофессионалам придется приложить немало усилий, чтобы добиться успеха.
Регистрация на крупнейшее европейское IT-соревнование – DEV Challenge XX открыта!
Автор: Редакция ITVDN
Ищешь нетривиальные вызовы для своей IT-карьеры? Стремишься продемонстрировать свои навыки и знания в настоящем бою?
👉Регистрация по ссылке: https://cutt.ly/uwxW4OBd
Выбирай свою номинацию:
Backend
Frontend
Testing
Product Design
UI Design
Кроме призов получай:
🔸 Выход на новый уровень сложности задач, с которым можешь справиться, полезный стресс и апгрейд навыков.
🔸 Нетворкинг и обмен опытом с экспертами IT-сферы: 2500+ участников и 40+ судей за сезон. Хорошая возможность найти единомышленников, партнеров по проекту или менторов в нужном направлении.
🔸 Возможность заявить о себе и признание как профессионального IT-специалиста от ведущих компаний-партнеров.
Традиционно, большинство задач участников будут связаны с социальными IT-решениями для помощи Украине. Разом до перемоги!
Введение
Автор: Александр Шевчук
В данном видео уроке рассматривается структура курса “Шаблоны проектирования” и производится краткий обзор книги “Приемы объектно-ориентированного проектирования. Паттерны проектирования” с обсуждением всех ее достоинств и недостатков. Также автор презентует книгу «Design Patterns via C#», которая в доходчивом, понятном и упрощенном виде объясняет назначение и применение паттернов в создании программного обеспечения.
Тема вебинара: "Адаптивный веб-дизайн: типы адаптивных макетов"
Этот вебинар посвящен теме создания адаптивного веб-дизайна для сайтов, показана разница между адаптивным (Adaptive) и отзывчивым веб дизайном (responsive web-design), приведены примеры таких сайтов, рассказано о существующих адаптивных макетах. Так же в вебинаре слушатель найдет примеры создания адаптивных макетов с использованием таких инструментов как медиа-запросы (@media) и фреймворк Bootstrap.
Предисловие к курсу "Шаблоны проектирования"
<p>Объектно-ориентированная программная система состоит из множества объектов, что находятся в определенных отношeниях и связях друг с другом. Данный курс научит Вас как прaвильно проeктировать свои прогрaммные системы для плaтформы .Net, прaвильно подбирать и использовать порождающие, структурные и поведенческие шаблоны проектирования, описанные в труде «Приемы объектно-ориентированного проектирования. Цели, которые перед собой стaвили aвторы книги «Design Patterns via C#»: рaзъяснить и в хорошем смысле более «просторечиво» прeдоставить опрeделения и положeния, предстaвленные в книгe «Приeмы объектно-ориeнтированного проeктирования. Паттeрны проeктирования».</p>
Обработка файлов в С#. NET
Автор: Редакция ITVDN
Введение
Статья объяснит Вам, как выполнять задачи по считыванию и введению файловой информации из разных областей, используя С#. .NET программирование API. Оно включает анализ структуры каталогов, определяет существующие папки и файлы, а также выполняет операции, связанные с файлами: перемещение, копирование и удаление объектов с диска. Цель статьи – определить типы, которые содержатся в области имен System.IO и объяснить, как разными способами можно считывать и вводить информацию в символьно-ориентированый, бинарный и строчный архив данных.
Структура файловой системы
Область имен System.IO состоит из 4 классов, которые помогут Вам оперировать конкретными файлами, работать с машинной структурой каталогов. Каталог адресов и файлов непосредственно наследует System.Object и поэтому выполняет задачи создания, копирования, перемещения и удаления файлов, используя при этом разные статические способы. Они содержат только статические методы, а главное то, что на их основе никогда не создаются экземпляры. Типы FileInfo и DirectotryInfo возникли от базового класса типа FileSystemInfo и обычно их используют, чтобы получить детальную информацию про файл или каталог, поскольку их элементы обычно настроены на возвращение типизованых объектов. Они используют те же общедоступные методы, что и каталог адресов и файлов, но могут сохранять данные, а элементы этих классов не статичные.
В шаблоне .NET область имен System.IO выполняет роль библиотеки базовых классов, которая предназначена для производственных и исходящих услуг на базе файлов. Как и любая область имен, System.IO содержит большое количество классов, интерфейсов, нумераций, структур данных и их передачи. В таблице ниже представлены основные классовые типы данных:
Классовые типы
Характеристика
Хранилище/содержание каталогов
Классовые типы данных помогают управлять системой структуры каталогов.
Информация про накопитель
Этот класс данных предоставляет детальную информацию про накопители, которые содержатся в компьютере.
Файловий поток
Класс данных предоставляет Вам файл прямого доступа с информацией в виде потока байтов.
Файл/сведения про файл
Классовые типы данных руководят файлами, которые содержатся в компьютере.
Путь
Этот класс выполняет операции в System.String, в котором содержится информация про файл и каталог независимо от платформы.
Устройство двойного считывания/устройство двойного введения информации
Классовые типы позволяют Вам сохранять и находить простые типы данных в виде двойных значений.
Поток считывания/поток введения
Этот класс используется для сохранения текстовой информации в файле.
Строчная последовательность считывания/строчная последовательность введения информации
Эти классовые типы данных также работают с текстовой информацией. Однако, базовая система хранилища – скорее, строчный буфер, чем физический файл.
Поток буферизации
В этом типе можно лишь временно хранить поток байтов. Вы можете разместить данные в хранилище позже.
В System.IO содержится класс DriveInfo, чтобы руководить системой диска во время произведения разных операций. Класс DriveInfo предоставляет детальную и полную информацию про количество дисков, общее пространство на жёстком диске, свободное пространство, название диска, состояние готовности и другое. Обратите внимание на следующую программу, которая показывает основные дисководы:
DriveInfo[] di = DriveInfo.GetDrives();
Console.WriteLine("Total Partitions");
foreach(DriveInfo items in di)
{
Console.WriteLine(items.Name);
}
Следующие фрагменты кода отдельно выполняют все другие операции класса DriveInfo.
using System;
using System.IO;
namespace DiskPartition
{
class Program
{
static void Main(string[] args)
{
DriveInfo[] di = DriveInfo.GetDrives();
Console.WriteLine("Total Partitions");
Console.WriteLine("---------------------");
foreach(DriveInfo items in di)
{
Console.WriteLine(items.Name);
}
Console.Write("\nEnter the Partition::");
string ch = Console.ReadLine();
DriveInfo dInfo = new DriveInfo(ch);
Console.WriteLine("\n");
Console.WriteLine("Drive Name::{0}", dInfo.Name);
Console.WriteLine("Total Space::{0}", dInfo.TotalSize);
Console.WriteLine("Free Space::{0}", dInfo.TotalFreeSpace);
Console.WriteLine("Drive Format::{0}", dInfo.DriveFormat);
Console.WriteLine("Volume Label::{0}", dInfo.VolumeLabel);
Console.WriteLine("Drive Type::{0}", dInfo.DriveType);
Console.WriteLine("Root dir::{0}", dInfo.RootDirectory);
Console.WriteLine("Ready::{0}", dInfo.IsReady);
Console.ReadKey();
}
}
}
После разработки этой программы, она отображает каждую деталь дисковода и конкретные дисководы, как показано ниже:
Работа с каталогами
Чтобы производить операции с каталогами, то есть создавать и удалять данные, шаблон .NET содержит два элементарных класса: DirectoryInfo и Directory.
Классовый тип DirectoryInfо
Класс DirectoryInfo содержит серию методов создания, удаления, перемещения и перечень каталогов и подкаталогов. В следующем кодовом примере отображена информация относительно временного каталога.
DirectoryInfo di = new DirectoryInfo(@"D:\temp");
Console.WriteLine("*******Direcotry Informations*******\n\n");
Console.WriteLine("Full Name={0}", di.FullName);
Console.WriteLine("Root={0}", di.Root);
Console.WriteLine("Attributes={0}", di.Attributes);
Console.WriteLine("Creation Time={0}", di.CreationTime);
Console.WriteLine("Name={0}", di.Name);
Console.WriteLine("Parent={0}", di.Parent);
Кодовый пример производит информацию относительно временного каталога, который содержится на диске D:
Допускается, что путь, пройденный конструктором времени класса DirectoryInfo существует. Но если Вы попробуете работать с несуществующим каталогом, то общая среда выполнения языков CLR исключит это действие. Чтобы создать каталог, сначала проверьте, нет ли таких исключений.
DirectoryInfo di = new DirectoryInfo(@"D:\temp\xyz");
di.Create();
При помощи программ и при использовании метода CreateSubdirectory можно также увеличить структуру каталога. В следующем кодовом примере показано, как создается каталог на диске D, а потом в D:\ajay\:
DirectoryInfo di = new DirectoryInfo(@"D:\");
di.CreateSubdirectory("ajay");
di.CreateSubdirectory(@"ajay\ajay11");
Класс каталога
Класс каталога выполняет почти те же функции, что и класс DirectoryInfo. Класс каталога, как правило, возвращает строчные данные, а не типизированые объекты класса DirectoryInfo. В следующем примере показано, как удалять каталог и подкаталог на диске D.
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"d:\abc");
Console.WriteLine("Name:{0}", di.FullName);
Console.Write("Are you sure to Delete:");
string str = Console.ReadLine();
if (str == "y")
{
Directory.Delete(@"d:\abc", true);
}
Console.Write("Deleted.....");
}
Считывание и введение информации в файл
Операции считывания и введения информации происходят при использовании файлового объекта. Следующий фрагмент кода считывает текстовый файл, размещенный в компьютере.
private void button1_Click(object sender, EventArgs e)
{
try
{
textBox2.Text = File.ReadAllText(txtPath.Text);
}
catch (FileNotFoundException)
{
MessageBox.Show("File not Found....");
}
}
Сначала пользователя спрашивают, правда ли он желает действовать в выбранном им направлении. Позже, когда настанет очередь файла, метод ReadAllText считывает всю текстовую информацию с файла и отображает ее за текстовым полем.
Кроме того, используя класс File, к файлу, с которого считывается информация, можно добавить что-то свое, кроме самого текста, как показано ниже.
File.WriteAllText(@"d:\test.txt", textBox2.Text);
Этот класс выбирает такой путь, что сохранит файл и способ введения данных как, например, текстовое поле или другой способ.
На следующих изображениях показан процесс считывания текстового файла после того, как был выбран соответствующий шаг:
Поток
Благодаря .NET такие классы, как FileStream, StreamReader/Writer, BinaryReader/Writer могут считывать данные и вводить их в файл. В основном, такой поток информации демонстрирует фрагмент данных, который переходит от начального места до указаного. Таким образом, он способствует взаимодействию последовательности байтов, несмотря на вид устройства, на котором хранятся байты.
Методы
Характеристика
Считывание/считывание байтов
Считывает информацию про количество байтов с исходящей точки.
Введение/введение байтов
Вводит информацию про количество байтов в исходящую точку.
Поиск
Определяет позицию в исходящей точке.
Расположение
Определяет текущую позицию в текущем потоке информации.
Размер
Меняет размер потока информации на байты.
Заполнитель
Обновляет основное хранилище данных вместе с текущим буфером, а потом устанавливает новый.
Выход
Закрывает текущий поток информации и предоставляет информацию, связанную с этим потоком.
Файловый поток
Обновление файлового потока используют, чтобы считывать и вводить информацию в файл. Для того, чтобы создать файловый поток, сначала нужно иметь доступ к необходимому файлу. Затем открыть файл и определить путь получения доступа к файлу. Наконец, выбрать общий каталог, в котором Вы хотите ограничить доступ к файлу.
Перечисления
Значения
Режим доступа к файлу
Создает, добавляет, открывает, приостанавливает - OpenOrCreate
Доступ к файлу
Считывает, вводит - ReadWrite
Общий каталог
Передает, считывает, вводит - ReadWrite
Класс файлового потока может считывать или вводить только один байт или же массив байта. Вам нужно будет раскодировать классовый тип System.String соответствующим массивом байта. Область System.Text определяет закодированый тип, чтобы потом выбрать метод закодирования или раскодирования текстового фрагмента в массив байта. Но закодированый массив байта сохраняется в файле способом FileStream.Write. Чтобы возвратить байт назад на накопитель, нужно вернуться на начальное место и использовать метод ReadByte. Затем Вам следует отобразить строчный массив байта и закодированый текстовый фрагмент на компьютере.
using(FileStream fs = new FileStream(@"d:\ajay123.doc", FileMode.Create))
{
string msg = "first program";
byte[] byteArray = Encoding.Default.GetBytes(msg);
fs.Write(byteArray, 0, byteArray.Length);
fs.Position = 0;
byte[] rFile = new byte[byteArray.Length];
for (int i = 0; i < byteArray.Length; i++)
{
rFile[i] = (byte)fs.ReadByte();
Console.WriteLine(rFile[i]);
}
Console.WriteLine(Encoding.Default.GetString(rFile));
}
Двойное считывание и двойное введение информации
Классовый тип BinaryReader и Writer позволит Вам считывать и вводить дискретную информацию в указанный поток в компактном двойном формате. Классовый тип BinaryWriter определяет нужный способ введения информации, чтобы разместить ее в указанный поток.
Элементы
Характеристика
Классовый тип
Ввод
Считывает элемент к текущему потоку
Двойное введение
Поисковик
Определяет позицию в текущем потоке
Двойное введение
Закрытие
Не допускает двойное считывание
Двойное введение
Заполнитель
Заполняет двойной поток
Двойное введение
Символьный считыватель
Возвращает доступные элементы, не направляет их в поток
Двойное считывание
Считыватель
Считывает указаный ряд байтов или других элементов и сохраняет их во входящем массиве данных
Двойное считывание
В следующих примерах показано, как вводится определенная информация к новому файлу champu.dat, используя BinaryWriter. Далее информация считывается в то время, как классовый тип BinaryReader применяет целый ряд способов.
class Program
{
static void Main(string[] args)
{
// writing
FileInfo fi = new FileInfo("champu.dat");
using (BinaryWriter bw = new BinaryWriter(fi.OpenWrite()))
{
int x = 007;
string str = "hello champu ,one day you will become doomkatu";
bw.Write(x);
bw.Write(str);
}
//Reading
FileInfo f = new FileInfo("champu.dat");
using (BinaryReader br = new BinaryReader(fi.OpenRead()))
{
Console.WriteLine(br.ReadInt32());
Console.WriteLine(br.ReadString());
}
Console.ReadLine();
}
}
Строчное считывание и введение данных
Можно использовать StringWriter и StringReader, чтобы поставлять текстовую информацию на поток запоминающего устройства. Вы в этом убедитесь, когда добавите информацию в виде символов к указаному буферу. На следующих кодовых примерах изображено, что лучше вводить блок строчных данных в StringWriter, чем в файл, размещенный на жестком диске.
static void Main(string[] args)
{
// writing
using (StringWriter sw = new StringWriter())
{
sw.WriteLine("helloooooooooooooooooooo");
// Reading
using (StringReader sr = new StringReader(sw.ToString()))
{
string input = null;
while ((input = sr.ReadLine()) != null)
{
Console.WriteLine(input);
}
}
}
}
Вывод
Данная статья начинается со вступительной части про файловую систему .NET и содержит детальное описание ее иерархических классов. Благодаря статье Вы выучили, как управлять физическим файлом и каталогом на жестком диске, используя классовые типы File и Directory. Было детально рассмотрено классовый тип Stream. Область System.IO содержит ряд устройств введения и считывания информации, как, например, FilStream, BinaryStream, StringStream и другие. Статья рассказывает про доступ к информации и ее ввод.
Акция «Выиграй Power Bank от FEX.NET»
Автор: Редакция ITVDN
Дорогие друзья! Приглашаем вас принять участие в розыгрыше подарков от FEX. NET. У вас есть шанс выиграть один из 3 power bank-ов или одну из 4 виртуальных флешек!
Подробнее о подарках, которые мы будем разыгрывать:
Три брендированных зарядных устройства Mi Power bank 2 с емкостью батареи 10 000 mAh.
Четыре виртуальные флешки FEX. NET. Данная флешка является ваучером, который имеет уникальный код и дает доступ к 1 ТБ хранилища на 3 месяца.
Чтобы стать участником акции, нужно:
Подписаться на YouTube канал ITVDN
Подписаться на FEX. NET в Facebook
Поделиться любым видео с канала ITVDN в одной из социальных сетей (Fb, VK, Google+) *
Заполнить анкету участника акции
* На момент проведения розыгрыша ваша стена в социальной сети должна быть открыта, чтобы мы смогли проверить выполнение условий акции.
Определение победителей будет проходить в прямом эфире на YouTube канале ITVDN с помощью сервиса random.org в два этапа:
14 февраля 2018 года в 16:00 мы определим 4 победителей, которые получат виртуальные флешки FEX. NET
22 февраля 2018 года в 16:00 будут определены 3 победителя, которые получат power bank-и.
Информация о спонсоре
FEX. NET — это облачный сервис хранения и передачи файлов.
С FEX.NET вы экономите место на компьютере и телефоне, можете пересылать файлы до 200 ГБ каждый без ограничений по скорости, смотреть фото и видео онлайн – без необходимости скачивать.
Прямо в браузере вы можете просматривать файлы разных типов - включая файлы Photoshop, Illustrator, аудиозаписи в wav и других lossless-форматах.
На FEX.NET можно загружать что угодно: исходники, макеты, базы данных, библиотеки, образы дисков, не говоря уже о фильмах в 4К или Blu-ray. Вам даже не обязательно ждать, пока догрузятся файлы – вы сразу получаете ссылку-ключ, и можете делиться файлами с кем пожелаете.
Ключ объекта на FEX.NET – это код из 12 цифр. Ключ можно переслать в смс-сообщении, написать на бумажке или просто продиктовать. Вы можете запомнить ключи к самым важным файлам и делиться данными даже если под рукой нет компьютера или телефона.
Никто не сможет увидеть ваши файлы без ключа. Более того, вы можете установить на объект пароль, сделать ключ временным, или сам объект приватным – тогда файлы будут доступны только вам, даже если вы уже поделились ключом и паролем.
Каждому пользователю FEX.NET доступен сразу 1 терабайт хранилища. Этого хватит большинству пользователей ПК. Чтобы “забить” терабайт, нужно еще постараться!
С другой стороны, вы можете пользоваться облаком на нескольких девайсах сразу, сохраняя все важные файлы в одном месте. Нативные приложения FEX.NET доступны для Windows, MacOS, Android, iOS, а также на телевизорах с функцией Smart TV.
Приложения делают сервис удобнее и открывают новые, не всегда очевидные возможности. Так, с помощью FEX Backup вы можете импортировать данные из других облачных хранилищ. Для этого зайдите в настройки программы и выберите для бекапа локальную папку Яндекс.Диска, Google Drive или OneDrive. Все файлы из этих “облачных” папок будут дополнительно копироваться в отдельные объекты на FEX.NET. Просто и удобно.
Теперь о стоимости. Временное хранение данных (до 7 дней) бесплатно. Если вы хотите просто переслать большие файлы, то недели хватит с головой. Если вам нужно постоянное облако, покупаете аккаунт FEX Plus и храните ваши файлы 30 дней или дольше. 1 ТБ хранилища всего за $1 в месяц. Будет еще дешевле, если попасть на акцию или купить сразу на год.
Итак, FEX. NET – кросплатформенное облачное хранилище с предпросмотром файлов, неограниченной скоростью, повышенной безопасностью, поддержкой файлов до 200 ГБ каждый и с целым терабайтом памяти на борту. Стоит попробовать!
Участвуйте в акции и выигрывайте подарки от FEX.NET!
6 основных тенденций, которые будут популярны в веб-разработке в 2015 году
Автор: Редакция ITVDN
Введение
Подошел к концу 2014 год и самое время спросить себя: «Какие тенденции будут преобладать в сфере веб-разработки в 2015 году?». Представляем вашему вниманию подборку трендов, которые, по нашему мнению, будут популярны в следующем году.
1. Адаптивный дизайн
Вместе с ростом популярности на планшеты начал расти спрос на адаптивный дизайн, сегодня это - неотъемлемая часть любого сайта. С помощью “Responsive Design” пользователь сможет спокойно просматривать Ваш сайт на любом девайсе, будь то PC или мобильный телефон. Зачем Вам адаптивный дизайн? Ответ простой, сейчас все больше пользователей просматривают новости через разные устройства с разным расширением экрана, поэтому выбор ресурса напрямую зависит от удобства его использования на всех носителях. Главный критерий выбора – ширина контента не должна превышать ширину экрана, иначе пользователю будет неудобно воспринимать информацию и он к вам больше не вернется.
2. Плоский дизайн (Flat Design)
Плоский дизайн начал набирать свою популярность после релиза Windows 8, благодаря компании Microsoft и ее Metro-стилю. Концепция плоского дизайна заключается в том, что двухмерные изображения не перегружают восприятие пользователя и уменьшают загруженность ресурса. В плоском дизайне отсутствуют лишние эффекты: тени, блики и градиенты, в противовес им выдвигаются яркие цветовые решения.
3. Карточный дизайн
Карточный дизайн — это способ подачи контента на страницах сайта. Каждая карточка содержит в себе определенную информацию, это дает ресурсу возможность концентрировать внимание пользователя и легко группировать содержимое сайта. Главное преимущество данного типа дизайна — это легкость взаимодействия пользователя с Вашим сайтом, ведь карточки легко можно опубликовать на своей странице в социальных сетях, сохранить в избранное или прокомментировать. Первопроходцами карточного дизайна считаются Pinterest и Google+. Благодаря своей отзывчивости и адаптивности все больше сайтов переходит на карточный дизайн.
4. Фоновые изображения и видео
За последнее время все большую популярность набирают ресурсы с широкоформатным изображением или видео на фоне, с небольшой цитатой поверх него. Этот прием идеально подходит для сайта-портфолио или сайта-визитки.
5. Рисованные иллюстрации и шрифты
Сайты с рисованной типографикой или иллюстрациями подкупают своей неповторимостью. Все больше сайтов начали использовать в своем дизайне элементы, разработанные вручную, именно под определенный проект. Эти детали делают сайт уникальным и запоминающимся, пользователю приятней пользоваться таким сайтом, он захочет рассказать о нем другу и обязательно вернется сам.
6. SVG иконки и анимации
SVG — это специальный язык разметки векторной графики, который разрабатывается W3C с 1999 года. Возможность создавать SVG изображения доступна в большинстве векторных редакторов: Illustrator, Corel Draw или Sketch. SVG-графика часто используется для создания иконок, они выглядят качественней и легко адаптируются под разные расширения экрана. И напоследок, с помощью SVG можно создавать анимированные иконки.
Источник: http://www.sevensignature.com/blog/articles/top-10-sign-things-come-2015-web-design-trends/