Обучение C#

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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







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



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 Установка EasyPHP без видео
85 чел. ★ 4.9 Done
  Мы начинаем создание Интернет-магазина.
Для работы нам потребуется Мастерская веб-программиста.
Самый простой способ - скачать и установить EasyPHP.

Ссылка: www.easyphp.org/
Скачайте и установите Develop with Devserver.

После этого откроется панель управления -
надо будет запустить Web Server и DB Server.

Проверить, что сайт работает: http://127.0.0.1/

Внимание! Для Windows XP/Vista скачивайте предыдущую версию:
en.softonic.com/s/easy-php-5.2/windows-xp
Проверить, что сайт работает: http://127.0.0.1:8888/

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 11 мин. [Показать отчёт]
Научился: Чтобы запустить Dashboard после инсталляции пришлось перезагрузить ОС Win7 x64. До перезагрузки порт 1111 не открывался и второго скриншота не мог сделать. Перезапуск операционки помог. До полной перезагрузки работала лишь часть функционала (запуск и остановка вебсервера откликалась и проверялась страницей с адресом на первом скриншоте). EasyPHP — сборка для PHP-разработчиков. Возможна установка пользователем Portable версии на USB-накопитель. Поддержка модулей-расширений таких как WordPress (Блог), SPIP (англ.), Drupal, Joomla (CMS-системы), Prestashop (интернет-магазин), phpBB. 
2 Запуск базы данных без видео
76 чел. ★ 4.9 Done
  На этом уроке мы запустим базу данных, откроем консоль, создадим базу данных, зайдём в неё и создадим там таблицу для хранения товаров.

Внимание!
MySQL запросит пароль - нужно просто нажать Enter (пароль пустой).
Если не выйдет подключиться, проверьте, что база данных запущена!

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 22 мин. [Показать отчёт]
Научился: -u root -p Получив доступ ко всем файлам системы, вы можете производить любые манипуляции связанные с вашим устройством, вплоть до удаления системных файлов. По ключам: -p, —password — Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем. -u, —user - Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин. Используется, если логин отличается от имени пользователя для соединения с сервером MySQL. 
3 Добавление товаров без видео
75 чел. ★ 4.9 Done
  На этом уроке мы добавим в нашу базу данных три товара.
Для этого нужно написать SQL-запросы INSERT.
Для того, чтобы увидеть добавленные записи -
нужно набрать команду SELECT *.

Если вы открыли консоль базы данных заново -
то перед началом работы необходимо зайти в свою базу данных -
команда USE Volosatov (используйте свою фамилию).

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 26 мин. [Показать отчёт]
Научился: USE Volosatov сработало и без точки с запятой в конце. INSERT вставляет новые строки в существующую таблицу. Форма данной команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в команде значениями. Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц. 
4 phpMyAdmin без видео
71 чел. ★ 4.8 Done
  На этом уроке мы будем добавлять записи в базу данных через интерфейс phpMyAdmin.

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 54 мин. [Показать отчёт]
Научился: phpMyAdmin — СУБД на языке PHP - веб-интерфейс для администрирования СУБД MySQL. Функции: администрирование сервера MySQL, запуск команд SQL, просмотр содержимого таблиц и баз данных. 
5 SELECT запросы без видео
66 чел. ★ 4.9 Done
  На этом уроке мы выполним несколько интересных запросов к нашей базе данных.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 36 мин. [Показать отчёт]
Научился: SELECT – «проекция» (выбор столбцов). FROM – отвечает за операцию «декартово произведение». Если указана одна таблица - значит «взять как есть». Если несколько через запятую, то результат FROM-a будет их декартово произведение. Декартово произведение - перебор кортежей первого отношения с каждым кортежем второго отношения. WHERE – «селекция» (выборка строк). Будет выбрана та строка, которая удовлетворяет данному условию. 
6 Запуск РНР без видео
65 чел. ★ 4.8 Done
  На этом уроке мы запустим первый скрипт на РНР.
Предполагается, что у вас уже установлен и запущен EasyPHP.
На рисунке показана схема действия для PHP Devserver 16.

Если у вас версия PHP 5.3.5, то нужно РНР файл создать в папке
C:\Program files\EasyPHP-5.3.5.0\www
В браузере необходимо открыть страницу:
http://localhost:8888/

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 56 мин. [Показать отчёт]
Научился: Принцип организации циклов не отличается от C#, переменные лишь начинаются со знака $. &nbsp - пробел <br>  - возврат каретки <pre> - текст отображается моноширинным шрифтом и со всеми пробелами между словами. <pre> позволяет обойти правило HTML, когда по умолчанию, любое количество пробелов идущих в коде подряд, на веб-странице показывается как один. 
7 Всё готово для работы без видео
65 чел. ★ 4.8 Done
  На этом уроке мы убедимся, что у нас всё готово для работы.
