Результати пошуку за запитом: 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 навіть суперпрофесіоналам доведеться докласти чимало зусиль, щоб досягти успіху.
Реєстрацію на найбільше європейське ІТ-змагання – DEV Challenge XX відкрито!
Автор: Редакция ITVDN
Шукаєш нетривіальні виклики для своєї IT-кар'єри? Прагнеш продемонструвати свої навички та знання у справжньому бою?
👉Реєстрація за посиланням: https://cutt.ly/uwxW4OBd
Обирай свою номінацію:
Backend
Frontend
Testing
Product Design
UI Design
Крім призів отримуй:
🔸 Вихід на новий рівень складності завдань, з яким можеш впоратись, корисний стрес та апгрейд навичок.
🔸 Нетворкінг та обмін досвідом із експертами ІТ-сфери: 2500+ учасників та 40+ суддів за сезон. Гарна нагода знайти однодумців, партнерів по проєкту або менторів у потрібному напрямку.
🔸 Можливість заявити про себе та визнання як професійного ІТ-спеціаліста від провідних компаній-партнерів.
Традиційно, більшість завдань учасників будуть пов’язані з соціальними ІТ-рішеннями для допомоги Україні. Разом до перемоги!
Вступ
Автор: Олександр Шевчук
У даному відео уроці розглядається структура курсу "Шаблони проектування" та проводиться короткий огляд книги "Прийоми об'єктно-орієнтованого проектування". Паттерни проектування” з обговоренням її достоїнств і недоліків. Також автор презентує книгу «Design Patterns via C#», яка у доступному, зрозумілому та спрощеному вигляді пояснює призначення та застосування патернів у створенні програмного забезпечення.
Тема вебинара: "Адаптивный веб-дизайн: типы адаптивных макетов"
Этот вебинар посвящен теме создания адаптивного веб-дизайна для сайтов, показана разница между адаптивным (Adaptive) и отзывчивым веб дизайном (responsive web-design), приведены примеры таких сайтов, рассказано о существующих адаптивных макетах. Так же в вебинаре слушатель найдет примеры создания адаптивных макетов с использованием таких инструментов как медиа-запросы (@media) и фреймворк Bootstrap.
Шаблони проектування
Автор: Олександр Шевчук
Програмне забезпечення, створене за допомогою різних мов програмування, спрощує наше життя - сьогодні без нього неможливо уявити сучасний світ. Подібні досягнення багато в чому завдячують шаблонам (патернам) проектування - архітектурним конструкціям, які описують типові способи вирішення найпоширеніших проблем при проектуванні програм. У відео курсі будуть детально розглянуті понад 20 патернів, які спрощують життя розробникам та допомагають створювати якісний продукт.
Як додатковий матеріал до цього курсу ви можете завантажити книгу Олександра Шевчука “Design Patterns via C#”
Предисловие к курсу "Шаблоны проектирования"
<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!