Си шарп видео уроки

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса 512 256 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 8 рублей.

Первый взнос - 256 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 256 рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 512 руб./30 дней + 512 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE SQLite - Знакомство 00:14:18
40 чел. ★ 5 Done
  База данных "в кармане" SQLite - отличный выбор для мобильных и портативных разработчиков.
В этом видео мы скачаем и запустим базу, создадим первую таблицу,
добавим несколько записей и напишем пару SELECT запросов.

Отчёт отправил: 10558. Иван Воронин Выполнено за 19 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Как видно из скриншота, я протестировал свои догадки и оказалось всё так как я и думал, проблема в том, что консоль sqlite3 криво работает с юникодом, каждый символ занимает два байта и если ширину выставить нечётную, в моём случае я поставил 15 и последняя буква в именах Александр и Владимир были вопросиками, а если 14 или 16, то обрезало имена нормально, без артефактов. Почитав официальный форум разработчиков sqlite, подтвердил свою версию, этот баг им известен, но они его ещё не решили. От себя могу сказать лишь одно, это проблема официальной консоли, как сказал один из разработчиков, чтобы устранить баг, надо написать свою консоль. т.е. написав свою программу работы с базой, можно не бояться этого бага, так как отображение и обработка данных уже будет полностью зависеть от вашего кода, как напишите как и будет отображаться. 
2 SQLite - Подключение из Java 00:13:06
34 чел. ★ 5 Done
  На этом уроке мы подключимся к базе данных SQLite из программы на Java.

Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт]
Научился: Установке CLASSPATH для подключения сторонних библиотек 
Сложности: найти время 
Комментарии: Отличный урок, но чтобы не перезагружаться, я через консоль установить переменную среды CLASSPATH, после чего приложение успешно отработало. см. скриншот. 
3 SQLite - Insert 00:12:25
31 чел. ★ 5 Done
  На этом уроке мы избавимся от статика.
После чего мы реализуем подключение к нашей базе SQLite: users.db,
Далее реализуем возможность добавления записей в нашу базу посредством консоли.

Путь подключения библиотеки в Intelij IDEA:
File -> Project Structure... (Ctrl+Alt+Shift+S) -> Modules
Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Запуску jar приложения с необходимыми библиотеками из консоли. 
Сложности: найти время 
Комментарии: Пришло изрядно погуглить, поэксперементировать, так как очень много либо устаревшей либо просто не соответствующей действительности информации на просторах интернета, как в прочем и всегда. Но я всё же нашёл то, что искал, просто и красиво запускается jar файл с необходимыми библиотеками относительно пути запуска. Работает всё идеально. Так же модифицировал код метода insert(), добавив вариант отката изменений в БД, если произошла ошибка транзакции. Так же поддержка мультитранзакций, который так же проверяются перед тем как закоммититься в БД. Пригодится в будущем, при сложных, взаимосвязанных транзакциях. Отличный урок, на первый взгляд простой, в IntelliJ IDEA проблем не возникло с добавлением внешней библиотеки, но хотело это реализовать через консоль. На что и ушло основное время. 
4 SQLite - Select 00:09:40
28 чел. ★ 5 Done
  На этом уроке получим список записей из нашей базы SQLite: users.db.
Для этого мы реализуем метод select() в классе Program().
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Добавил вначале отображение текущего списка, после чего запрос на добавление записи и опять вывод списка, чтобы видно было, что запись действительно добавилась. Отличный урок, коротко и ясно. 
5 FREE SQLite - Самостоятельная работа 00:05:08
23 чел. ★ 5 Done
  На этом уроке у меня для вас самостоятельное задание.
Смотрите видео для подробного описания.