1. Установлен EasyPHP
2. Открыта WWW папка.
3, Открыта РНР страница в браузере.
4. Запущена консоль базы данных.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 22 мин. [Показать отчёт]
Научился: LAMP сборка под Win - это WinAMP дистрибутивы, сконфигурированные в один пакет компонентов (Apache, MySQL и PHP) web сервера скомпилированных для работы на Windows. Можно установить все эти компоненты по отдельности на свой комп самому, но удобнее пользоваться готовыми сборками, где уже все компоненты настроены между собой. 
8 Подружить PHP с MySQL без видео
60 чел. ★ 4.9 Done
  На этом уроке мы подружим РНР с базой данных.
Для этого используется несколько комманд, как на картинке.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 8 мин. [Показать отчёт]
Научился: SQL SELECT NOW() возвращает текущую дату и текущее время компьютера. Если надо только дату - SELECT CURRENT_DATE(); 
9 Товары в таблице без видео
59 чел. ★ 4.9 Done
  На этом уроке мы выведем все товары на экран браузера через РНР.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 29 мин. [Показать отчёт]
Научился: mysqli_fetch_assoc - возвращает ассоциативный массив, соответствующий выбранной строке или NULL, если строк больше нет. Если два или более столбца результата имеют одинаковые имена полей, последний столбец будет иметь приоритет. Имена полей, возвращаемые этой функцией, регистро-зависимы. 
10 Картинки для товаров без видео
61 чел. ★ 4.8 Done
  На этом уроке мы подберём картинки для каждого товара.
1. Создать папку images в директории с РНР файлами.
2. Вывести на экран все записи.
3. Для каждого товара найти картинку.
4. Сохранить картинку под тем же именем, что и в базе данных.
Размеры всех картинок должны быть примерно одинаковыми.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 23 мин. [Показать отчёт]
Научился: Создал, вывел, нашел, сохранил, сделал - видны. И ДПСника нашел для порядка ) 
11 Таблица с Картинками без видео
57 чел. ★ 4.8 Done
  На этом уроке мы добавим в нашу таблицу отображение картинок.

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 24 мин. [Показать отчёт]
Научился: SELECT прирос запросом на поле image. В таблице тегом <th> добавили поле Picture. Через переменную $row ["image"] в последнее поле добавили изображения товаров. 
12 Форма Товара без видео
51 чел. ★ 4.9 Done
  На этом уроке мы начнём создавать админку,
в которой можно будет редактировать и добавлять товары.
Начнём с создания HTML-формы для добавления записей в базу.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 38 мин. [Показать отчёт]
Научился: POST - запрос, веб-сервер принимает данные, заключённые в тело сообщения, для хранения. Используется для загрузки файла или представления заполненной веб-формы. GET предназначен для получения информации от сервера. 
13 INSERT из РНР без видео
50 чел. ★ 4.9 Done
  На этом уроке мы добавим в edit.php
