C# обучение сайт

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

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

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

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

После взноса 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 Active Record - UML 00:08:03
23 чел. ★ 5 Done
  Мы начинаем работу с Шаблоном проектирования
Active Record (активная запись), который предусматривает
выполнение основных операций с базой данных.

Это значительно упрощает процесс создания программ.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Разрабатывал аналогичную систему для оптимизации использования ресурсов серверной части одной из игр, чтобы в БД было меньше запросов, так же кэшировались недавние записи по этой же схеме. Так же использую аналогичную систему при разработке сайтов, которые не используют какие либо движки БД. Очень интересно посмотреть на реализацию данного шаблона проектирования, сильно ли он отличается от моей версии или нет. 
2 Active Record - User - Imitation 00:08:13
20 чел. ★ 4.9 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы создадим проект "ActiveUser",
после в корне проекта создадим папку "users",
а уже в ней будем создавать файлы записей пользователей.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: найти время 
Комментарии: Аналогичный вариант использую при разработке сайтов, если нет необходимость в использовании больших БД, отличный урок "Пользователя ПК" =) идём дальше. 
3 Active Record - User - Create 00:09:52
20 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы начинаем создание программы "ActiveUser",
для доступа к файлам пользователей в папке "users".
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Вместо удвоенного обратного слэша можно использовать один слэш, он работает корректно как в винде так и в никс системах, тоже самое и в php. Всё коротко и ясно, идём дальше. 
4 Active Record - User - Select 00:07:55
1 тест
20 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы реализуем считывание данных пользователей из файла в папке "users".
Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Реализовал метод update(), так же реализовал передачу логина в виде параметра в метод select(). Да, аналогичную систему я реализовал для работы с аккаунтами/профилями на некоторых сайтах. Очень удобно, когда нет надобности в большом количестве данных, для которых уже удобнее использовать БД. Но пока не то, что было реализовано для игровых серверов. Всё коротко и ясно, идём дальше, может ещё что-то интересное будет =) 
5 Active Record - User - Delete 00:08:47
20 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы реализуем обновление данных пользователей
и удаление данных о пользователе.
Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Да, я так подумал, лучше при апдейте не передавать параметры, так как это будет громоздко, особенно когда параметров будет дофига, поэтому убрал передачу параметров, которую реализовал в прошлом уроке и оставил только строчку create(); так как именно так и реализовал в прошлом уроке, это было очевидно =) В методе delete() добавил строчку file.delete() в условие if, так как этот метод возвращает булевое значение, удалось удалить или нет, тем самым реализовал сообщение в чате по этому поводу. (см. скриншот) По поводу супер-тестирования ничего особого в голову не приходит, так как не очень понял что именно подразумевается под этим словом: если нагрузку или скорость работы, то как было сказано на одном из прошлых уроков, можно создать цикл генерации кучи аккаунтов, создание, удаление, обновление и т.д. замерив время потраченное на это. Если что-то более глубокое, то это рассматривается далее по курсу Шаблонов, пока до этого дела не дошёл, поэтому пока данные виды теста не проводил ни разу, мне до сих пор хватало личных тестов в виде логов, чтобы отлавливать баги, если вдруг ПО странно себя ведёт. 
6 Active Record - User - Randoms 00:10:13
1 тест
19 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы организуем супер тестирование нашей программы,
для начала создадим 1000 записей случайных пользователей.
Отчёт отправил: 10558. Иван Воронин Выполнено за 45 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Модернизировал все методы в классе User() чтобы проверялся путь на корректность, наличие файла, чтобы случайно не перезаписать и т.д. Имена генерируются немного иначе, тем самым при генерации 1000 записей, попалось 5 дубликатов, о которых было написано в консоли и они небыли перезаписаны, потому-что были созданы в прошлых итерациях. 
7 Active Record - User - Select all 00:10:47
19 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы создадим 10_000 записей случайных пользователей,
после чего реализуем поиск по заданным условиям.
Отчёт отправил: 10558. Иван Воронин Выполнено за 45 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Реализовал поиск самых богатых, самых молодых и самых богатых среди молодых. Реализовал вспомогательный метод, для корректного округления double значений, а то всё же проскакивали более двух знаков после запятой, что очень не красиво выглядело при формировании таблицы да и вообще, никто напильником не будет зарплату с одного цента спиливать =) Можно ещё оптимизировать, чтобы процесс работы с большим объёмом файлов был быстрее, но времени и так не мало потратил. Идём дальше. 
8 Active Record - User - Update all 00:09:35
1 тест
18 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: "Active Record".
На этом уроке мы реализуем несколько поисков по нашей базе
из 10_000 записей случайных пользователей.
Отчёт отправил: 10558. Иван Воронин Выполнено за 45 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Для каждого метода получения необходимой информации добавил вспомогательный метод отображения это самой информации в красивой таблице. Вместо возвращения самого молодого и т.д. пользователя использовал ArrayList() так как если по зарплате рандом не попал из-за малого количества сгенерированных пользователей, то по году рождения их было более 1, а выводить только одного не верное решение (см. скриншот). Предварительно удалили все записи и запустил все методы с нуля, и уместились на экране все фазы. Добавил отображение информации во время индексации и удаления пользователей для наглядности. Я думаю подобные методы обработки базы пользователей, можно спокойно перенести в класс User(), по аналогии с методом selectAll(). Мини курс по Активным записят отличный, но он аналогия того, что я реализовал сам и использую при реализации некоторых сайтов. Но при реализации данного метода на игровых серверах не хватает системы кэширования часто используемых пользователей, дабы уменьшить нагрузки на БД и увеличить скорость работы серверов в целом. з.ы. Хотел добавить систему кэширования, чтобы ускорить работы с файлами пользователей и обновлять их только в том случае, если они были изменены в кэше (ОЗУ), но так подумал, что это может быть реализовано как VIP урок или что-то типо, да и времени и так не мало потратил на этот урок, так как было сложно остановиться оптимизировать его и наводить марафет =) 
9 ФИНАЛЬНЫЙ УРОК без видео
4 теста
6 чел. ★ 5 Done
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный шаблон проектирования, очень хорошо подходит для разработки сайтов, где нужен самый дешёвый хостинг. Так же отлично подходит для оптимизированной работы с БД, если немного доработать его =) 
  Итого:   9 видеоуроков 1 час. 13 мин.
7 тестов
6 чел. ★ 4.99  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Andrej Petrunev,   Tekashnik,   Dmitry Sinitsin,   Yefim .

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





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

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

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

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


Научился: Active Record представляет собой Шаблон проектирования, позволяющий значительно облегчить работу с базами данных. При этом создаётся класс с полями, соответствующими полям базы данных и методами CRUD Create, Read, Update, Delete Для работы с каждой записью создается отдельный экземпляр класса. В данном курсе приводится пример использования Базы данных без каких-либо специализированных профессиональных пакетов, заточенных для работы с базой данных. Курс упрощен до предела. В качестве отдельных записей используется обычный текстовый файл. А это позволяет быть полным хозяином положения, ибо под контролем программиста оказывается каждый байт. У курсе реализуются все основные методы для манипуляции с записями базы данных. Приводится пример создания супер теста, при котором генерируются тысячи записей, с помощью которых проводятся различные испытания. Попутно я узнал о новых методах для работы с файлами и каталогами. Курс оказался для меня очень полезным, а полученные знания я собираюсь широко применять в своей работе. Большое СПАСИБО автору - ВОЛОСАТОВУ Евгению Витольдовичу!



Научился: Познакомился с шаблоном ActiveRecord. Теперь стараюсь его применять везде где только можно =)
=)