Отчёт отправил: 10558. Иван Воронин Выполнено за 14 час. 00 мин. [Показать отчёт]
Научился: Работе с SQLite в Java 
Сложности: найти время 
Комментарии: Реализовал поддержку ввода имени БД, если таковая не найдена, то предлагается создать её со всеми необходимыми таблицами для корректной работы системы. Если же БД будет найдена, автоматически к ней подключится и отобразит количество студентов и лекций, которые в ней присутствуют. Потратив не мало времени, всё же удалось решить проблему с полной поддержкой русского языка как при сохранении в БД, так и загрузки оттуда. Так же записи на русском языке корректно отображаются и через консоль SQLite. На видео демонстрация работы программы: 1 - добавление 5 студентов 2 - добавление 5 лекций 3 - запись всех студентов на все лекции 4 - после добавления студента на лекцию, предлагается сгенерировать для него сразу 10 случайных оценок, если отказаться, то в последствии только вручную можно будет добавлять оценки. 5 - отображение карточки студента после того как ему добавили оценки 6 - отображение списка студентов 7 - отображение списка лекций 8 - отображение статистики успеваемости по всей БД Сделал динамичное обрамление статистики, чтобы не дублировалось название лекции более 1 раза при списке из нескольких студентов Так же сделал отображение лучшего среднего бала суммарно не по всем лекциям, как предложено в задании, а по каждой лекции и студенту отдельно. Таким образом, если максимальный средний балл будет одинаков сразу у нескольких студентов, они будут отображены, а те, кого не показали, значит у них по всем предметам средний балл соответственно ниже. Естественно добавлена защита от ввода недопустимых значений, запись студента только на те лекции, которые доступны для записи (на те, на которые он не записан, просто не отображаются в списке и если попытаться ввести их айди, выдаст ошибку) Отображается общее количество оценок в шапке таблицы, а сама таблица выводит только те лекции, где больше всего оценок, если оценок одинаковое количество сразу у нескольких лекций, то отображаются все. Модернизировал класс ConsoleArt(), добавлена поддержка выбора кодировки в которой будет отображаться информация в консоли. База данных состоит из 4 таблиц, как видно из видео, каждая таблица хранит в себе свои данные, которые связаны между собой при помощи айди записи, тем самым оптимально используя ресурсы БД и скорость работы с ней. з.ы. Так как подобную программу уже делали в курсе Java Book, но там использовали сериализацию в качестве хранения данных (с ростом размера БД она работала бы дольше, чем эта версия с SQLite). Решил использовать наработки по оформлению программы и заимствовал часть функционала, которые пришлось переписать для оптимальной работы с SQLite запросами, так как запросы возвращают уже необходимые данные, а не всю БД целиком. В итоге эта версия программы намного интереснее и лучше, чем версия с сериализацией =) Всем спасибо за просмотр, делал несколько дублей, в итоге решил сделать техническое видео, так как саму программу написал уже давно, а всё никак не залью отчёт, так как хотелось добавить и видео (как сказал студент Игромистра: Михаил Острый - тут двумя скриншотами не обойтись). 
Видеообзор: gzgMuP91w5E
  Итого:   5 видеоуроков 54 мин.
22 чел. ★ 5  
  Финалисты:   Елена,   Gražvydas Kairys,   Сергей Соколов,   Фомичева Наталья,   Новопашин Владимир,   Vladimir Falejev,   Алексей В.,   Michail Ostryj,   Николай Миролюбов,   Tekashnik,   Александр,   Валерий Жданов,   Александр Заскотченко,   Иван Воронин,   Andrej Gladkov,   Aleksej Fiodorov,   Andrej Petrunev,   Povilas Abramovicius,   Kiril Krutiajev,   Sergej Šugajev,   Dmitry Sinitsin,   Иван .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: База под одним именем, таблица может быть под другим. Не перепутай, Склихософский! Такое себе капсом написал. До этого бился, как муксун на сплаве, в непонимании, отчего это простые запросы не работают? Точка с запятой, опять же, где надо, где не надо - и это давало попотеть. Свой запрос: вывести имена студентов с оценками по возрастанию. SELECT student, point FROM points GROUP BY student ORDER BY point ASC;
Трудности: Долго не мог понять, чего это из Java не добавляются записи в таблицу. Оказалось дважды было прописано Connection co. После того, как в методе убрал второе упоминание Connection перед co - записи полились рекой в таблицу базы. Как и прежде слабое знание синтаксиса - бич эпохи.



Научился: Научился копировать и работать с БД SQLite.
Я как вспомню как мы ставили MS SQL Server - это просто песня. Иной раз затягивалось на полдня. А тут скопировал, поставил и все работает. Мне нравится. Другой вопрос насчет индексов, производительности, джобов и прочего. Ну да ладно - аппетит приходит во время еды.