запрос для добавления товара в базу данных.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 5 мин. [Показать отчёт]
Научился: string addslashes ( string str ) Возвращает сроку, где перед каждым спецсимволом добавлен обратный слэш (\). Экранируются одиночная кавычка ('), двойная кавычка ("), обратный слэш (\) и NUL (байт NULL). Сам символ \ в базу данных записан не будет. Записи в базу корректно вносились лишь в латинице. Вместо кириллических знаков возвращались знаки вопроса. Пришлось вспомнить правила написания запроса DELETE. Немного поборолся. Поскольку в запросе не прописано поле image, все новые записи имеют значение NULL в поле image. 
14 SELECT из РНР без видео
46 чел. ★ 5 Done
  На этом уроке мы сделаем считывание товара из базы данных по ID номеру,
который передаётся в скрипт через адресную строчку методом GET.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 43 мин. [Показать отчёт]
Научился: Ассоциативный массив параметров о продаваемом товаре поместили в переменную $row и передали скриптом через URL (Uniform Resource Locator, единообразный локатор (определитель местонахождения) ресурса). Не самый защищённый способ, ибо передача параметра происходит явно в адресной строке браузера. Закомментировав последнюю команду die ($id); получил в браузере вывод экранной формы. 
15 Товар на форме без видео
46 чел. ★ 4.9 Done
  На этом уроке мы удалим строчки с "print_r" и "die",
чтобы скрипт продолжил работу и вывел форму.
Внутри формы в качестве "value" значений мы
подставим полученные из базы данных значения.

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 13 мин. [Показать отчёт]
Научился: В методе post вместо жестко указанного id: 1  ввели PHP переменную $id. В методе post вместо жестко указанного value="Велосипед" ввели PHP переменную массива $row[ware]. В методе post вместо жестко указанного текстового поля <b>Детский велосипед</b> ввели PHP переменную массива $row[info]. В методе post вместо жестко указанного value="1999" ввели PHP переменную массива $row[price]. Добавили ссылку на изображение товара из переменной $row ["image"] Не кожна пташка летить до середини Дніпра. 
16 UPDATE товара без видео
45 чел. ★ 4.9 Done
  На этом уроке мы будем использовать запрос
UPDATE для изменения данных в таблице.
Сначала посмотрим, что было в базе,
потом внесём изменения, и посмотрим, что стало.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 36 мин. [Показать отчёт]
Научился: UPDATE - внести изменения в информацию в таблице WHERE - условие, куда применить изменение в определенные WHERE колонки. Если не будет условия WHERE изменения затронут все столбцы. LIMIT - для ограничения количества рядов для изменений. 
17 Сохранение изменений без видео
42 чел. ★ 5 Done
  На этом уроке мы доработаем скрипт edit.php
При нажатии на кнопку SAVE происходит отправка данных формы методом POST.
При этом в адресной строке остаётся GET параметр "id".
Значит, если указан GET ["id"], то логика следующая.
При наличии POST-данных мы выполняем UPDATE запрос.
Если POST-данных нет - мы выполняем SELECT-запрос, как и раньше.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 21 мин. [Показать отчёт]
Научился: добавили if / else развилку. 
18 Значения по умолчанию без видео
42 чел. ★ 4.9 Done
  Итак, наша форма работает в двух режимах:
1. Отображение данных для редактирования (когда указан параметр id).
2. Пустая форма для добавления нового товара (когда параметр не указан).
Впрочем, если открыть в браузере edit.php без параметров - можно увидеть Notice сообщения.
Это связано с настройками РНР, чтобы это исправить, нужно задать значения по умолчанию.
Для этого мы добавим блок "else" к условию "if isset get id" (то есть когда id не передан),
и в нём установим значения по умолчанию для новой записи.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 34 мин. [Показать отчёт]
Научился: Добавили заглушку при отсутствии ввода методом if-else. 
Сложности: Найти как грохнуть пустую рамку без картинки (onerror="this.style.display='none';") 
19 Нет картинки без видео
42 чел. ★ 4.9 Done
  Что делают интернет-магазины, когда у них нет фотографии товара?
Размещают заглушку "нет фото", что мы сейчас и сделеаем.
Найдите в интернете картинку "нет фото" и сохраните её
в папку images под именем nophoto.jpg.
Далее, пропишем это название картинки в данных по умолчанию.
Таким образом мы исправишил ошибку отсутствия фотографии!
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 34 мин. [Показать отчёт]
Научился: Причесали форму edit.php 
20 Редирект на список без видео
42 чел. ★ 4.9 Done
  После добавления/редактирования товара
принято делать переадресацию на список товаров.
Это можно сделать разными способами,
с использованием РНР или JavaScript.
На этом уроке мы применим оба способа.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 38 мин. [Показать отчёт]
Научился: переадресация на wares.php 
21 Интерактивный список без видео
40 чел. ★ 5 Done
  На этом уроке мы сделаем вызов страницы редактирования из страницы со списком товаров.
Для этого мы вначале страницы разместим ссылку «Добавить новый товар»,
а на номер товара сделаем ссылку на открытие окна редактирования товара.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 14 мин. [Показать отчёт]
Научился: Значение в поле ID стало гиперссылкой и переводит на страницу соответствующую ID -> http://localhost/edit.php?id=1 
22 Отправка файла без видео
38 чел. ★ 4.9 Done
  На этом уроке мы начнём отправлять файл через форму.
Для этого вам нужно сделать следующее (см. список ниже).
* Попробуйте отправить слишком большой файл (больше 10 мегабайт).
* Коды ошибок: http://php.net/manual/en/features.file-upload.errors.php

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 29 мин. [Показать отчёт]
Научился: $_FILES - переменная для пересылки файлов через HTTP. 
23 Сохранение файла без видео
36 чел. ★ 4.9 Done
  На этом уроке мы сохраним полученный файл в папку "images".

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 24 мин. [Показать отчёт]
Научился: $filename = $_FILES ["image"] ["name"]; - из системной переменной графический файл помещён в переменную $filename 
24 Запись имени файла в базу без видео
29 чел. ★ 4.9 Done
  На этом уроке мы запишем имя файла фотографии в базу данных.
Это нужно сделать в двух местах - при обновлении (UPDATE) и добавлении.(INSERT).
Добавляемый текст выделен серым фоном.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 18 мин. [Показать отчёт]
Научился: Допилили http://localhost/edit.php до возможности править фото товара имеющегося уже в прейскуранте. 
25 ФИНАЛЬНЫЙ УРОК без видео
26 чел. ★ 4.8 Done
  На этом наш экспериментальный фотокурс завершается.
Мы создали админку товаров для интернет-магазина.
Целью курса было практическое знакомство с HTML, РНР и MySQL.

Напиши, пожалуйста, отзыв об этом фотокурсе.
Что понравилось, что нет, что можно сделать лучше.

Какой курс ты будешь проходить следующим?
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 5 дней 21 час. 47 мин. [Показать отчёт]
Научился: UPD 20180826 Добавил видеоотчет в фотокурс, не догадавшись это сделать сразу, ошибочно предполагая, что в фотокурсе финальному уроку видео не требовалось Этот марш-бросок вызывал и оторопь и восторг от успехов, и необходимость напрягать мозги, и гуглить как ошпаренная кошка. Курсант не имеющий представления о PHP получит первые навыки, люди опытные разомнут извилины, всяк своё найдёт. Полного освоения Personal Home Page Tools этот курс не даст, но знакомство с темой, дошедшему до финала обеспечено. Желать большего количества подсказок == лишать курсантов счастья погуглить по теме. Ищущий всяко обрящет. Сетовать на отсутствие видеопояснений тоже глупо - посмотришь другие курсы, одному не нравится что слишком разжевывают, другому - мало объяснений. На всех не угодишь. Спасибо за курс, такой какой есть. В следующей серии вы увидите YII الله عظيم 
Видеообзор: PCLPQEkd63U
  Итого:   25 видеоуроков 00 мин.
26 чел. ★ 4.89  
  Финалисты:   Varkus Maksim,   Иван,   nik,   Šatravka Vladislav,   Tautavičiūtė Anastasija,   Ender,   Tekashnik,   Владимир,   Alcatraz,   Špakova Anastasija,   Максим,   Voskoboinikova Ana ,   Юрий,   Сергей Соколов,   Иван Воронин,   Новопашин Владимир,   Сергей Сергеевич,   Rita,   zhikharevav,   Алексей В.,   Dmitry Sinitsin,   vip,   Слава,   Yefim,   Yaroslav,   Andrew .

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





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

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

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

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


Научился: Отличный фотокурс. Мне понравился. Я познакомился с PHP и MySQL. Много нового для себя узнал в HTML и CSS. Это было круто!!! Следующий курс... Пока надо закончить те что есть =)
Трудности: Поскольку ничем подобным я раньше не занимался сложности иногда возникали, но известная поисковая система всегда выручает =)
Все отлично! =)


Трудности: Было сложно, когда самостоятельно добавлял что то новенькое на сайт.
Добавил форму, где можно добавлять категории и выводить в сайдбаре, при этом переходя по ссылкам, выводил содержимое которое относится к конкретной категории. С этим я долго мучился. Сделал чтобы при добавлении товара, можно было указать какой категории относится. Сделал Title динамическим, выводит то название в каком разделе находишься. Скажу правду,такой подход к программированию с моей стороны не правильный, но для ознакомлении думаю самое то) Свой магазин ни кому не посоветую, потому что как я не старался все файлы отделять, все равно это не то. Видел как пишут движки не большие, там полностью ООП PHP, классы, функции и т.п. Есть баг я так и не понял почему, когда делаешь другую вкладку , в первой вкладке CSS слетает, но обновив страницу, все становится нормально, но затем другая вкладка такая же проблема. Что я хочу сказать об этом курсе: Курс очень понравился, много самостоятельной работы, приходилось думать) По больше таких курсов про PHP И MySQL желательно с видео обзором))) Я доволен что прошел этот курс.