Спасибо за ответ!
какой напишете, такой и будет. просто многие порты используются ОС под что-то еще (были случаи неработоспособности скайпа или веб сервера php, когда они на одном порту были). 3000 рекомендуется express.
Однако есть такой вариант написания :
const PORT=process.env.PORT || 3000
т.е. в порт передается все, что находится в переменной окружения PORT, а если переменная окружения не задана, то 3000
Возможны и иные потребности в параметрах qr кода, которые навскидку не видны
Причин, как мне видится, несколько:
1. "Глазу приятнее" - на самом деле это не такая глупая причина, и имеет достаточно глубокие последствия, особенно в наше время. Вся индустрия дизайна и достаточно большАя часть маркетинга товаров построена на том, что конечному потребителю должен быть "приятен" вид продукта, в том числе и его визуальное восприятие. Благодаря этому приобретут больше товара, и производитель выиграет. И различная цветовая гамма (ну и размеры) qr-кода играет на то, чтобы qr-код наиболее логично и красиво вписывался в дизайн и цветовое оформление конечного продукта
2. В повседневности используются qr-коды различных размеров - от совсем крохотных (на пробках от шампанского или пузырьках лекарств) до просто гигантских (на стенах супермаркетов, автобусах, рекламных растяжках). И необходимо работать с qr-кодами без искажения изображения, чтобы не было проблем со считыванием
3. Внутренняя сущность. Библиотека qrcode базируется на работе с элементом canvas, который (мы это рассмотрим, я планирую сделать курсы графики для Node JS и JS) имеет множество параметров для изменения размера, работает с различными цветами изображения и фона, и разработчики библиотеки qrcode решили не блокировать эти свойства, а по максимуму использовать (для достижения целей, которые я описал в п 1 и п 2)
ого))) qr в power shell немного сжатый, но всю графику отлично сохранил
Всегда пожалуйста.
Из самого яркого - провёл вебинар "Создание Архиватора Хаффмана", по результатам моей работе в Отусе по ведению курса "Алгоритмы и структуры данных".
www.youtube.com/watch?v=BKMliUkEZvs
Здравствуй, Тимоха!
Этот проект я делал очень давно. Чтобы вникнуть и углубиться в проблему потребуется много времени, а у меня его сейсас нет. Советую обратиться к автору или к тем сейчас этот проект проходит. Извини...:(
Здравствуйте, Евгений Витольдович!
Большое спасибо за подарок! Обязательно воспользуюсь им.
Может быть посоветуете, что нового было за последнее время?
Здравствуйте Yefim, у меня тоже возникли сложности с этим уроком и с предыдущем уроком тоже. Кнопка добавления товаров в корзину работает, а если нажать на кнопку "Корзина" то выскакивает ошибка, уже вторую неделю не могу найти причину. Я так и не смог решить эту проблему. Что только я не делал. Пожалуйста поделитесь с проектом урока 19(Корзина. Что из этого мне нужно?)
Подписка в Клуб формулистов обновлена.
Количество дней: +40
Количество байт: +512
Подписка КФ до: 2021-12-31
Остаток байтов: 512
Вы являетесь участником Клуба формулистов.
Так же интересует данная тема. Надеюсь когда нибудь освоить ее. По моему нужная функция для многих задач.
Посмотрел. Посмеялся. Первый. И так далее ,)
Костя, я познакомился, но с РНР я еще зеленый. В двух словах я не отвечу.
Есть ли отличия у for для java от for для php? Вы, вероятно, уже с разными языками познакомились.
Ого! Цикл for, часто встречается в программах. Хорошая тема для изучения. Так держать)
На линуксе тоже был такой момент, выбор микшера нужен по умолчанию или прописать, вызов микшера подробно, попробуйте в 28 строке вызвать метод с параметром null(выбрать микшер по умолчанию).
Добрый день, Yefim! Класно, после такого отзыва и мне захотелось пройти этот курс. Хотя основы ооп знаю, но эту область наверное можно изучать бесконечно - так как нет той линии когда ты можешь сказать что я полностью изучил ооп. Всегда открывается что-то новое - что ты не знал. Витольдович конечно молодец - хороший ресурс делает!
Подписка в Клуб формулистов обновлена.
Количество дней: +2020-12-31
Количество байт: +512
Подписка КФ до: 2020-12-31
Остаток байтов: 25600
Вы являетесь участником Клуба формулистов.
Войти в среду IDLE. Там будет все по русски. Или похимичить с настройками cmd. Но это выходит за рамки курса
Подписка в Клуб формулистов обновлена.
Количество дней: +90
Количество байт: +747
Подписка КФ до: 2020-09-26
Остаток байтов: 25000
Вы являетесь участником Клуба формулистов.
у вас хорошо получается, а главное не спешили, а обдумывали, обмозговывали это прекрасно:) ведь в любом деле не нужно спешить. поспешишь людей насмешишь. в нашем случае программа сама не поймет чего хочешь от нее и самому потом придется разбираться в ней полностью перебрав все строчки кода. а оно надо? уж лучше не торопясь))
Тут много устаревшей информации по курсам. Стал решать задачи по джаваскрипту на стороне - много нового и изменившегося открывается. Самый простой пример - объявление переменной нынче стали делать через let вместо var устаревшего. Так что, удивляться не стоит, надо читать у разработчика на сайте что вышло на замену. Помню, что даже пометка об устаревании не мешала работе программы.
Хорошая работа , картинка смешная , смысл картинки интересный.... В общем так держать .
Рисуночек прикольный и хрюшка в разных ботинках в цвет обуви хищников =)
Молодец .... Продолжай в таком же духе . Желаю тебе хорошего настроения и упорства.
Это же отлично, если помог ) Одна из фишек этого сайта, что можно спросить и может и ответят.
Дмитрий, ты не поверишь, но именно этот вопрос я хотел задать тебе напрямую. Видел, что ты проходил этот курс. Видимо, Бог прочитал мои мысли и Ты первый, кто ответил на мой вопрос. Большое спасибо тебе! Но думаю, этот пункт не только у меня вызвал вопрос.
Левый верхний угол картинки отступить на 20 по х, на 20 по у, от родительского элемента(на котором она размещается) Марджин организовать просят, как я понял.
Я про класс недопонял, прошу прощения ) Абстрактный метод - метод класса, реализация для которого отсутствует. Если реализации инита не предусматривается, то почему бы и не определить его как абстракт, можно и попробовать ведь. Проверить работу кода.
Дмитрий, но doRead() тоже всего лишь метод. Но он определен как абстрактный.
Инит же метод вроде бы. Всего лишь метод, зачем его до класса повышать?
А у меня вообще никакого антивируса нет и никаких проблем не создается
Здорово, что все получилось. Я в своем антивирусе добавил папку с моими проектами в исключения . И теперь лишних вопросов не получаю.
Yefim молодец, что справился. Если буду проходить эти уроки возьму на заметку по поводу антивируса. Спасибо
Евгений Вмтольдович, Вы преувеличиваете. В видео уроке я явно видел как текущее время меняется прямо в коде. Мне не удалось найти это место.
Спасибо, хорошая работа, Ефим.
Подписка в Клуб формулистов обновлена.
Количество дней: +90
Подписка КФ до: 2020-06-28
Остаток байтов: 24064
Вы являетесь участником Клуба формулистов.
да, это id в таблице user
Если реализован Синглтон, то там выполняется проверка при создании экземпляра объекта. При обнаружении уже существующего экземпляра, новый не создается, а вызывается имеющийся. Из скриншота не видно наличие синглтона.
Я по твоему примеру сделал, так у меня при вводе отрицательного числа выводится "Цена и дальше по иностанному", а когда ввожу буквы, вместо цифр, все нормально пишет по русски, странно... А так то спасибо за это решение
Конечно я всё понимаю, все говорят что может случится что-то плохое, но как правило происходит всё наоборот.
Я надеюсь мои острые шутки ни кого не обидели.
Николай, я надеюсь, ты понял, что это была шутка. Мне вообще грех обижаться на 13-е число. Ведь я родился 13 числа.
Как удобно всё сваливать на число тринадцать,
а позавчера была пятница тринадцатое - вообще катастрофа .
Да не понятно, а как себя ведет метод старт без публика?
Плюсы впечатляют!
Хорошо сделали удачи вам в дальнейшем изучении
Без труда не выловишь и рыбку из пруда, работать надо для этого много.
Я никогда не стремился заработать байтики на сообщениях. На сегодня у меня их более 20000. Если бы можно было бы их кому-то из формулистров подарить, я бы это сделал с удовольствием.
Ага, напрягаться приходится, чтобы сформулировать чего бы такого написать чтобы получить пару байтиков за развёрнутый комментарий, да такой чтобы не такой чтобы набор )))
Какие тут могут быть вопросы и так есть чудесно!
О, хорошо, что здесь всё, как надо
Если это известно, откуда проблема с кодировкой?
В кодировке ANSI проблем не должно быть!!!
Может стоит попробовать какой-нибудь encoding
Молодец, Николай! Твое замечание следует добавить к уроку.
С первой сотней! Надеюсь не с последней - курс затягивает как хороший сериал )
Даёшь сотый урок! Чем больше нас там, тем выше вероятность, что Валерий Владимирович выдаст прорыв до двухсотого урока и это уже будет суперкурс, выше которого здесь не бывало )
начальНик (это про SuperUser-а). остальное всё логично
я пока тоже не нашел)) но обязательно это решим)
Спасибо, Николай! echo помогает одноразово, после этого программа перестаёт работать.
А запись в файл должно помочь. Попробую.
На счет того, что данные не удаляются непонятно, ведь переменная $tmp каждый раз формируется заново.
Данные не удаляются поэтому последующие выборки неправильные, дальше должно быть по понятней. Вывести моно попробовать через
echo , print или var_dump($data); Если не получится нужно записывать в текстовый файл примерно так:
$f = fopen('text.txt', 'a+'); //Открываем текстовый файл на запись
fwrite($f, date('Y-m-d H:i:s'). "\n"); //Записываем дату в текстовый файл
fclose($f); //Закрываем текстовый файл
Индейские мотивы в логотипе угадываются, супер!
Красивое название. и логотип интересный
Как я понимаю, это решается добавлением ифЭлза в контроллер, проверяющий вводимую сумму на "больше нуля".
А Вы пробовали указывать цену больше -14000 в параметрах?
У меня генерируется такой запрос: SELECT * FROM bulletins WHERE status='public' AND date_pub >= '2019-11-17' AND date_pub <= '2019-11-17'
Я вошел в phpMyAdmin и выполнил этот запрос. Ответ оказался тоже пустым. Вероятно это происходит из-за того, что дата включает в себя и время. Когда я указал время, выборка отработала нормально ( в phpMyAdmin). Однако в форме не удается указать время, так как поле принимает только цифры. Непонятно почему? Ведь эти поля описаны как строки.
Если вторую дату записать '2019-11-170' то также все нормально.
проверить можно ( и нужно) всё.
То, что приходит на сервер, можно получить из переменных $_GET[], $_POST[]
Имеется ввиду проверить код или то, что приходит на сервер?
Можно ли проверить то, что приходит на сервер?
Объявления, опубликованные ?
Проверьте, какой у вас запрос генерируется
ну да, от регистра не зависит
С точки зрения пользователя поля поиска не заполнены, а он получает какую-то информацию.
а что же тут непонятного? если ничего не задано, отрабатывает запрос "SELECT * FROM bulletins WHERE status='public'". это выбирает всё по умолчанию, а нас предохраняет от пустых выборок.
Если Вы видите это по-другому (чтобы ничего не выводило), можете обыграть это с пустым запросом.
Дело в том, что проблема о которой я пишу не только у меня. В уроке она тоже есть. Возможно в следующих уроках прояснится ситуация.
Может проблема в том что Bulletin.php написан с большой буквы?
Думаю что что foreach и if лучше писать правильно
<?if($bulletins != null): //обязательно двоеточие ?>
<? foreach($bulletins as $bull): //обязательно двоеточие ?>
<?endforeach?>
<?endif?>
И на всякий случай надо сохранками в git. Здесь есть небольшой курс по нему. Очень советую.
С vendor берём на заметку
И бросьте мне архив с Вашим проектом на becwal@yandex.ru. Посмотрю, что случилось с ним
Если копия проекта есть, восстановите из неё. По поводу остального не скажу, не знаю, какие модели yii2 испорчены. По поводу календарика - перед composer update выполните команду composer self-update
Валерий, изучая урок 90 Расширенный поиск - дата публикации - виджет извне, я столкнулся с невиданной для меня проблемой. После команды composer update
я получил текст, говорящий о том, что что-то пошло не так.:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 13 updates, 0 removals
- Updating symfony/polyfill-intl-idn (v1.12.0 => v1.13.1): Downloading (connecting...)
Could not fetch api.github.com/repos/symfony/polyfill-intl-
idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d6, please create a GitHub OAuth token to go over the API
rate limit
Head to github.com/settings/tokens/new?scopes=repo&description=Composer+on+Efim-%3F%3F+2020-01-
21+1619
to retrieve a token. It will be stored in "C:/Users/Efim/AppData/Roaming/Composer/auth.json" for future
use by Composr.
Token (hidden):
Но главная проблема не в том, что не получилось отобразить календарик, а в том проект сломался полностью.
Как мне выйти с этого положения?
Спасибо за оценку. Хотелось бы более детально изучиать каждый урок и вносить свои изменеения. Но опыт показывает, что это следует делать после завершения курса.
Иначе изменения кода могут привести к побочным явлениям в дальнейших уроках.
Молодец! Очень красиво вышло! Я тоже в скором времени планирую изучать массив actions со списком полученных от сервера транзакций.
Вы сделали приемлемое отображение результатов. Планируете ли вы как-то в дальнейшем развивать этот урок или планируете переходить на следующие видео?
Класс, что получилось! Всегда было интересно сетевая разработка. Это считается вообще отдельным видом программирования.
средствами yii2-никак. только средствами bootstrap, используя колонки
О, Ефим нас догоняет! Отлично
Проверяйте, есть ли в AdvsearchForm свойство info
Вроде написано что в модели / AdvsearchForm.php полагаю перепутано информация и цена. Возможно публичная переменная или значение в функции rules() не правильно указано должно быть так:
return [
[['date_pub_n','date_pub_o'],'string','message'=>'Должна быть введена дата'],
[['title','info','city','contacts'],'string','message'=>'Должен быть введен текст'],
[['price', 'price_from', 'price_to'],'double','message'=>'Должна быть введина цена'],
];
Yefim, Вас что-то на проекте "Доска объявлений" не видно. Я кое-что записал новое) и ребята догоняют
Привет, отличная работа. Молодец!
Вызывать map.PlaceShip(); наверное нужно для обновления карты, можно попробовать закомментировать и посмотреть на результат.
Каким образом делаются такие картинки ?
Интересный курс. А ам через интернет можно будет играть или только по локалке?
Спасибо, Даниил! А кнопочка временная, для тестирования. Если дать ей приличное имя жалко будет потом удалять её :).
Хорошая работа! Только кнопочку нужно переименовывать)
Молодец, отличная работа! Поздравляю с полуфиналом!
Валерий, С новым Годом!
А в отношении визуальной демонстрации, я не имел ввиду скриншот кода (его я могу и сам сделать). В большинстве случаев код влияет на графическое представление нашей программы. Так вот хотелось бы увидеть это. Наверняка на следующих уроках это будет.
визуальная демонстрация скриншотов набранного кода - вещь не очень хорошая в "политическом" смысле: проходящие курс на ранних этапах могут подглядеть этот код в отчетах)))
Подписка в Клуб формулистов обновлена.
Количество дней: +90
Количество байт: +256
Подписка КФ до: 2020-03-30
Остаток байтов: 23747
Вы являетесь участником Клуба формулистов.
Отлично, Ефим, классная у тебя доска получается, дальше еще круче будет, там много вкусных плюшек...
Ответы на вопросы будут в следующем уроке
Рад, что прошел такой полезный видеоурок! Игры писать, как ни крути, веселее.
navbar-left - позиционирование слева, navbar-right - справа
по поводу ЕВ ничего не скажу, я ему писал в телеграм, но он сейчас не часто отвечает
navbar-left и navbar-right если поменять, тогда "Администрирование" переместится к окну поиска, что выглядит не очень хорошо
Валерий, моя просьба о помощи связаться с Е.В. отменяется.
Я разобрался с пролемой сам.
Да, Валерий, Вы оказались правы. Мы ,действительно включили в поиск поле info, но оно в нашем случае не отобрадается.
Неплохо бы как-то выделять найденные места.
Еще одна просьба на другую тему. Пару дней назад я отправил письмо Евгению Вотольдовичу с просьой о помощи. Раннее он всегда отвечал. Каким образом можно с ним связаться?
А в отчетах предшественников по этому уроку нет ли подобной ошибки? Когда затык, я поглядывал в раздел с «Статистика и отчеты», бывало что находил ответ.
а в поле info нет сочетания "Куку"? ну там например "В эту библиотеку входят такие шедевры, как 'Полет над гнездом кукушки', 'Руслан и Людмила' и тому подобное "
На счет бага, это у всех так, любое совпадение в текстах срабатывает, я вводил букву "а", открылись все объявления, где присутствовала данная буква
Синхронизация - круто, как в настоящей современной сетевой игре. Не все уроки идеальны )
Яков, как это будет в конечном виде, я не знаю. Но во вспомогательных проектах, входящих также в этот курс, анимация уже есть.
А там прямо анимация боев реализуется ( полеты снарядов и так далее)?
Отлично, Ефим.
Классные видеокурс. Тоже хочу его пройти. Очень пригодится для понимания разработки сетевых игр.
Молодец. Рад, что все получается. Чет все эту доску объявлений делают. Прям тренд.
Не за что, Ефим)) а видео хотелось бы посмотреть,судя по твоим отчетам, этот курс очень интересный
Интересный проект, длинный, смотрю на твои отчеты и вижу, что проделана большая работа
видимо уже не за горами финальный урок, надеюсь будет видеообзор, хотелось бы посмотреть,
что получилось в итоге))
Отлично! Как говорил один мой знакомый, заработав на фрилансе хорошие деньги: "ПХП - рулит!"
Отлично
Спасибо, Валерий, за отличную новость. С удовольствием продолжу.
Yefim, день добрый. я еще в "Доску объявлений" накидал уроков. можно проходить дальше.
Отлично. Базы данных весьма востребованы. Так держать. Не забрасывай на полпути.
Ефим, рад вашим успехам и настойчивому продолжительному обучению.
Судя по всему вы уловили главную идею наследования) Значит, урок выполнен не зря. Действительно, величину можно т не вычислять каждый раз, нет в этом необходимости. А сократить количество строк в коде не помешает)) Так держать, удачи в дальнейшем обучении!
Правильно строить архитектура уже необходимое условие разработки на сегодня.
Очень интересная работа. У тебя отлично выходит, нужно и дальше прокачивать свои навыки, всё будет замечательно.
Молодец!Так держать , меньше и меньше ошибок.
Поздравляю с финалом, жаль что не до конца сайт доделали, я уже стесняюсь у Валерия спрашивать - будет ли продолжение курса
надеюсь, что будет, хотелось бы доделать
у меня не выстраиваются, идут отдельным рядом
Я посмотрел - у меня кнопка "Управление" для фото работает нормально все три строки списка выполняют свою задачу
По поводу последнего - будем разбираться. Остальное дело вкуса
ответы на вопросы: 1) пока правильно, потом поправим 2)рассмотрим позже
Все кнопки будут работать корректно - далее, на следующих уроках.
классно!
отличный список!
Спасибо, Ефим!
Кстати, клавиатуру я все же нашел в интернете(в продаже для моего ноута небыло) и теперь дело пошло быстрее))
Отличный отчет, Степан, получился. А для первого раза вообще - супер!
всё можно. попробуйте поиграть со стилями в цикле тем foreach() - если тема в перечислении равна выбранной, то стиль кнопки btn-primary, в остальных случаях btn-info
Я не против)))
Попробуйте зарегистрироваться здесь: www.komtet.ru/ . я этим ресурсом пользуюсь время от времени. Он платный, но плата символическая. Зато на хостинге есть и php, и MySQL.
вопрос на вопрос: что Вы подразумеваете под реальным сервером? если хостинги, там практически всегда MySQL сервера есть, чтобы базу данных разместить. а если сами будете в сети сервер разворачивать на облаке, то придется потрудиться, установить MySQL и создать БД
Главное, что они найдены и исправлены
Если речь идет о возвращении на предыдущую страницу, то браузер с этим отлично справляется. Если же по кнопке переходить на объявления по заданной теме то это другая задача.
в браузере есть специальные кнопки, которые переведут нас на объявления той темы, которую мы захотим? не слышал про такое, честно
Да, я исправил код и теперь все работает!
Багодарю за помощь
А мне кажется, что так удобнее, что-бы не возращаться на главную страницу, можно сделать шаг назад или выбрать тему связанную с подобной
О, отличное дополнение!
Молодец, Степан! Ты Нашел БАГ!
Дело в том, что функция getThemesBullCount() возвращает количество объявлений без учета статуса.
Я ее подкорректировал так:
return count($this->getBullCurrTheme());
И теперь отражаются только опубликованные объявления.
А у меня вот количество объявлений не уменьшается - если снимаю с просмотра, даже не знаю почему
В принципе ноль может быть. Кто-то желаеть отдать что-то в хорошие руки.
Цена конечно не корректная -9999 , для покупателя выгода хорошая, но надо как-то исправлять ситуацию
условие if(цена <= 0) добавить надо бы
Этого к сожалению нет, надо какую нибудь кнопку делать с выбором валюты или еще что нибудь в этом роде.
Проблемы приняты
Но сегодня в нашей системе у пользователя нет возможности определять валюту.
По поводу указания валюты, на одном из видео, Валерий подсказывал как вывести нужную - доллары или рубли
<td>Цена:</td>
<td><strong><?= $bulletin->price ?></strong>
<i class="glyphicon glyphicon-rub"></i>
</td>
выводит рубли
Прямой Эфир - это круто! В в ближайшие субботу и понедельник я не смогу. В остальные дни после 19:30 по Москве.
О, хорошо идете, Ефим. Догоняйте Степана, и пойдем по этому курсу практически " в прямом эфире" ))) (а можем в принципе и организовать прямой эфир - вебинар на троих, где я несколько уроков запишу).
Только получится у меня или в конце этой недели, или в начале следующей.
ну смотря для чего необязательное)) если из Доски объявлений сделать магазин, то можно поздравлять активных пользователей с Днем рождения и предлагать соответствующие товары (торты, конфеты, подарки и т.д.)
img src="/logo.png". Не забывайте про слеш
О, это отлично! Потом обязательно в итоговом видео покажите, как это получилось: заведите объявление с одним фото и покажите, что кроме авы в списке пиктограмм-картинок ничего нет.
Кстати, как вариант можно обыграть автопроставление аватарки - если только одно изображение, оно автоматом становится аватарой. Но это не всегда необходимо
думаете, необходимо при выводе коллекции выставить условие - отображать, если количество элементов больше 1?
Отлично, обязательно попробую тэг <pre>, может с ним получится. Еще раз благодарю.
В опэн сервере "Пипетка"? Не знал, надо будет поискать.
Спасибо за подсказку, Ефим!
Я как-то писал о проблеме с <br>. Мое предложение использовать тэг <pre>.
Степан, кстати, в опэн сервере включена программа "Пипетка".
Молодец, Степан! Я тоже высоту определилю Так глазу приятней.
Отлично!
Дороговаты книжки, пятьсот сорок с небольшим за одну получается, да наверняка не новые, надо бы цену скинуть немного))
шутка, все у тебя отлично
отличное решение вывести дату публикации в таблицу
Я нашел причину проблемы: после обновления я не делал редактирования.
Однако, я обратил внимание,что после каждого редактирования функция nl2br(...) в каждую строку текста добавляет <br>. И это, на мой взгляд, это некорректно, так как пользователь, может редактировать текст сколько угодно раз. И тогда тэги будут накапливаться. Мое предложение использовать тэг <pre>.
Как решить проблему, не знаю. У меня nl2br() норм сработала.
Интим не предлагать! ))) Иллюстрация на пять баллов )))
Это можно сделать как минимум двумя способами:
1. Добавить в таблицу фотографий поле Статус, задавать в него значение «Аватара» и выводить это в представление, если значение именно такое
2. Разработать функцию сравнения кода аватарки в объявлении с id фото и тоже выводить «главная» при true результате
Оба варианта Вы можете реализовать сами ( а также предложить свой). Материал и навыки для реализации любого из вариантов мы с Вами в течение данного курса изучили и отработали.
Лично я считаю подобное излишним, но если в Вашем проекте это необходимо, попробуйте реализуйте))). Все у Вас получится. Потом в итоговом видео покажете, как реализовали и как получилось
Практика показывает, что даже просто скопировать с экрана готовый код и то не так просто ) Сколько раз наблюдалась картина в отчетах «делаю, как в уроке - ничего не получается», и ведь так и есть - код один в один, а результат совсем не торт )
Разница версий, фреймворки не те, скобки не там, кавычки упустил. Сколько этих подводных камней нужно пройти, перед тем как начать свое что-то писать.
Это мысли вслух про тезис о простоте копирования готового кода с видео. Или это я только такой невнимательный?
А заодно и слепым методом попрактиковался)
Удачи!
что за готовый код?
почему? Стилями можно подогнать, задать высоту изображения
см уроки далее. там решались проблемы с ajax. если не получится, будем разбираться с кодами
а какой тут рефакторинг? тогда по дереву скакать придется: дочерние элементы отлавливать или наоборот родительские. а тут у каждого свой идентификатор
<div class="input-group infofield" style="display: none" data-id="<?=$photo_->id?>" >
<input type="text" data-id="<?=$photo_->id?>".....
<button class="btn btn-success infosave"
data-id="<?=$photo_->id?>" >
немного не понял, где это используется три раза? вроде на каждый div по разу
отлично!
Я не заметил такого, чтобы подсказки стали заглавными буквами... честно сказать по возврату режима прописных букв ничего не подскажу, не знаю
да, всё абсолютно верно!
Вот это звук! Вот это дикция! Снимаю шляпу и прикрепляю отчет! Спасибо за видео, удовольствие слушать и внимать.
Успехов!
Полностью тебя поддерживаю, Ефим, курс действительно отличный, автору спасибо
Обзор получился отличный, за теплые слова спасибо)). Поиск будет обязательно, кроме того сделаем обязательно классификацию объявлений по группам, а также предусмотрим возможность сортировки по дате публикации. Насчет дублирования - как получится.
Спасибо, приятно слышать))
Великолепный Видеообзор! Причем и по форме и по содержанию.
Получил большое удовольствие!!!
да в любой социальной сети, в том же "вконтакте", можно сколько угодно добавить одинаковых файлов. Главное, что на сайте называться они будут по разному
и у меня такое... будем разбираться дальше) кейс посвятим "защите от дурака", там решение и поищем))
Конечно можно. Причём Вы сами можете это сделать ( по итогам данного урока). Попробуйте, у Вас получится.
да никак это на работу системы не повлияет - просто у формы в визуалке будет идентификатор "addser-Form". это будет иметь значение, если JS и jQuery будете применять, а php при обработке формы и не обратит на это внимания
Спасибо Ефим, решил проблему. в настройках сервера поменял порт и все получилось, программу скачал
Степан, Программа Tcpview.exe показывает какие порты заняты в системе и какие программы их используют.
Мне она помогла выявить виновника.
Ниже привожу ссылку, где ее можно скачать:
docs.microsoft.com/en-us/sysinternals/downloads/tcpview
Степан, я действительно сталкивался с этой проблемой. Подробности не помню. Вспомню - напишу.
Подскажи, если знаешь, что делать с такой ошибкой
2019-10-12 07:45:51 --------------------------------------------
2019-10-12 07:45:51 Начало процедуры запуска сервера
2019-10-12 07:45:51 Невозможно занять порт 80 поскольку он уже используется: Cлужбы Windows
2019-10-12 07:45:51 Сбой запуска!
Open Server выдает такое сообщение
отлично!
ну отлично, что всё теперь как по маслу))
а какое преимущество перед перегруженными методами дадут нам глобальные переменные?
Спасибо за подсказку!
Да я вообще редко парюсь по поводу неё, больше ужасов вызывают сообщения yii2
Насколько серьёзно следует относиться к предупреждению красной точки? Я заметил, что вашем коде тоже это присутствует.
Подсветка пропадает, так как Нетбинсу надо знать, что в этом месте вставляется код именно php. PhpStorm в этом плане демократичнее
Спасибо, Валерий. Слеш действительно помог. Но вторая кнопка тоже работает. И это логично. Ведь файл index.php находится в папке bulletins и видимо, нет необходимости ее описывать.
Попутно у меня возник ещё вопрос:
Редактор NetBeans пометил файл index.php красной точкой с восклицательным знаком.
с подсказкой - Синтаксическая ошибка
неожиданный конец файла.
я нашел причину в строке
<?php foreach($public_bulletins as $public) { ?>
если пишем
<? foreach($public_bulletins as $public) { ?>
то не ругается но пропадает подсветка синтаксиса в этом фрагменте.
Причем функциональность в обоих случаях не меняется.
Кликни на Дополнительные параметры. Проверь разделитель целой и дробной части.
Да, в консольном приложении всё также. Простите, не совсем понял, а что именно нужно проверить в параметрах "Язык и региональные стандарты"? Просто, если честно не совсем понимаю как формат даты может на это влиять?
Заранее благодарю!
Интересно, метод double.Parse(...) в консольном приложении также не принимает точку? Если да, то надо проверить параметры ОС "Язык и региональные стандарты".
а зачем перед bulletins/addbulletin нет слеша?
Спасибо за поздравление))) Вам тоже успехов в курсах и исполнения желаний
Потому что «город» Вы сделал вне панели, панель у Вас раньше закрылась. А по нормальному должны быть на одном
Молодец, Иван. Настойчивость, как правило, приводит к успеху!
Отлично получилось. Без глиф-рисунков теперь никуда))))
отлично!
Доброго дня! Выскочило оповещение о новом видео на канале Евгения Витольдовича - так и прознал про активность. Может это и не вебинар был, так видео по написанию шахматного алгоритма. Спросил про марафон этой осенью, не пора ли снова затеять, очень уж бодрил год назад марафон по Соло Шахиджаняна. В ответ было " а почему бы и да" )))
Быстро идём, Ефим)))
В том, то и особенность данного проекта, что надо последовательно выполнять предложенные задания.
Задание в уроке:
заключается в том, чтобы перейти по ссылке к роботу шарпу в раздел "задачи". Решить там задачу.
Проблема:
робот Шарп не пускает решать заданную на уроке задачу, так как у меня не пройдено достаточное количество консольных задач из раздела "Алгоритмика".
Решение которое должно быть принято на мой взгляд:
либо делать данные задания открытыми для всех, либо просто написать информацию в заголовке урока, что мол в связи с "бла-бла-бла", пока вы не пройдете консольные задачи данный курс не начинайте.
А так я просто пропускал эти уроки, а мог бы чему то научиться. Да я уже не злюсь, отпустило )
Злиться не надо. Как правило это не помогает. Согласен, что если, нет обратной связи - это не хорошо, можно даже сказать плохо. На этом сайте обычно помощь приходит. Если нет реакции, то возможно из-за технических причин. Чем я могу помочь. Сформулируй конкретно в чём сущность проблемы.
Дмитрий, а как ты узнал о вебинаре? Я например, ничего не получал.
хорошо что всё получилось. насчет доп сервисов (в том числе и восстановления пароля) подумаем
а в блоках col-lg-6 в представлении кто будет размещать? или Вы новую страницу создали? я просто поменял параметры уже существующей формы
отлично. внимательнее следите за ходом урока))) там встречается даже то, что я не замечаю по ходу своего объяснения)))))
В этом отчете
www.videosharp.info/11589/checking/bulletin=2524
объявление класса контроллера. Файл названия контроллера начинается с заглавной буквы. Но результат прежний.
Попрошу скриншот с объявлением класса контроллера. Файл названия контроллера желательно начинать с заглавной буквы (т.е. UserController)
это Вам нужен блок col-lg-12 и центрирование кнопки
Ответ: позже рассмотрим)) (я просто забыл об этом ))) простите))) )
Перейти на другое поле. Будет переход фокуса, и сообщение исчезнет
Отличейший урок, Валерий. Его бы разместить в начале курса. Большое спасибо!
))) смотрите за сообщениями на страницах ошибок, Ефим. На yii2 очень хорошо реализована служба сообщений об ошибках. Чуть позже Вы встретите на курсе урок, посвящённый именно этому. Если хотите, я могу дать Вам ссылку на видео, где я показываю, как работать со страницами ошибок
Примите поздравления в победе над багом и приросте опыта и навыков!
Большое Спасибо, Валерий! Я разобрался. Моя ошибка заключалась в том, что метод getUserinfo() я разместил в классе UserinfoRecord, а нужно было в UserRecord. Новый отчет уже отправлен.
ну тогда открытым текстом спрашиваю: в модели userRecord поле userinfo есть? система его не находит.
возможно связь моделей userRecord и userinfoRecord сделана неверно. скриншот модели userRecord в студию!
Валерий, Я Вам очень признателен за то, что предоставили мне возможность попытаться найти ошибку самому. К сожалению, мне не удалось ее найти. Интересно, что строка с логином самостоятельно работает корректно.
Вообще, я не понимаю почему переменная $currUser в одном случае отображает поле из таблицы user, а во втором из таблицы userinfo.
Насколько мне ясно из сообщения об ошибке таблицу userinfo система не видит. Почему?
Внимательно читайте то, что Вам пишет об ошибке страница ошибок. Ваша ошибка отлично указана. А также смотрите подключенные модули
отчистка базы командой truncate
Ответы: вопрос 1 - здесь это не страшно, но если разворачивать на linux-серверах данный сайт, там будет проверяться
вопрос 2 - в модели LoginForm задать соответствующие сообщения на русском языке. этим мы займемся чуть позже на следующих занятиях. (если там недостаточно подробным будет рассказ, напишите мне, я распишу в личке)
отключать антивирус не решение проблемы. нужно прописывать в настройках разрешения. но это тематика курсов по антивирусам. они (курсы подобные) очень дорогие...
Может быть имеет смысл добавить текстом в заданиях, что некоторые антивирусы блокируют определенные действия команд. В этом случае антивирус следует временно отключить.
это магия! у антивирусов такая функция есть -перекрывать порты
Я не заю в чем было дело, но при отключении все проло нормально.
Антивырь перекрывает порты? В этом ответ был?
Валерий вообще радует своим вниманием к ученикам и активностью в отчетах по своим и не только курсах. Жаль, что такая активность лишь у него, кроме Евгения Витольдовича, естественно ))
ну здесь база данных, а не функционал программы))) в функционале может быть то, чего здесь нет))
Спасибо, Дмитрий! Это действительно СУПЕР, когда есть обратная связь с учителм!
Супер, когда есть обратная связь от учителя! В этом случае получается виртуальный класс. Как было хорошо, когда год назад Игромистр затеял марафон на Соло. Чувствовалось и единство учебы массы курсантов и состязательность и напор желания не прозевать сроки. А когда дается свобода выбора курсов, все занимаются своим индивидуально и сложно вникнуть в тему, которую ты не знаешь.
Вот бы снова общий марафон по какой-то теме всем сразу )
OSPanel - Правая кнопка мыши на значок в трее - настройки - домены - добавить папку - путь domains\bulletins\web\ . Запускается проект из подпапки web, а не из основной подпапки проекта
можно на becwal@yandex.ru, можно в телеграм в переписке (я там @wal).
немного не понял...у Вас на браузере отображался netbeans? на скриншоте отчета только два нетбинса были выведены - 11 и 8, браузер был на втором плане
Валерий, На скриншоте было всё, что показывает браузер. Понятно, что "отчет " я выслал не для того, чтобы мне его засчитали. Понятно, что пока я не решу данную проблему нет смысла двигаться дальше. Зато теперь, когда отчет снят, уже никто не сможет мне помочь, так как не сможет ни прочитать о проблеме, ни посмотреть на нее. В таких случаях разумно было бы организовать механизм отсроченного отказа. Я готов выслать скрин браузера, но не ясно куда высылать.
Пока отклоню, чтобы он в решённых не затерялся.как мы с Вами решим проблему, так и зачёт поставлю.
Я не вижу, что показывает браузер. Пожалуйста выложите мне скрин браузера, или вышлите в телеграм
Я бы кинул вопрос в техподдержку антивируса, может они что-то в логах увидят, что было забанено или в карантин утолкано.
Валерий, Добрый день! При выполнении урока 2 из курса "Доска объявлений" у меня возникли проблемы. Вот ссылка на отчет:
www.videosharp.info/11589/checking/bulletin=2509
Материал для продолжения не в том виде, чтобы выдавать на уроке. Необходима проработка.
Пойдёмте лучше на «Доску объявлений».
он не закончен, он законсервирован на неопределенное время
из информации - никак. это матчасть по yii2 пошуршать надо будет
1. Можно использовать 8.2
2. У меня не конфликтуют (у каждой своя системная и временная папки)
посмотреть через Панель разработчика (в google-подобных браузерах это обычно вызывается через F12), что за ошибки выдаются в JS. Потом их по возможности исправить
а как общим для всех? если поместить в общий див класса col-lg-3 col-md-3, все карты будут в одном столбике в четверть страницы
элегантно получилось!
Может и подойдёт. Я не задумывался об этом))
Валерий, мне удалось выяснить причину этой проблемы:
в файле style.css строку
background-image: url(/images/header.jpg);
надо заменить на
background-image: url(../images/header.jpg);
потому что кликом запускается файл из файловой системы. а система ссылок реализована для сайта. попробуйте загрузить созданное нами на хостинг или воспользоваться локальным хостингом для запуска, все будет нормально
да, провода хищно смотрятся!
Это новый электронный блок в разработке.
Владимир, у меня частный влрос по языку Си. Знаком ли ты с капризами функции sprintf(...);?
А что за плата с кучей проводов? Очень напоминает блок питания - могу ошибаться.
Терпение и труд меню развернут)))
Интересно, я сейчас попробовал пример в котором использовал 3 языка. Оказывается все работает корректно. Вероятно 'Brackets' автоматически в этом случае записывает в формат utf-8. Какой умный!
Дело в том, что в обычном блокноте есть возможность записать файл в формате utf-8. В этом случае этот файл будет корректно отображаться в любом Виндоус даже если основной язык не русский. Запись в этом формате позволяет в одном и том же файле использовать несколько языков (больше двух).
не понял вопрос... у Вас и так meta charset='utf-8'
Молодец, Ефим!Хорошее начало!
Если есть желание - всё получится! Главное не стесняться задавать вросы. Удачи, тебе!
Спасибо, DimanDOS! Ты очень проницателен. Картинки звездочек я не выбирал, а организовал их с помощью js. Сначали они были белого цвета и когда они ложились на Землю и Луну это сильно брасалось в глаза. Возиться с проверкой мне не хотелось и я решил их сделать серыми. Но твой внимательный профессиональный взгляд увидел это. Молодец!
"В начале ошибся с тэгом ul (написал lu) и долго искал ошибку."
- Я тоже так с завидной регулярностью делаю :)
Ух-ты! Ефим, прекрасно сделали! Очень красивая картинка вышла! :) Как я понимаю, вы нашли .png файлы Земли, Луны, звёздочек и ракеты или всё же на чёрном фоне, а звёздочки поверх (просто тогда там поверх ещё и самой Земли, Луны и корабля или стоит проверка, мол не находится ли звезда на территории Земли)? А так мне очень сильно нравится, прям очень красиво!
Использование using в середине кода показывает, что такая возможнлсть существует.
Предполагаю, что в этом случае компилятор лучше отримизирует код.
Причин для дублирования несколько: Если человек не проходил этот курс, то после данного урока может возникнуть желание его пройти или не проходить.
Кроме того, повторение урока лучше закрепляет знания.
Привет, Владимир! Это было давно и я точно не помню. Сейчас посмотрел в своём компе этот файл и понял, что минимально возможная пустая картинка размером в один пиксель. Вероятно необходимо было формально использовать файл, который как бы ничего не отображал. Делал я этот файл программой paint.net.
Ефим! Привет! А где ты взял файлик Zero.png и вообще как его сделать?
А потом из этого алгоритма создали метод ховер, когда при прохождении мышью над объектом выполняется привязанное действие.
Вместо минусов я там тире увидел и вспомнилась азбука Морзе. Дай, думаю, посмотрю что значат сплошные тире в той грамоте ))) Получилось забавно.
Я совсем не хотел сказать, что урок состоит из одних минусов. Напротив, я даже оценил его на отлично. Просто, ничему новому я не научился.
0 − − − − − нооль-тоо-оо-коо-лоо
Передаваться и приниматься азбука Морзе может с различной скоростью — это зависит от возможностей и опыта радистов. Обычно средней квалификации радист работает в диапазоне скоростей 60—100 знаков в минуту. Достижения по скоростным приёму-передаче находятся в диапазоне скоростей 260—310 знаков в минуту.
Что же хотел сказать уважаемый Ефим этой морзянкой? ))))))
Вопрос затронут очень важный. Н о у меня тоже нет на него ответа.
Я как раз и говорю, что пока не увидел преимущества. Если увижу, то сообщу.
И в чём их преимущество?.. коротко в двух словах расскажите )), я запомню их на будущее
Я уже как-то писал о том что каждой задаче надо присвоить имя или номер. Иначе, чтобы в комментарии было понятно о чем идет речь приходится приводить условие зачачи.
Так вот, в задаче: "С клавиатуры вводится последовательность чисел, заканчивающаяся нулём.
Каждое число на новой строчке..."
Нигде не говарится , что речь идет о целвх числах.
Трудоемкость подтверждаю. Много времени и сил ушло на эту табличку. А диагональную линию, как в образце - так ее вообще мало кто делает ))
Отличный обзор, DimanDOS! Классная видео съемка. Удачи тебе во всём!
Курс немного сумбурный, сразу прошу прощения за это. я наверное не буду размещать его на udemy, и здесь он останется бесплатным.
www.videosharp.info/video/netcore1
но, Ефим, сразу предупреждаю: в курсе использованы вирутальные машины, так что он возможно потребует использования компьютера с мощными ресурсами
Спасибо, Валерий! Первые 2 строчки - понятно, не мои.
Но твой пример тоже классный.
P.S. На днях увидел твой курс о DotNet Core. Но теперь не могу его найти.
Супер!
А я по этой тематике (с тегами конечно) в 2005 году записал такое стихотворение (автор-НЕ Я):
Утром на работу еду,
Взял - залез в карман соседу,
Думал, - он интеллигент...
Вынул руку - перстня нет.
Весомое достижение, скоро финал этого курса!
Полносью согласен с тобой, Евгений!
Подобные "уроки" должы быть свободными от оплаты.
Молодец, Мах! От тебя я узнал о существовании нового курса.
Хочу также его пройти.
Рубашка у доминошек мне понравилась.
Да. Удалось поиграть. Но надо совершенствовать правила, чтобы играть до победного конца.
Определи в какой строке ошибка.
Проверьте все вызовы hide. Что-то тут не так.
В том то и дело, что функция Hide() без аргументов, а старая функция с двумя аргументами удалена.
Требует некий аргумент, который найти не может.
Интересно, что совпадение с другим именем проходит нормально.
Вообще странно. Просто я вот попробовал назвать и namespace и класс Domino - у меня все восприняло. Ну тут нюанс - я сейчас большей частью программы под C# пишу на Rider.
Спасибо! Я тут со своими апгрейдами ноутов немного выпал из ритма и чую, надо вернуться на старые версии Windows, чтобы почувствовать почву под ногами ) То одно не идёт, то другое незнакомо, от этого уроки выпадают из графика. Да и работы прибавилось, вечерами заниматься стал. Прежде днем получалось по два урока делать, а тут один бы успешно закрыть )) Спасибо за подсказку, переделаю надеюсь успешно!
Дмитрий, Ты сделал долько три клеточки, а надо 64. Для каждой клеточки свой див.
Супер видеоотчет. Познавательно и понятно.
Спасибо, Владимир, за высокую оценку моего видео обзора. Видимо, не зря старался. Я, действительно, люблю программирование и это мне очень помогает и в работе, и в жизни. Правда, иногда и мешает так меньше времени уделяю своим близким.
Ефим большое удовольствие получил от просмотра вашего ролика. А вот любовь к программированию вам как-то помогает в работе или вашей жизни. Корабль сделан с очень большим вниманием к деталям - очень классно получилось - очень подробно и обстоятельно.
Спасибо, Игорь, за поддержку. Я рад, если пробудил желание пройти этот курс. Надеюсь, что не пожалеешь.
Молодец, Ефим. У тебя отлично все получается, отличные успехи. Вот я все хочу добраться до этого курса, пожалуй, следующим курсом после того, что сейчас уже прохожу, наверное будет "Новые технологии". Вот все смотрю отчеты формулистов и твои и чувствую прилив и желание дальше развиваться. Успехов тебе в развитии и всем нам тоже! =))
Развернутый комментарий приятно читать, как и прежде. Вообще заметил, что проект Евгения Витольдовича пробуждает мозги и дает пинок для роста. Сижу в машине, набираю текст не глядя на клавиатуру - прежде такое было непривычно, а ныне обыденность. Если еще и до боевого программирования удастся дорасти - это уже будет та самая вершина горы Фудзи, куда так хочется дойти ))
Следует также проверить: мешает ли фигура противника делать королю рокировку, если она (фигура) объявляет шах или простреливает поля рокировки.
Очень полезный видео урок (Форматирование)
Владимир, опция удаления есть. Каждый может удалить свое сообщение, если кликнуть на красный Х справа от слова Ответить.
Молодец, Ефим! Так держать! Классная программа получилось, креативненько =)
Ефим извините пожалуйста. Просто хотел исправить и вижу уже, что сообщение отправлено. Жаль, что нет функции редактирования или удаления сообщений - это большая недоработка проекта. Как говорила Фаина Раневская "В кино если пернешь, то пернешь в вечность". Точно так же и на этом сайте.
Дмитрий, не совсем понял вопрос. В ивритском алфавите 22 основные буквы. Каждая буква занимает определенное место на клавиатуре. Кстати, русское слово алфавит имеет ивритские корни от названия первых букв Алеф и Бет.
Владимир, моё имя Ефим. Я не фанат World of Tanks. Просто на прошлой неделе я с внуком оказались в России и пользовался его компьютером, в котором все настройки на иврите. Насколько иврит сложен? Нужда заставит выучить любой язык. А вообще язык очень логичный. У кого лады с математикой тому .легче дается.
Да, любопытно, как реализован набор клавиатурный на иврите? Насколько мудрено?
Эфим не думал, что вы фанат World of Tanks. Кстати, хотел спросить насколько сложен иврит в изучении (увидел наименование папочки на иврите).
ошибки нет, просто в видео уроке нет того что у меня в коде, потому-что этот урок записывался до сетевой версии, а в сетевой по курсу вносились изменения
Попробуй пройти урок на низкой скорости и внимательно поищи ошибку.
Компютер всегда прав! Ищите, Дмитрий, ошибку. Если её не найдёшь, проблемы будут нарастать.
Ефим всегда приятно твои отчеты читать - ты всегда с душой делаешь.
Спасибо, Игорь, за поддержку. Тебе также желаю удачи во всех твомх делах!
Да, это очень хороший курс, я его правда сам еще не проходил, но заочно представляю себе что в нем. В любом случае планирую его изучать . Ефим, молодец, что развиваешься, что движешься вперед и познаешь для себя все новое. Плодотворного тебе обучения...
Можно теперь звонить по телефону - через ip- телефонию.
Я тоже не понимаю зачем удалили picture - было прикольно.
Может быть и делал, но для того, чтобы пройти следующий урок необходимо было отчитаться за этот.
Ефим вы же вроде делали это задание.
Спасибо, Дмитрий.
Отксорить - выполнить операцию XOR.
Сложение по модулю 2 (исключающее «или», XOR, строгая дизъюнкция, поразрядное дополнение, инвертирование по маске, жегалкинское сложение, логическое вычитание, логическая неравнозначность) — булева функция, а также логическая и битовая операция, в случае двух переменных результат выполнения операции истинен тогда и только тогда, когда один из аргументов истинен, а второй — ложен.
Извини за отсталость, не понятно значение слова Отксорили.
Дмитрий, в том-то и прелесть этих видео уроков, что в любой момент ты можешь его остановть, вернуться назад в любую точку и повторить непонятный фрагмент. Мало того, ты можешь регулировать скорость видео. Прежде, чем переходить к слующему уроку, рекомендую пройти внимательно урок еше раз, найти все ошибки. Иначе ошибки будут накопливаться и найти их будеет еще труднее. Глпавное, не отчаиваться и у тебя все получится.
Большое спасибо!! Вы оказались очень внимательны! :-) .. проверил всё заново, работает
У вас ошибка в коде: После первого if сразу стоит ';' . уберите его.
Ефим, видео делала ночью - поэтому говорила негромко. Ева Журавлева - это мой псевдоним для фриланса (старый). Лет 7 тому назад пробовала зарабатывать как копирайтер на ETXT . В этом же аккаунте гугла я канал создала для пробы.
Приветствую, Ефим! Отличная работа, у Вас всё получается! :) Ни в коем случае падайте духом и идите вперёд, ведь вы самый настоящий
ппппп ррррррр ооооооо
п п р р о о
п п ррррррр о о
п п р о о
п п р ооооооо ГРАММИСТ!
Оригинально. Надо будет тоже взять на вооружение ваш логический перебор и перебор массивов.
Сейчас ссылка работает. Звук действительно слабый. Но как первая проба очень даже неплохо. На Ютубе работа подписана почему-то другим именем. Или это Ваше реальное имя?
Прикольная змейка, отличный видео обзор. Успехов в прокачивании навыков программирования.
Отличная работа, Мах! Я тоже сейчас прохожу этот курс.
Правда у меня на данном этапе медленно загружается форма.
Иногда парсинг проходит с ошибкой и курс равен нулю.
Видимо это связано с надежностью интернета.
Приветствую ! Есть программы, которые делают Setup
Великолепный обзор, Кирилл! Поздравляю! Доработки тоже классные! Молодец!
Спасибо, Александр, за высокую оценку.
Отличный обзор ! Еще модификации интересные )
Mолодец! Mетод для поиска координат первого игрока на карте и его отображения в этих координатах в начале игры.очень интересно
Урок отличный !
Интересно было посмотреть про курсор какие решение были чтобы курсор убирался
Молодец, DimanDOS!!! Видно, что не фориально проходишь уроки, а глубоко их изучаешь.
Спасибо, Александр. Но при этом никаких признаков не видно, что сообщение ушло.
Приветствую ! Можно нажать ctrl + enter, или написать сообщение
Приветствую ! В видеоуроках повествование идет как в практической разработке. Не дается исходный код сразу, а постепенно, сделали первую итерацию хорошо, следующая итерация и так далее. Доводя проект до оптимального.
нормальная задачка для вечера тяжелого понедельника самое то что надо
Не понятно, как задача "Вывести квадраты чисел от 1 до 100." попала в разряд олимпиадных?
с кружком мы не подружились. ООП принцип почему-то не сработал и кружок плавно превратился превратился кружок в такую вот замечательную интересную размазню. Как мне показалось такой отчет будет более прикольным и приятным для просмотра чем как-то одинокий кружок. Ну так на самом деле как мне кажется сильно что-то тут намудрили с кружками не по ООП-ному.
P.S. специально отключил функцию стирания трассировки
Ох, как я не люблю все, что связано с графикой из за непонимания (надеюсь временного) всех этих осей и координат.
Надеюсь что у меня все временно и желаю вам более выдающихся успехов на наших курсах)
Приветствую ! Сам удивился ) Нужно использовать приведение int к char, и сделать цикл, (char)122 = z
В задаче "Напечатать английский алфавит в обратном порядке, от буквы z до a."
Решение, приведенное в видео, противоречит условию запрета "do while zyx wvu tsr qpo nml kji hgf edc ba".
C началом нового курса! Курс классный.
Дерзайте в освоении работы с графикой.
Отличная идея у Вас! Однако, думаю что всё же с pictureBox'ами работать легче, чем выводить на форму :) Хорошая работа, продолжайте в том же духе! ;)
Это хорошо , что прошел этот курс и получил практику на javascript.
Mолодец! Всё отлично, узнал много нового.
Mолодец, Yefim!
Этот хорошая практика. Хорошая работа, уже поехали+)
Отличный видеообзор Эфим у тебя получился. Надо бы то же кое-что подсмотреть в этом курсе.
Здравствуй, DimanDOS. К сожалению проблема осталась не решенной.
Здравствуйте! А вы разобрались с проблемой? Просто у меня тоже самое :( Может, подскажите?
Спасибо, Рита! На прошлой неделе отправил очередной видео обзор, но почти никакой реакции ни от кого нет. К чему бы это?
javascript - что это реально, что можно потрогать .
Хороший урок. Этот хорошая практика
Курс классный , с помощью jQuery не только получать, но и изменять значения выбранных тегов. И даже менять их на значения которые получены с помощью сcallback функций.
Приветствую, Yefim!
Отличный урок, полезные знания.
Mолодец, хорошо что не боитесь экспериментировать
да эта рита очень странный человек, похожа на бота) она мне пишет постоянно однотипные комменты, копируя половину от моего отзыва об уроке
Этот хорошая практика для каждого действия создавать отдельные методы
Восможно, опечатка. Но это было в двух местах. Сейчас уже в одном месте исправлено. И скриншот появился. Приятно лицезреть автора отчета.
Моё замечание лишь говорит о том, что я не формально подошел при оценке отчета, а всё же прочитал комментарий.
И сейчас видно - отличеная работа.
Это новый ИИ, проходит курсы за формулистов )
Рита, а почему скриншот пустой? И почему комментарий записан от мужского лица?
Моложец, что сумел разобраться, где ошибка. Ведь хороший программист не тот, кто не делает ошибок, а тот, кто их быстро находит! Удачи в продолжении курса!
Молодец, Дмитрий! Красивая пара! Теперь им не скучно. Интересно, они поженятся?
Молодец! Двоим снеговикам уже не скучно будет! - :)
Приветствую, Yefim! Супер!
Mолодец! Это хорошо при создании своего приложения
Отличный урок,повторили работу со статическими методами,
идём дальше :)
Видел видеоотчет! -Хорошо подготовлен! Замечательный урок. Вы хорошо потрудились.
Дмитрий, Желательно после каждого урока записывать текущую версию в архив. Тогда вседа можно вернуться и проблемный урок пройти заново, но более внимательно.
Прекрасно выполнен обзор! Заинтригован, с большим удовольствием сам прошел бы этот курс. И скорее всего так и сделаю. Но после того, как завершу свой план обучения. Пока завершаю два курса по Python и по Git. Очень интересные, с большим количеством тонкостей. Возможно, дойдут руки и сам сделаю видеообзор по ним. (Сами курсы не сложные, а вот тонкостей в структуре изучаемого предмета хватает.) Успехов!
Приветствую, Yefim!
Mолодец! Желаю удачи в изучении программирования!
Mолодец, в следующем уроке покажут, как можно создавать шары разного цвета
Привет! Хороший отчет. Жалко видяшки нет. Любопытно посмотреть, я пока до этого урока не добрался.
Да, Domination Agenda, Ты права!!! Благодалю за смелость. Одеако, Чтобы забраковать урок нужны серьезные основания. И, как минимум, небоходими этот урок пройти.
В принципе задание было не нарисовать C# , а отобразмить уружечек на месте очередного клика. Но всё равно спасибо! Я этого недочета не заметил.
Удачи тебе во всём!!!
Ты уверен? У тебя там черточка с шарпе не дорисована
После реализации метода update() зарплата Джона выросла беспрецедентно!
Приветствую, Ефим! Я вот так же помучался в одном из курсов с эклипсом, к сожалению требовалось использовать только его. После курса снес его. ) Лучше Идеи пока ничего не вижу для Java. Когда буду проходить данный курс, ни за что не буду делать в эклипсо! )
Впервые услышал голос Yefima - здорово получилось сделать обзор по такой простой программе.
Все четко и понятно. Жаль программа так и не внедрилась.
Видеообзор просто супер! Все четко! Вам надо самому курсы создавать.
Вот это звук! Вот это дикция! Снимаю шляпу!
Спасибо, Алексей за теплые слова. Кроме того, курс содердит несколько дополнительных VIP уроков!
Ефим Ваши видеообзоры смотреть всегда одно удовольствие. Обязательно пройду этот курс.
Да. В последующих уроках это довольно подробно рассказано. Большое Спасибо!
Пробовали обращаться к grid.Rows[n] ?
уж лучше 0 и 1 писать, чем буквы f t, слишком похожи эти буквы друг на друга.
Мерси! Писал по памяти, что вспомнил. Конечно не густо, но год назад и этого бы не написал. Удачного дня!
Михаид Посмотри статью. Может быть интересно.
habr.com/ru/post/219595/
Молодец, Дмитрий. Прекрасный отчет! Он вполне достоин быть доролнением к уроку!
Я очень рад - результат занятий чувтсвуется, раз всё знакомо!
а вы перед каждым чи слом попробуйте приписать (byte)
Потому что числа записанные просто так принимаются компилятором как int
Молодец, Алексей! Замечательный видео обзор! Я тоже проходил первый вариант этой игры. Но после просмотра твоего обзора убедил себя пройти новый вариант.
Конечно, есть целый класс посвящённый этому.
Полезная информация про сравнение строк. Кстати,C# работает точно также.
Лайк. Полезно, оказывается, проверять отчеты - сам что-то узнаёшь=)
Спасибо, Рита, за теплые слова! Я думаю, ты преувеличиваешь свою оценку моей работы.
Отличный урок, а в совокупности великолепный курс.
Вы настоящий молодец! Удачи в дальнейшем прохождении курса
Спасибо, Евгений Витольдович, за поддержку! Но до завершения ещё далеко.
Я прошел только 7 уроков, а их 14!!!
Отличная работа, Ефим, очень рад, что вы завершаете этот курс.
Ни пуха, ни пера! Я вчера был на собесе - первый вопрос - какой Ваш язык, второй вопрос - какие Ваши проекты в интернете. Хорошо, если есть что показать.
Молодец, Дмитрий, что нашел свое решение возникшей проблемы!
Очень хорошо сделал свою работу мне понравилось и ты получаешь от меня плюсик
Спасибо, Дима! Это хорошая новость! Буду с нетерпением ждать! Удачи тебе в новом проекте!
Поздравляю с юбилеем!!!
Желаю дальнейших успехов в изучении языка Java
В ближайшем будущем я планирую начать записывать курс Unity c нуля, скорее всего Вам он подойдёт! ;)
Вводить с клавиатуры целые и строковые переменные.
Классно конечно)
Спасибо, Рита! Действительно это работает. Есть ли возможность внутри программы это реализовать?
выводите в файл.
java Read > answer.txt
Геннадий, попробуй так:
for(i=0; i< 100; i++)
document.write("<b> " + i + "</b>");
создавать в кодировке utf8 и компилировать так: javac -encoding utf8 Read.java ,
у меня были такие проблемы
for(i=0; i< 100; i++)
document.write(<b>i</b> + " "); - так выдаёт ошибку.
--------------------------------------------
document.write("<b>i</b>" + " "); - так ошибки нет, но вместо цифр цикл выводит много раз "i".
Я с Javascript не знаком и еще не разбираюсь как можно его комбинировать с тэгами HTML и CSS. Надеюсь, вскоре разберусь)).
Чтобы понять, в чём состоит твоя ошибка, надо показать ошибочный код.
Спасибо, chokayes, за подробный комментарий. Просматривая еще раз свой отчет, обнаружил, что мой скриншот не совсем тот. В нем нет результатов работы программы. Сейчас я обновил скриншот.
Файл моего кода записан в кодировке utf-8.
Команда java Read.java запустилась потому, что я работаю с версией 11, которая это может делать.
Приветствую, Yefim! Если мы пишем код не в IDE, и потом компилируем программу вручную, то по умолчанию компилятор использует кодовую страницу операционной системы, для нас обычно CP1251. В консоли у нас кодировка CP866. Соответственно, есть несколько вариантов решения проблемы.
Лучше всего вот такой, файл создавать в кодировке utf8 и компилировать так: javac -encoding utf8 Read.java
Кстати, я не пойму как у Вас запустилась команда java Read.java )
encoding=utf16 надо прописывать в коде программы java? или в каком-то конфигурационном файле?
encoding=utf16 что-то такое навскидку дописывали в уроках
Привет, Геннадий! Большое спасибо за помощь! Обязательно воспольщуюсь твоими советами! Желаю и тебе удачи и успехов во всём!
Привет, Yefim! Прикрепить скрипт можно несколькими способами:
1) Перетащить скрипт в поле Inspector объекта и вставить между элементами;
2) Перетащить скрипт в поле Hierarchy на название объекта;
3) Выбрать у объекта Add Component -> Script и в списке выбрать имеющийся скрипт.
Советую для быстрого ознакомления с Unity посмотреть на Youtube видеоуроки. А для более детального скачай, например, книгу Джозефа Хокинга "Unity в действии. Мультиплатформенная разработка на C#". Книга подробно описывает создание нескольких игр в Unity 5. Книга 2016 года и по большей части она еще актуальна. Удачи и успехов в развитии!!!
Спасибо за добрые слова,Ефим, но продолжения не будет, я сказал в этом курсе все, что хотел
"Волка ноги кормят" и другая сторона палки - "Сытое брюхо к молитве глухо". Моя сторона пока - волчья )) Не будешь заниматься - будешь вечно сидеть на почте за еду работая ))))
Моложец, Дмитрий! Великолерный отчет! Такие продробные отчеты мало, кто делает! на мой взгляд, отчет следует прикрепить к уроку.
Да синтаксические ошибки - пустяк, на самом деле. Вот когда идут логические, то да, уже плохо)
Молодец, Денис. Отличная работа. Особенно впечатляет 27-я кнопочка!
LEFT JOIN или LEFT OUTER JOIN В результирующий набор левого внешнего соединения входят все строки из левой таблицы, указанные в предложении LEFT OUTER, а не только те, в которых совпадают соединенные столбцы. Когда строка в левой таблице не имеет совпадающих строк в правой таблице, соответствующая строка набора результатов содержит нулевые значения для всех столбцов списка выбора, приходящих из правой таблицы.
JOIN - это краткая форма INNER JOIN, а OUTER - немного из другой оперы
Молодец, Дмитрий. Очень добросовестно поработал!
вот не надо пытаться всё в один цикл поместить. Я понимаю, что хочется оптимизировать... Но не надо.
первый знак = это в JavaScript.
второй знак = это в РНР
Молодец, что дошел до финального урока и понял сущность и роль соответствующей технологи.
Не останавливайся на достигнутом и иди только вперед
У тебя неплохое решение задачи, но как думаешь, можно ли ее упростить? Допустим, чтобы подсчет квадратов и их вывод в консоль был в одном цикле for? Так же попробуй сделать вывод не с 0, а с 1.
Молодец, но это только основа-основ. Это только начало, так что двигайся только вперед не останавливайся и пиши больше программ.
Так больше уроков и нет.
Посмотрите вторую часть последнего вебинара, пожалуйста.
После прохождения последнего урока кликаю на "Можно переходить к следующему уроку. " Но ничего нового не открывается.
Евгений Витольдович, на днях я отправил Вам сообщение о том, что продлил Марафон, но доступа к нему не имею.
Проясните, пожалуйста ситацию.
Спасибо, Ефим, добавил в описание урока.
Спасибо, Рита! Я смотрю, ты в последнее время заметно прибавила. Успеваешь за неделю набрать несколько сотен байт. Появилось больше свободного времени?
Неплохо было бы установить более эффективную связь: Миспар шели oSZ8bZ3ZZg.
Приветствую, Yefim!
Молодец, хорошо поработал, уже добрался до шаблона
Спасибо. Осталось найти смелости и решимости и энергии на завершение этого курса
Поздравляю, очень хорошая работа, а если все понятно - то это еще лучше)
Все понятно. Всё получилось! Это просто замечательно!!!
Молодец!!! Всегда восхищаюсь вами .
скачать последнюю версию опен сервера.
но вы можете и на 7.1 делать, все будет работать также
Странно пакет устанавливается Open Server там что-то зашито по PHP. У меня данная версия точно присутствует ничего лишнего не устанавливал и даже больше я скачивал portable версия OServer, что бы не гадить у себя на машине софтом от разных разработок и приблуд. Так проще жить как показывает практика и переносимость хорошая.
Возможно EasyPHP-Devserver тебе в помощь
Молодец ,так держать !!! В конце концов все получилось!
Добавили функционал передачи и считывания параметра.
И можно будет скачать архив со всеми страницами в 20 уроке.
Спасибо :) Удачи, надеюсь Вы уже скорее начнёте данный курс :) Очень рад что Вы его хотите начать!
С друзьями пытались делать такую же примерно игру,каждый отвечал за определённую часть(сюжет,интерфейс,карта,игрок и т.д.).Удачи в следующих уроках!
Я не знаю точного ответа на этот вопрос. Возможно, придётся в другой див оборачивать. Но посмотрите на правила создания рамки - там очень много возможностей. www.w3schools.com/css/css_border.asp
Я тоже возмущался по этому поводу на видео.
В том -то и дело, что с 2 получется пустой файл, а без 2 нормальный.
Посмотри тест по этому уроку. Я её победил. Там функция таймера неправильно написана и соответственно не вызывается и шарики не пляшут.
Я нашел источник проблемы. В переменной среды path было указано два разных пути к файлам java.exe. Причем 1-й был дефектным. Когда я его убрал - все заработало !!! :)
У вас разные версии компилятора и виртуальной машины.
Запускайте javac и java с полным путём, должно помочь.
На скиншоте видны 2 попытки: с расширением и без.
При запуске программы не надо расширение файла указывать, только название класса
Увеличить время таймаута в настройках сервера
а надо ли править, Ефим?
Моё Вам почтение! Я на этот платный вебинар не подписался - оттого не в курсе линка. Там же было заявлено, что это дело отдельно платное. Я не платил - я не вижу и не в теме. Надо глянуть курс marafon - кто там есть в прошедших - те ребята могут что-то подсказать.
С уважением, Дмитрий
В Иерусалиме снег выпадает каждый год.
На Хермоне снег держится несколько месяцев.
У Вас там и снега-то никто не видал в глаза, небось )))
Спасибо, Ефим, за подробный обзор. Вы отлично проработали этот курс!
Скриншот слишком большой. И внем много пустого неиспользованного места.
Хорошо получилось.
У convert больше возможностей, можно из строки конвертировать, например
Молодец, Иван! Ты всегда был и остаёшься для меня образцовым примером.
Поздравляю с наступающим новым годом! Кдачи во всём!
Непонятно, причем тут приведенный скриншот из проекта Puzzle.English к данному отчету ???
Подписка в Клуб формулистов обновлена.
Количество дней: +365
Подписка КФ до: 2019-12-31
Остаток байтов: 20339
Вы являетесь участником Клуба формулистов.
Отлично, всё-таки разобрались во всём, это здорово!
супер
В этом сила метода - найти d очень сложно (полным перебором).
Поэтому по факту проще сначала выбрать d, а потом другие параметры
d должно быть такое, что d*e = 1 mod fi(n)
Просто тема мегахешей сейчас не так актуальна, к тому же проблем добавилось от антивирусов.
Обновляться имеет смысл если у вас реальный сервер чтобы уязвимости устранить. А когда сервер дома под лавкой можно не торопиться.
согласно разрядности Вашей ОС. если 64-разрядная, выбирайте ту, что x64
Молодец, Айдар! Я тоже делал подобные проверки .
Молодец, Денис! Я как раз тоже прохожу этот курс. Но до этого урока еще не дошел.
Удачи тебе!
Задача повторяется 2-й день подряд. Неплохо бы исключать эти случаи.
Выглядит красиво, когда нибудь пойму, что это
Бывает не отвечают и в телеграме. А вот вопросы заданные адресно пока не игнорировали.
Молодец, Дима! Я внимательно слежу за твоими работами и всегда искренне радуюсь твоим успехам. Так держать!
В задаче: Вывести все семизначные числа, в записи которых есть только 3, 5 и 7.
как и во многих подобных залачах, следует добавить условие: в порядке возрастания.
Кроме того, фраза "только 3, 5 и 7" Вызывает неясность - то ли допускаются все 3, 5, 7 в любом сочетании, то ли требуется одновременное их присутствие. Хорошо, что имется пример, который проясняет ситуацию.
Я давно предлагал давать имя задачи, и тогда в комментариях не надо будет переписывать условие, чтобы понять о какой задаче идет речь. Кстати, можно объявить конкурс на лучшее имя задачи.
Спасибо!
Теперь всё описано.
Спасибо! Сейчас размещаю.
Верное замечание. Лучше закрывать самому. Но это чуть сложнее.
Молодец, Айдар, хорошая идея! Интересно посмотреть твой код Сервера.
Мой алгоритм печатает все четырёхзначные палиндромы не хуже:
for (int i = 1; i<=9; i++)
for (int j = 0; j<=9; j++)
Console.WriteLine(i+"" +j +"" + j +"" + i);
}
Отличные примеры.
А фирме надо обучить новых сотрудников технологии Х или нанять новый работников.
Отличный текст. Я его добавлю в описание курса, с вашего позволения.
Да, именно, лучше всего приучать себя к прицелу на будущее, таким макаром можно постоянно улучшать код и в итоге увидеть в нём закономерность, вынесли его в самодостаточный класс и по сути реализовать движок или как минимум библиотеку, которую потом можно подцеплять при разработке тех или иных решений, чтобы не писать одно и тоже каждый раз, это помогает мыслить относительно!
Потому что ещё не заполнено описание :(
Если вы можете написать такое описание - напишите, будет здорово.
Спасибо, Иван за подробное объяснение. Для локальной задачи мой вариант приемлем, но с прицелом на будущее, согласен тобой.
У вас работает команда Java Soocketor или Вы пользуетесь Java Socketor.java?
Все таки не соглашусь насчет убирания айпи адреса. Так как клиент может и должен быть запущен с разных компов, поэтому адрес указывать обязательно. Порт можно одинаковый вездесделать . А ИП - нет.
Молодец, Ефим, отличная идея, хотелось бы уточнить некоторые нюансы, по поводу того, стоят ли они свеч! По поводу того, что мы используем всегда один и тот же айпи и порт, но передаём их через параметры, это даёт возможность реализовать универсальное приложение, так как можно будет указать необходимый айпи, чтобы проверить по локалке или интернет, а другой порт, если 8000 занят. По поводу того, чтобы клиент передавал тип операции, это усложнит код серверной части, так как нагрузка возрастёт в 4 раза, а можно запустить 4 сервера, чтобы каждый выполнял только своё, тем самым создадим кластер, так как сервера могут располагаться на разных серверах и иметь различные айпи и порты, если их клиент знает, он будет знать где производятся необходимые вычисления. Распределённое вычисление очень важная часть в современном мире и задел на будущее.
Классно придумал с упрощением!
Урок с http-заголовком был записан уже после курса, поэтому здесь нет этих дополнительных строк.
От браузера длина строки будет одинаковой и равна 14, так как по сути браузер отправляет первой строкой заголовок "GET / HTTP/1.1" и длина этой строки равна 14. Браузер отправляет и другие строки, кроме этой, но наша программа считывает только первую, игнорируя другие строки.
Почему у вас в телнете строка равна нулю, возможно потому что вводите пустую строку, но на сервер-то приходит строка "\r\n", наш сервер считывает до этих символов, отбрасывает их и получается строка "", ее длина равна 0.
Да, на скриншоте (в праыом нижнем углу) видно, что в браузере открылось.
А браузер открыл строчку?
В прошлый раз у вас не получалось.
Ответ ушел, прошу прощения за задержку (дела по основному месту работы брал на дом)
Несколько дней назад я отправил весь свой проект на указанный emil, но ответа не получил. Вопросы, которые я задаю, можно проверить на вашем проекте, задав соответствующий запрос.
Ну хорошо, Yefim, что всё получилось. Очень жду видео.
Курс: API поиска работы. Вот ссылка:
www.videosharp.info/video/hhbot1
Подскажи, это же ты делал что-то вроде парсера? А что за курс скажи пожалуйста?
Говорится о примере на сложение, а по факту видим умножение.
Или я что-то не понимаю?
я немного не понял, как это выглядит - "слабо ощущается"? у себя, когда готовил курс, и когда читал, ничего такого необычного не замечал. но может быть просто у меня комп шустрый
Возможно, номер страницы надо указывать.
по такому маленькому куску кода сложно судить. если можете, вышлите мне весь код через Телеграм или на email
Добрый день, Валерий ! Сегодня отправил очередной отчет с вопросами.
www.videosharp.info/11589/checking/hhbot1=2280
Хорошего дня!
Молодец, Yefim, а я не сразу нашел у себя этот косяк))
Краткость - сестра таланта и самый быстрый шаг к успеху)))
Валерий, это одно окно на разных этапах:
Пока ждем ответ от сервера - первый вид, а когда ответ пришел - показываем его (ответ).
Сразу два окошка запущенной программы, Yefim?
Нет, всё получилось с первого раза. Просто были отвлекающие факторы.
Приекрасно Yefim. А почему долго выполнялось задание? что-нибудь не получалось сразу?
Любопытная иллюстрация к уроку. Спасибо!
аж в трех проекциях! молодец, Yefim!
Молодец! Я тоже люблю рисовать жирными линиями.
Молодец, Ефим, поздравляю с покорением очередной высоты, удачи в дальнейшем.
Летит, летит ракета
Восьмое чудо света!
А в ней сидит Гагарин,
Простой советский парень )))
По невнимательности решил, что исходные данные вводятся в одной строке.
Из-за этого долго тест не проходил.
Всё верно, нужно добавить условие, при котором, если айди товара более 0, то активируется форма редактирования, иначе форма добавления товара. А чему там будет равен id, нулю или new, не важно, главное чтобы это всё было учтено и тогда будет реагировать именно так как задумывалось. Мы же программисты, мы сами пишем логику, как напишем, так оно и будет работать.
По идее вместо 0, null надо написать или пустую строку '' , не знаю какая там структура БД и привставки должен срабатывать автоинкремент и подставлять больший на единицу id не проходил этот курс поэтому сложно что то сказать) Еще у тебя на скриншоте d БД price = 123.34 , а var_dump 123.45 - price в БД должен быть по идее типа decimal, чтоб дробная часть хранилась точно без округлений.
Перехвалили меня, Евгений Витольдович.
В следующем уроке у меня опять небольшая проблема. Вот ссылка на отчет:
www.videosharp.info/11589/checking/eshop=813
Спасибо, Евгений Витольдович!
Всё узнаете в процессе прохождения курса, удачи.
Этот запрос можно написать так:
SELECT COUNT(*) FROM ware WHERE price BETWEEN 100 AND 500;
Лучше использовать по новее 7.2. PHP 5.3 уже очень устарел и поменялся в корне. Начиная с php 5.4 в интерпретаторе php возможно запустить из папки с проектом сервер командой php -S localhost:8888 и смотреть результат, без установки локального веб-сервера. Есть в сети по PHP труд хороший, называется PHP Right Way советую ознакомиться.
На картинке не видно текста сообщение об ошибке, возможно при создании таблицы или столбца нужно было указать кодировку UTF восемь
Эту зеленую кнопку я запускал, но сервер Баз не запускается. Второй вариант тоже не дал результатов.
Приветствую, Yefim! Вижу, ты взялся за новый серьёзный проект. Молодец! С изи-пиэйчпи такая штука, видишь на веь-странице зелёную кнопку, нажми её и сервер баз данных запустится. Второй вариант, для запуска и перезапуска серверов можно использовать команды меню, которое открывается из иконки в систрее. Желаю успехов в прохождении курса.
Молодец, Иван. Я тоже прошел этот курс, но до финального урока руки не доходят
Молодец! Выглядит психоделично!
На основном курсе нашли в чём проблема была?
Дядька в Севастополе живёт, даже его теплу завидую )) Там 300 солнечных дней в году, в сентябре 2015 года ездили из Кирова в Крым - выезжали при +10, в Москве моросило, а когда из самолёта в Симферополе вышли - как в баню. Плюс 25 и солнышко! Так нам это было удивительно. А ведь для греков, осваиваивавших Крым в Средние века, Черное море проходило под названием Понт Авксинский, если не путаю. А это значило - Суровое или Холодное море. Вот такая разница в восприятии ))
У нас отопление не включают. Поэтому зимой довольно холодно. Но сейчас очень комфортная погода.
Эх, тепло там у Вас! А у нас отопление вчера включили и кошки перестали зубами клацать по ночам )))
Вот ссылка на отчет, шде опимана проблема:
www.videosharp.info/11589/checking/gmaps=1087
Источник проблемы пока не выяснен...
самое главное, в чем была проблема то?
Здравствуйте, Ефим. Смущает меня имя "Context.cs4".
Подробности уже не помню, курс записывался почти 2 года назад.
Но вы найдите схожий момент в моём последнем вебинаре - и сделайте создание базы по тому примеру.
www.videosharp.info/video/webinar/nr=2251
Если вопросы останутся - пишите.
Привет, Yefim! Отличная работа. Желаю успехов в дальнейшей работе!
В условии следовало бы уточнить: В возрастающем порядке.
Этот крестик означает ошибку, я так понял что к серверу подключится удалось а к базе данных нет может стоит попробовать создать базу данных заново или перезагрузить.
Судя по тексту ошибки, ругается, что необходим логин пользователя, а тот что есть, не подходит. А так как до этого курса ещё не добрался, пока сказать точнее не могу. Надеюсь скоро тот, кто проходил курс или создавал его поможет решить проблему. На вскидку, проверять надо верно ли указано размещение БД, т.е. адрес сервера и логин подключения.
Спасибо, Руслан! Не сразу понял в чем дело. Хорошо иметь цепкий взгляд! Молодец!!!
Опечатка для Румынского
Вот это да!
Удивили и порадовали!
Спасибо Ефим!
Очень приятно. Респект!
Навыки работы с API карт будут очень полезны в современном мире разработки
бутстрап прикольная вещь, когда то изучал верстку. на данный момент забросил...
Вот сайт на котором есть все теги и как их применять - htmlbook.ru/faq/kak-sdelat-gorizontalnoe-menyu-s-naklonom
Николай, спасибо за помощь. Я установил Firefox, а результат прежний.
Сверил вой код. Вроде бы всё то же самое. В чем причина?
Привет, Yefim! Тег ul означает маркированный список. Тег ol нумерованный список. Нужно смотреть таблицу style, display: inline-block; - должно помочь. Для Chrome можно попробовать прописать -webkit-transform: skewX(-30deg); должно помочь если Chrome не поддерживает. Удачи всё получится.
согласен с Dmitry Sinitsin. может быть запишем 4-й сезон bootstrap? (по номеру текущей версии bootstrap)
Я лично против длинных уроков. Основная причина - демотивация - когда видишь слишком большой урок, то во первых стараешься выделить выделить длительный промежуток времени для того , чтобы выполнить это задание. По факту это время можно смело умножать на 1,5 - 2 - тогда получим точную цифру. Большого слона разрубать на маленькие бифштексы.
Там ещё и версии подросли, когда дойдёт дело до значка Вконтакта, действующий тег будет отличаться от приведенного в уроке. Тем интереснее. Буду следить за Вашим курсом )
А Вы какой NetBeans ставили? если заточенный чисто под Java, у него HTML5/JavaScript и не будет
Валерий, мне опять нужна Ваша помощь. Сегодня приступил к Вашему курсу "Портфолио на Bootstrap". На втором уроке при открытии нового проекта в NetBeans IDE 8.2 возникла проблема: NetBeans не показывает в списке категорий
HTML5/JavaScript. Как решить эту проблему?
Я понимаю, что можно продолжать, используя любой другой редактор,
но хотелось бы освоить NetBeans.
Ощущения неописуемые. Однако автоматические движения пальцев не такие быстрые как хотелось.
А зачем так делать? Нам и надо каждый раз заново вызывать этот метод и перебирать по-новой все варианты.
Какие у вас ощущения посто тысячекратного набора? Появился автоматизм?
Александр, это максимальное целое число :)
Ефим, я в восторге от вашего подвига, ещё и двухкратного!
Смысл жизни в самой жизни, в получении опыта. Приближение нас как частички Бога к Богу.
К сожалению, не проходил.
А вы разве раньше не проходили этот курсик?
Для англичан все группы - как одна большая группа))
Для php действительно нужны дополнительные плагины. Когда я разберусь в данном вопросе, я обязательно выложу решение
Я не знаю... Надо гуглить.
Возможно, следует скачивать какие-нибудь пакеты документации
Попробовал повторить удаление t как в Вашем скриншоте - также не показывает. Если же что-то удалить после key= , к примеру ту же т - ошибка уже появляется.
А ошибки на первые строки у меня тоже есть - код непричёсан до конца, как я понимаю.
Владимир, ты значительно преувеличиваешь мои языковые способности. Их у меня совершено нет. Просто по жизни сложилось так, что начинал я в школе с немецкого.
Учился в Молдавии. Поэтому немного занком с румынским. В университете начал изучать английский. Идиш достался от родителей. А вот на иврите приходится общаться на работе.
Язык проникает в сознание, только тогда, когда есть в нём нужда.
Ефим! По белому завидую, что знаете столько языков. Кстати поделитесь своим секретом, как изучать иностранные языки. А то я как еду к родственникам во Францию знаю около 50 слов и похож с ними на Элочку людоедочку - обидно. Даже наши таджики и прочие гости из средней Азии и то больше слов знают. Короче для меня такая проблема.
я рад, что понравилось, Yefim. в новых курсах будем использовать именно его
Спасибо, Виктор, за подробный комментарий! Обязательго последую твоему совету.
Там, действительно есть проблемы, помнится, я просто подключил свой файл стилей и прописал все правила в нем. Я бы посоветовал, зайти на официальную страничку бутстрапа и посмотреть как формируется сетка getbootstrap.com/docs/3.3/css/#grid
Это как раз тот вариант, когда один раз разобравшись, вам этого хватит на всю жизнь.
И еще один важный момент, когда подключаете свой файл стилей, не забудьте, что он должен быть последним, в противном случае, ваши изменения отрабатывать не будут
Все меню также должны быть дивы с классом navbar и container. Это специфика бутстрапа. Если ты даже выбросил кнопки для сворачивающегося меню, классы с которыми работает бутстрап(navbar-header), нужно оставлять, потому как он просто не понимает как форматировать, согласно сss:
В идеале это выглядит так:
<div class="navbar ... // и куча других navbar">
<div class="container">
<div class="navbar-header">
// кнопки меню, которое схлопывается, можно выбрасывать
<button type="button" class="navbar-toggle"... <span ... </button>
@Html.ActionLink...
@Html.ActionLink...
// закрываем все три дива, которые открывали
</div>
</div>
</div>
понятненько. если не ушла проблема, вышлите мне проект на becwal@yandex.ru.
Валерий, на счет дивов вроде все в порядке.
Я проделал несколько экспериментов:
1. в файле _Design.cshtml убрал 4 строчки меню.
Все истории отображаются нормально.
2. в файле _Design.cshtml убрал последние 2 строчки тэга <head>.
Все истории отображаются нормально.
смотрите, где - то или лишний див, или не хватает.
Валерий, нужна помощь.
www.videosharp.info/11589/checking/aspnet=621
Везде фраза одна и та же: Я люблю Москву. Правда на иврите форма глагола в настояшем времени зависит от рода.
Пероводчик отдал предпочтение женскому полу. В русской транскрипции эта фраза звучит так: "Ани оэвэт эт Москава."
Отлично, Yefim. Я смотрю, ты сделал несколько переводов различных фраз. А что за фраза на иврите?
Как слышу про румынский язык, так в памяти немедленно нетленка! ))
iar m-am luat de bautura
sa nu-i dau vreo doua in gura
ca degeaba e frumoasa
daca-i tare paguboasa
si ma imbat sa nu ma doara
ca iar m-am certat aseara
m-am certat cu proasta iara
o trimit la masa acasa
vreau sa scap de paguboasa
ca a vandut nebuna tot din casa
В уроке Валидация данных (примерно на 17:41 минуте:секунде) произностится фраза: Я очень люблю тему регулярных выражений и рано или поздно на нашем сайте надо будет сделать что-то вроде консоли
по регулярным выражениям.
Курс по регулярным выражениям? а кто обещал? Я тоже хотел бы такой курс пройти.
ещё хорошая команда explain.
а чтобы ошибки не было - в конфиг-файле базы нужно увеличить таймаут.
Привет, Олег. Мы знакомы? Напомни, пожалуйста, где мы пересекались.
Привет Yefim, молодец что занимаешся, я недавно подключился к проекту, мне очень нравиться. Удачи!!!!!
Иван, это была попытка не создать таблицу, а показать как была создана таблица.
а зачем вы спереди пишете слово show? может в этом проблема, чтобы создать таблицу достаточно написать create table <имя таблицы> и всё.
Отличная идея, в чём осложнение нужно брать и делать и всё получится.
Моложец, DimanDOS! Я внимательно слежу за твоим творчеством и искренне радуюсь тыом успехам!
Следует уточнить условие задачи:
Вывести все трёхзначные числа в столбик, в порядке возрастания .
Крутяк! Мне бы так щелкать! Я то же хочу!
Yefim, ну наконец-то без технических проблем у Вас идет))) я рад)) а прогресс у Вас очень мощный. надеюсь, postgres Вам понравился
отлично! молодец!
Спасибо, Антон, за хорошую ссылку на TCPView. Уже скачал и буду пользоваться.
прогой TCPView можно отловить проказника по порту.
technet.microsoft.com/ru-ru/sysinternals/tcpview.aspx
Валерий, Видимо, опять какая-то проблема на сайте. Нет доступа для отправки уотчета за 9 урок Футбольного курса.
Молодец! Скорее всего ты прав! Я этоно не заметил.
Я преодолел проблему с блокировкой опенсервера.
Вопрос по уроку: в настройках Вы предлагаете выбрать версию php5.5. У меня установлена php7.1 Насколько это важно выбор версии?
После ререзагрузки компа (по данным диспетчера задач) никакой sql не работает. Но проблема остается.
Мне не удалось найти в настройках опенсервера возможность менять номер порта.
Я бы поискал тот софт, что занял порт 3306 и убил его в диспетчере задач на время работы опенсервера. Или порт сменить, если допустимо.
Меняйте порт mysql в настройках open server (а потом и в своих скриптах), либо перенастраивайте или отключайте установленный в систему MySQL.
Всего-то дел найти безобразника программного занявшего порт и вырубить его хотя бы на время.
а в Players у тебя Id типа integer
по данной конкретной ошибке не скажу. возможно установлен mysql вне ОпенСервера, и идет блокировка
Столкнулся с проблемой: запуск Open Server производится нормально.
Однако при клике на зеленный флажок появляется сообщение об ошибке (см. скриншот). Что с ней делать?
Ниже - ссылка на скриншот:
www.videosharp.info/11589/checking/footpost1=2128
У меня отработало нормально. возможно id=14 (id с маленькой буквы)
Вместо WIN866 можно поиграть другими кодировками
UTF8
WIN1251
KOI8R
ISO_8859_5
Может какая-то совпадёт с Вашей.
postgrespro.ru/docs/postgresql/9.6/multibyte.html
К сожалению, не помогает.
football=# \c encoding WIN866;
FATAL: role "WIN866" does not exist
????????? ?????????? ???????????
У меня что-то подобное было в результате, когда при снесении записей в таблицу не применил эту кодировку. Но в результате были не вопросительные знаки, а некий набор нечитаемых символов.
Именно таким нечитаемым образов записи и в пэгэадмине отражались в таблице коммандс. Пришлось удалять кривые записи в консоли, применять эту кодировку \c encoding WIN866; и после этого заново вносить записи о командах уже успешно.
Смущает лишь обилие вопросов, у меня их не было столько.
\c encoding WIN866;
не поможет так?
Я много раз Валере об этом говорил. Но у него свой английский. Впрочем, некоторые сдвиги положительные есть :-)
В фотокурсе интернет-магазин мы это делаем.
Yefim, сегодня перепишу видео и перезалью. Реально техническая проблема. Извините
Валерий, Почему-то в 17-уроке "Загрузка фоновых изображений" нет звука.
Другие видео из ютуба со звуком.
Работа хорошая, молодец. А про отличие гет от пост можно, например, почитать вот здесь ( toster.ru/q/169915 )
поставлю "Хорошо", не буду портить статистику, но написание проверь
Yefim, глянь строку 64, там скрытое поле имеет имя Id (с заглавной буквы), а в строке 12 ты проверяешь $_POST['id'] уже маленькобуквенное написание id
GET данные отправляются в адресной строке, а POST в теле запроса.
Не катастрофа. После отправки 13-го урока, ссылка "Можно переходить к следующему уроку." работает некорректно. В итоге нет доступа к следующему уроку
Функционал по многим страничкам недоступен под учетными записями. Есть какие-то проблемы с сайтом этим утром. Ещё вчера были видны и результаты и доступны задачи с отчетами. Сегодня утром если зайти без учётки видны были и проверка работ и видеоуроки, однако если зайти под логином-паролем функционал урезан. Причина неясна, сообщений по этому поводу не было. Первую реакцию увидел Вашу.
Ну это я тоже рассказал (вроде) - get берет данные из URL, а, post обрабатывает данные формы, полученные черезsubmit
Отлично, продолжай в том же духе, у тебя все получится
Я имел в виду, сделать резервную копию файла.
Валерий, Почему после отправки отчета по 11-уроку, нет доступа к 12-му?
Yefim, в твоем случае понадобится скорее не база, а её дамп, своевременно сделанный. Это можно сделать при помощи heidisql из через консоль (последнее можно использовать для автоматического бекапа). Папка с базой тебе не поможет,если ты уже удалил данные
Можно минус использовать, чтобы разделять слова в имени домена, а нижнее подчёркивание увы запрещено.
хорошо получилось разместить несколько окон heidi
Ой, простите, я хотел спросить это у Дмитрия. См его коммент
а зачем крестиком? они и так неплохо выглядят. и кресты на маковках соборов в свете заката хорошо смотрятся
Открыл иллюстрацию на полный экран, умилился видам Петра творения, попытался закрыть картинку крестиком на картинке. Попался )
Да, Yefim, с '_' - это ты зря. Но получилось - это хорошо
спасибо и тебе, Yefim. ты очень быстро прошел этот курс. добро пожаловать в другие мои курсы, как по php, так и по БД
Валерий, сдаётся мне, в курсе старых детских поговорок )))
хорошо, что всё ясно, хорошо,что всё получилось
В эту среду в Кирове шёл снег. Есть фото этого удивительного события. А есть песня "помнит Вена, помнят Альпы и Дунай тот цветущий и поющий жаркий май". В Европе май тот был жарким. А в Кирове дубак. Вот такое наблюдение.
Можно и без ведущих))) дата вообще вещь гибкая оказалась))
файлы стилей загружаются один раз и лежат в кэше, чтобы после внесения изменений в файл css можно было сразу увидеть из и на сайте, нужно обновить файл css в кэше принудительно при помощи комбинации нажатия клавиш: "Ctrl + F5", при этом все вспомогательные файлы: "css, js, картинки, музыка и т.д." перезагрузятся с сервера и заменят текущие в кэше.
Стилей для отображения таблицы не хватает.
Видимо надо где-то указать padding текста
вы можете в консоли выполнить команду cd .git - увидите, что эта папка есть.
После изменения цсс нажимайте ктрл ф5
Да, домашние дела отнимают не мало времени это факт, сам думал, что придёт лето, будет больше времени, но как обычно, время всегда есть куда тратить, поэтому хотя-бы надо суточный минимум выполнять, чтобы не забрасывать прохождение курсов. Те курсы, что вы проходите, судя по отчётам, у меня в очереди стоят, переключился временно на другие, теперь вот навёрстываю.
Спасибо, Иван, за поддержку. В последнее время, из-за неотложных домашних дел, не удаётся поддерживать прежний темп.
Молодец, Ефим, отлично движешься в нужном направлении, слежу за твоими успехами, на данный момент я добрался до VIP уроков по курсу "Шахматы онлайн". Так что занялся проверкой видео уроков на предмет стыковки и ошибок с компиляцией после рефакторинга. У вас их там было не мало, так что скоро узнаю, так ли это на самом деле или это зависит от опыта или внимательности. В любом случае, удачи, у вас отлично получается.
Это была шутка. Люди старшего поколения помнят, что в сталинские премена за "првый уклон" (политический термин) могли здорово пострадать.
Ну прям подвиг совершили, сгенерировали 1,4 гига файл =)
Отличная работа, Константин! И уклон в сторону прекрасно получился. Правда, были времена, когда правый уклон не очень приветствовался:)
Интересно, есть ли возможность скачать вашу диалэльку, и проверить дело в ней или в чём-то другом?
Думаю, такие отличия только на пользу опыту.
Отличный финал, Ефим. Поздравляю с завершением.
Будем ждать доп. урок от вас :)
Судя по коду всё верно, как в уроке, может быть во время рефактооринга и выделении логики в библиотеку что-то где-то не так сделали и появилась данная проблема, надо провести дебаг и выявить проблему. Когда возникает любая ошибка, особенно если она сложна в понимании, бывает, что ошибки просто не может быть, но она есть. Тогда самое лучшее, это идти пошагово в обратном направлении, чтобы понять, на каком момента эта ошибка появилась. Отличный опыт и практика. Удачи в поиске.
Такая проблема может быть только если не запущен таймер - он запускается в методе Start().
Может совет очевидный, но... Внимательно повторен урок? У меня подобные нестыковки бывают только когда я где-то что-то не так посмотрелинаписал.
Ну и в результате собственных расширенных экспериментов, конечно.
Так должно быть.
Чтобы можно было полноценно насладиться созерцанием завершённой игры.
А начать новую всегда можно.
Здравствуйте! Спасибо :) Метод Application.Quit() будет отрабатывать корректно только после компилирования программы. В редакторе Unity метод не будет действовать
Так в видео же сказано было, что в самой Юньке выход не будет отрабатывать корректно, это же среда разработки, но она будет корректно работать при непосредственной работе на конкретной платформе.
Молодец!!! Отличная работа! Успехов в продолжении курса!
Большое пожалуйста. Я при случае сообщу про "находку" о которой говорил ранее
Я переделал урок "Двухэтажное превращение" и отключил InvokeRepeating("Refresh", 2, 2); а также закомментировал обращение к MakeMove(). Программа работает нормально. Но прелесть от работы сервера отсутствует.
Как можно узнать о Вашем красивом решении.
Да, есть проблема с превращением пешки - только вчера сам с ним столкнулся и нашёл красивое решение...
По рефакторингу там был один участок, где не был упомянут кусок изменений по соединению с сервером. Но... Там можно или оставить все в текущем виде подперев парой костылей (я что понял, реализовал сам, что нет - посмотрел у других участников в отчетах - там подсвечен был кусок кода проблемного участка). Спустя пару уроков ЕВ этот момент или упомянул или обошел - что он стал не актуален (я точно не помню).
Даже если на видео заметили, что чего то нет, но этого чего то Оратор не тронал в данном видео, то у тебя его трогать тоже не следует, надо повторять действия только над тем кодом, который трогают в видео, очень странно получается. Скоро доделаю видео для финального урока и займусь изучением видео по рефакторингу, проверю что там не стыкуется с реалиями. У меня как раз очень многое по своему реализовано, если действительно что-то будет потеряно, лучше переписать уроки по рефакторингу, которые потеряли нить.
Судя по скриншоту, в окошке Output сообщение об ошибке что какой то файл .cs с исходным кодом не найден. Возможно он был удален. В таком случае он в Solution Explorer должен подсвечиваться желтым восклицательным знаком. Иногда такая проблема возникает при удалении файла из проекта (ссылка в главном файле проекта на файл осталась при некорректном удалении). так же на скриншоте видно что проект назван Chess и класс назван Chess, это то же может привести к конфликту (например если пространство имен тоже Chess). Класс Chess из библиотеки? Или тут в этом же проекте? На скриншоте его не видно, обычно класс помещают в отдельный одноименный файл. В общем как написали ниже причин может быть много, и нужно смотреть код.
Ну вот и супер, рад что разобрались сами, это очень хороший опыт, а отклоняться или нет, это целиком ваше дело, я вот например, код по своему пишу всё равно, просто идея та же, а реализация по своему.
Объект chess был заменен на game, но конструкторы для класса game созданы не были.
После того как добавил 2 конструктора в класс Game (Game() и Game(string fen)) все заработало.
Просто не хотелось отклоняться от оригинала.
После того как добавил 2 конструктора в класс Game (Game() и Game(string fen)) все заработало.
Просто не хотелось отклоняться от оригинала.
Чтобы понять проблему, нужно изучить код в целом. На скриншоте видно лишь то, что объект chess подчёркивается, как будто он не инициализирован в данном контексте или вовсе отсутствует. Т.е. может быть вы удалили лишнее, если бы этот Client была ваша доработка кода, то нужно было бы реализовать рефакторинг кода так, чтобы не нарушать целостность логики идей, на которые было потрачено время. Я думаю, вам стоит изучить вопрос происхождения объекта chess, так как это вообще основной игровой объект и без него вообще ничего работать не будет. Сравните код прошлого урока с текущим, посмотрите где используется chess, откуда он взялся и где он в текущем уроке у вас отсутствует, могли банально удалить его случайно.
Я не понимаю, почему у вас chess подчёркивает.
Это даже лучше, когда уроки создавали до каких то внешних изменений, лучше помогает разбираться в коде, чтобы внедрять то, что было сделано за время урока, не обращая внимание на код, которого в уроке нет. Так сказать концентрация на насущном, ведь если внедрял свои изменения и добравшись до этого урока, там тоже нет своих фишек, но это не мешает выполнить задачу. =)
Потому что эта часть уроков создавалась до создания Клиента.
У вас самый понятный вариант решения. Набрал в студии, проверил, работает. Лишь в финале дописал ридки, чтобы увидеть результат. Спасибо!
Спасибо, Евгений Витольдович, за теплые слова. Да. Звук я записываю отдельно, так как звук, записанный совместно с видео, получается с большими помехами.
Видеообзор, как обычно, на высшем уровне.
Я так понял, что звук вы записываете отдельно, да?
Спасибо, Ефим, очень хороший обзор.
Остался последний этап, посвящённый рефакторингу.
Думаю, для вас там будет много интересного.
Отлично поэкспериментировано!
Лучше всего заменять его непосредственно в папке Assets, если бросать через Юньку, то она создаёт копию и дописывает единичку, там нужно вначале удалить старый файл, потом добавить новый. Но я по старинке, топаю в папку и вручную меняю на новый файл, потом Юнька это замечает, переиндексирует его и всё отлично схватывается, как будто так и было.
Отличная работа, Yefim. Молодец!!! Вот и попробовал выложить реальный проект на хостинг, регистрацию имени и перенос базы данных. Я такое делал на курсе базовый ASP-ект. Было очень интересно и очень здорово. Плюс мы там отдельным уроком делали авторизацию и я её допилил к сайту!!! Правда пароли храню в БД в открытом виде ))))
Привет, пароль надо изменить у сервера базы данных, т.е. надо зайти в админку базы данных и там где-то точно есть смена пароля, сразу так и не скажу, так как на каждом хостинге свой интерфейс, но копать именно там. Можете просмотреть урок, где настраивается как раз сервер базы данных, прописывается ей имя и пароль, вот там и меняться должен.
В пароле конечно приветствуются спец. символы, но не все удачно подходят, как показывает данная практика, лучше заменить пароль на более дружелюбный к разработке данного проекта, либо вручную заливать архив и распаковывать непосредственно на самом хосте.
Отличная, добросовестная работа, Ефим!
Да, в пароле не любые символы можно использовать.
Смените пароль на буквенно-цифровой.
Молодец, видимо всё сделали 1х1 по видео, поэтому и вышло с первого раза. Дальше будет ещё интереснее.
Это в самом деле удивительно.
Я на выходных повторял перенос базы - пришлось создавать базу на сервере вручную.
Вау!
Получилось!!
На вашем домене!!!
у меня ситуация еще хуже)) так что не расстраивайтесь) у меня даже к webmoney доступа нет, если не с огромной переплатой
Большое спасибо за предложение. Вроде бы как с рабочего РС удалось оплатить.
О дальнейшем продвижении сообщу дополнительно.
Либо, ещё лучше, можем состыковаться через timeviewer - и я заплачу сразу с вашего компа
Пришлите мне на почту логин-пароль к вашему аккаунту, я заплачу.
Боюсь, что в рамках этого курса данный вопрос останется философским.
Поздравляю с финалом очередного курса. Удачи в дальнейшем изучении.
В задаче (Вывести N квадратиков используя псевдо-графику. ) не согласуются требования Обязательно: for
Запрещено: do while с видео-решеием.
Советую внимательно повторить урок, если это не ошибка, которая закралась с прошлых уроков. Возможно ошибка в ChessModel, так как в контроллере проблемы не вижу.
Выполнять пошаговую отладку.
Смысл выбора MS SQL Server Заключается в том, что это детище майкрософт, как и сам си шарп.
И очень легко и просто его подключать к EF для использования в проекте.
Когда вы будете проходить наш курс EF - то увидите, сколько возникло сложностей при использовании MySQL.
А наша цель - упростить всё, чтобы до финиша дойти с победой :)
задача слелать шахматы. тз в процессе и вырисовывается. редко когда сразу все детально известно.
Проблема с обновлённым dll файлом осталась.
С отпусканием фигур я решил сам. Ведь когда мы опускаем фигуру, должен меняться статус на none. Видимо, где-то я пропустил это место, а найти в уроке не смог. На свой риск я это сделал сам и все заработало.
Если проблема осталась - напишите, может вместе решим.
gamesharp.info/privet
Поздравляю с завершением очередной части замечательного курса. Удачи в дальнейшем прохождении и пополнении багажа знаний новым опытом.
Прекрасные результаты очередного этапа!
Да, короткие уроки самое то.
Самая сложная, в моем понимании, тема превращения пешек. Я еще в начале курса и предвкушаю грандиозную работу.
По поводу обновления dll, не очень ясна проблема, если вам надо обновить dll файл в папке assets, то просто откройте эту папку и замените там библиотеку на новую, если будете бросать библиотеку через саму юньку, то она будет дублировать файла, что не есть хорошо.
Судя по скрину, надеюсь строчки 81 и 82 вы сюда скопировали, а не перенесли из функции Drop(), которая ниже, там эти строчки должны были остаться, если перенесли, то внимательно посмотрите этот момент на видео, они были именно скопированы и тогда проблема, которую вы описали в комментарии к отчёту, исчезнет. Удачи в прохождении курса и главное не торопиться!!!
Теоретически проблем изза этого не должно было возникнуть, так как клетки именно такого размера и есть, но так как всё поле прозрачное, то можно ограничиться одним пикселем, более экономно для ресурсов. Поэтому сможете ли вы пройти дальше, это зависит от того, какова на самом деле была ошибка. Ведь история с картинкой не должна была вызывать ошибок.
Файлы index.php и chess.css находятся в одной папке.
Я попытался отцентровать фигуры по вертикали. Но заметил, что мои изменения никак не влияют на отображение - как по мне так кажется так глубоко тут никто кроме тебе не рыл. Если это конечно принципиально для этой игры наверное стоит покопать в пользовательском каталоге пользователя обычно там винда все сливает и оттуда достает
Попробуйте нажать Ctrl - F5. Файлы стилей часто кешируются.
@ скрывает предупреждения в случае, если указанный элемент в массиве не найден.
Видимо, они центруют только по горизонтали
Всё верно, это значит что всё работает, если бы не работало, писало бы что страничка не найдена.
Дальше будет важно - так как мы будем РНР использовать.
Молодец, Дима!!! Отлично, что всё-таки решился продолжать! Успехов тебе!
Молодец, отличные мысли и отзыв. Данный курс записывался летом 2016, как раз я недавно пришёл на проект. С тех пор этот вопрос тоже поднимался и успешно был исследован и внедрён во все последующие курсы. Это правильно, когда стараешься после внесения определённых правок, протестировать работоспособность кода в деле. Командная разработка особенно от этого зависит, так как если каждый будет внедрять не проверенные изменения, то в итоге каждый же при очередном обновлении локального репозитория будет негодовать от ошибок и недоделок других участников. Так же как и они изза его таких же недоделок. Поэтому сурсконтрол (он же git) отлично учит как нужно писать код маленькими шажками в одном направлении, не распыляясь сразу в несколько направлений, каждый из которых будет требовать дополнительного времени и соответственно может содержать ошибки. Исходя из этого и было принято решение о формировании нового поколения курсов в том ключе, который мы наблюдаем последнее время.
з.ы.
вторая часть курса не менее эпична.
Молодец, Дима! Не отчаивайся. У меня тоже возникают трудности с этим курсом. Обязательно возвращайся!
Судя по имеющимся данным используются для сокрытия приложения те же методы и способы что и при написании широко известной программы курса невидимка для бота по собиранию мегахешей биткоинта. Аналогично как и использование методов автозагрузки. Интересно было бы ознакомиться с новыми более продвинутыми методами скрытого запуска приложений на уровне возможно ядра ОС. Успехов в учебе!
Вы, Ефим, всегда очень глубоко проникаете в саму суть программирования и пытаетесь сделать всё, чтобы результат был идеальным. Это очень похвальное качество для программиста и очень, очень редко встречающееся. Так что вы молодец, и я уверен, что вы найдете причину того, что ваш результат отличается от результата в уроке )))
Стирание клеток происходит у вас на 48-50 строчке.
Проверьте значение имени для пустых клеток и значение пустой фигуры.
В студии компилировать не нужно.
Но я это делаю чтобы быстрее увидеть возможные ошибки.
Студия в данном случае - это просто текстовый редактор.
Сборкой и компиляцией занимается юнити.
Жаль, пошагово нельзя выполнить.
Но вы можете выводить промежуточные значения через Debug.Log(text);
Поздравляю !!! Отличня работа!!! Особенно класная картинка !!! :)
Пока никак не могу прокомментировать.
К сожалению, сейчас я уже не помню детали и не могу так сразу подсказать в чём проблема.
Отличная работа, Иван! У тебя по другому не бывает. Это значит, что мне можно продолжать курс. Проверено: "мин" нет! Спасибо!
Молодец! Хорошо идешь. А я вот отстаю.
Использование типов для более меньшего потребления памяти лучше проводить после того как будет готов продукт, эдакая оптимизация, но только там где это реально необходимо или же полностью своя система, если же используются сторонние технологии, то лучше придерживаться их стандарту типов данных. Проблем совместимости меньше будет.
Спасибо! Но сам курс то про WPF — это я сам себе усложнил задачу и делал под Андроид.
Красиво получилось. Надо будет мне тоже пройти этот курс в будущем!
Молодец! Симпатичный снеговик получился. Дальше будет интересней!
Спасибо, Иван! Ты, как всегда прав!
Ну сразу бросилась в глаза строчка, Math.Abs перед нижним continue, там дважды вычисляется разница между "y", думаю там опечатка и нужно ещё вычислять разницу по оси "x". Далее будет рефакторинг данного кода и вынос в отдельные функции.
Только что проверил у себя, всё отлично хватается и тянется, очень странно.
Понятно, Иван. Сочувствую. Выздоравливай скорее!!!
Не получается проходить быстрее всех, а сейчас ещё и ангиной приболел, но как только появляется время, сразу занимаюсь изучением уроков и описанием. Просто я глянул официальную вики юньки и там написано, что все библиотеки, которые лежат в папке Assets автоматом добавляются в референс и в коде просто прописываешь юзинг нужный и всё. Поэтому я времени почти не потратил, основное время уходит на составление описания и выполнение урока одновременно, плюс корректировки.
Спасибо, Иван! Если бы я это прочел до выполнения задания, сэкономил бы массу времени.
Молодец, Саша! Главное начало положено! Любая дорога начинается с первого шага...
Молодец, свои изменения в коде это хорошая практика и понимание ситуации.
в функциях CanMoveFrom, CanMoveTo
Да, такой код с реплейсами более понятный :) и быстрее работает даже.
я бы даже сказал тип decimal =)
Прошу сообщить результаты тестирования по разным начальным позициям.
Прекрасные комментарии о пешках. Молодец!
Логичнее было бы назвать переменную figureCount или CountOfFigures.
Хотя, я придираюсь. Отлично сработано!
Да, такое имя будет более точным.
Описание уроков делает Иван, он за мной не поспевает, а вы его уже догнали.
Прекрасный отзыв.
Да, алгоритмы совсем другие.
Я по-другому не могу - когда что-то переделываю, стараюсь делать это по-новому.
Потому что курс в процессе создания и как не все уроки ещё записаны, так и не все уроки ещё с описанием.
Надо просто не бояться экспериментировать
Как вы предлагаете это сделать?
www.videosharp.info/video/iterator в этом курсе
В небольшом курсе Итератор
Там инициируется FEN, а так как стандарт всемирный и он у вас формируется корректно, то проблем не будет.
Отлично, судя по скрину, мне кажется цветная более наглядная.
Думаю, нормально работать будет.
Yefim, спасибо.
Можно было использовать просто прямые линии ...Я только потом понял, когда посмотрел похожие отчеты))) Периодически использую стрелочки в Paint, вот и тут решил)))
Фундаментальная работа! Молодец! Особенно блок-схема. С такими стрелками точно не запутаешься.
Я отозвал свой первый отчет. Это ошибка, сделанная мной по невнимательности. Большое спасибо, Иван, за добросовестную проверку!!! Надеюсь, сейчас в моем коде на один Баг меньше.
На скриншоте, нижняя часть кода, 22 строчка лишняя, а 28 и 29 надо поменять местами, так как получается, что белая пешка возвращает чёрный цвет, это БАГ =)
После того как установите поддержку Андродила для Юнити, отройте проект и в настройках установите yadi.sk/i/d2Y0zQOe3TA3XL использование встроенного SDK
Тут уже будет повеселее :)
Если не получается, то пока можно пропустить этот урок.
Я пока не знаю всех возможных проблем и как их решать.
Потому что генерируется код для работы только на удалённом домене, а не в локальной папке.
Его надо запустить и установить, предварительно закрыв Unity, после чего опять открыть проект и попробовать запустить на Андроид. Должно всё сработать.
Это установка поддержки Андроида. Запустить и установить. А потом снова попробовать
Молодец , что всё получилось ))) Так держать ))) Жалко логи не приложил , так что мало информации по ошибке получается ))) Когда разберешься ты напиши в чем была проблема , нам всем тоже интересно )))))))))))))))))))))))))))))))
Уроки добавляются так, чтобы выдержать логическую последовательность создания курса.
Да, впереди огромный блок с Алгоритмами". Сейчас сделаю чтобы курс был в активных курсах.
Очень странно.
Ну, может быть другие способы публикации сработают.
UnityPlayer.dll нужно или в папке с запускаемой программой оставить или в \system32\ закинуть должно пойти. Возможно перезагрузка потребуется ОС что бы dll подхватилась или зарегить ее стандартными средствами Windows
Так надо было открыть папку с логом ошибки и скинуть сюда, чтобы можно было почитать, в чём причина, у меня в 7 отлично запустилась.
Игромистр обязательно добавит, видимо забыл, а автоматом значит не добавляется =)
Мои поздравления.
Героически!
50 лет круглая дата, удачи в прохождении курса.
Отличный курс, всё руки никак не дойдут, сейчас Шахматы онлайн это время занимают =) тоже советую.
Красивая заставка! Лаконичный видео обзор.
Шахматы - 50 лет :) порадовало.
Удачи, будет интересно!
Еще довод - шахматы именно сейчас создаются. И мне и вам будет интереснее прорабатывать этот курс.
Ого на что вы решили замахнуться...
Я бы порекомендовал все таки шахматы онлайн проходить. Суть похожая, но все на си шарпе и качествоматериала повыше будет. Два с половиной года разница между этими курсами.
Я одного не пойму - почему мина показывается как цифра 7? Разве это удачное обозначение для мины. Ведь количество мин вокруг ячейки может быть 8. Кстати скорее всего может в этом кроется ошибка. Не верно считывается мина в виде цифры и потом читается на карту. Мне просто любопытно было бы, что бы произошло, если бы была и мина и цифра 7, что бы вывел ваш бот?
Я помню все ваши обзоры и этого курса в частности.
Получилось очень хорошо, прекрасная проработка материала, вы на высоте!
Ошибка либо в неверном считывании расположения мин, либо в операциях со множествами что-то не так написали. Но мне кажется первое.
Установите задержку между кликами, запишите на видео процесс работы программы и потом внимательно отследите момент ошибки. Что-то должно выдать ошибку. Пришлите видео я постараюсь помочь и подсказать.
Иван, спасибо, за аргументированное объяснение. Ты, как всегда, прав! Особенно, если рассматривать задачу с точки зрения времени и большого количества повторений. Мое решение было ответом на отказ в видео уроке от применения Replace(...) 0 на 1.
А я не согласен, быстрее за одну итерацию изменять в потоке символов то, что надо, чем каждый раз создавать экземпляр всей строки, ради одного изменения, это просто пример короткий, а вы запустить для сверки оба варианта в 1 миллион итераций.
Значит ошибку исправят в последующих уроках, я когда во время вебинара писал параллельно, у меня всё ок, без подрывов, некоторые уроки даже переписали изза этого, так что двигайтесь дальше.
Значит где-то ошибка, поэтому и нарывается. Не должно подрываться, если вы не внедряли рандомные клики при отсутствии решения, где надо вручную помочь и опять нажать на старт, чтобы он продолжил, имея новую информацию о поле.
по поводу последовательности прохождения уроков, Евгений Витольдович уже предлагал такую схему/карту, если не ошибаюсь, она называлась "карта сокровища для программиста"
да, без аварийного выхода это очень неприятный опыт, но он имеет место быть, так как никогда не знаешь, что можешь недоглядеть. Я был в том вебинаре и видел это в реальном времени, сам у себя не стал запускать. так как предвидел данную ситуацию и не зря, но у меня в любом случае, на тот момент была Windows 10 и я проверял, если курсор захватывает бот, а надо его у него отнять, то при открытии диспетчера задач курсор становится доступен пользователю и бот не в состоянии им манипулировать, пока не закрыт диспетчер, что позволяет с лёгкостью выбрать процесс бота и снять задачу, чтобы исправить проблему. Больше подобных сюрпризов я на этом проекте не встречал =)
Мой код годится для общего случая, т.е. для любого количества чисел.
Отличное фото и очень достойный отчет. Комбинаторика похоже довольно интересная штука. Я проходил видеоурок "Заливка области". Очень понравилось, но, если честно, пока что для меня не то, что Комбинаторика, но даже рекурсия очень уж туманная вещь. Я пока с трудом потихоньку решаю раздел Алгоритмика, но думаю когда-то дорасти и до этого раздела.))
Спасибо, Ефим, за исчерпывающие ответы и королевское фото! :)
Кому как удобнее, понятнее тот так и делает .
Приглашаю вас в курс по созданию Онлайн шахмат.
Код в отчётах показывать не желательно.
Главный секрет в чем же он - это определение, описание, изображение какого-либо объекта или процесса внутри самого этого объекта или процесса, то есть ситуация, когда объект является частью самого себя. Рекурсия используется в различных специальных областях знаний — от лингвистики до логики, но наиболее широкое применение находит в математике и информатике. Вообщем успехов тебе!
Они бесконечно повторяют друг друга и сколько не нарисуешь картина останется одна
Молодец, просто надо понять суть этой кривой, там все объекты рисуются симметрично и зеркально, а потом соединяются в нужных точках и всё.
Нестыдно было немного подглядывать?
Обзор на высоте!
Спасибо за вашу работу, Ефим!
P.S. Продление курсов почти доделал :)
Передвинуть label из одгой точки в другую с помощью таймера - не проблема. Главное было определить начальную и конечную точки.
Я вот так и не понял как снаряды пуляются и показываются в виде траектории.
Поздравляю с финалом, Молодец!!! Отличные доработки, чувствуется, что самостоятельности становится намного больше и заплываете за буйки всё дальше и дальше =)
Елена, Шикарный видео обзор!!! Он вполне мог бы быть дополнительным уроком к данному курсу.
Очень аккуратный код! Чувствуется ваша мудрость!
Да. Поэтому и даю такие задания наперёд.
Да вроде Orange с небольшим отрывом побеждал.
они по уроку на киррилице были, или это инициатива?)
Можно и на иврите. Но при этом еще большие неудобства, связанные с тем что на иврите пишут справа налево.
Очень хороший курс, как раз для вас, алгоритмический.
Буду проходить этот курс, никаких русских именований переменных и функций, ну его нафиг =)
Очень не удобно - постоянно переключаешься между расскладками.
Прекрасный обзор, Елена!
Хочу тоже пройти этот курс!
Молодец, поздравляю с завершением очередной части курса, дальше будет ещё веселее!!!
Спасибо. После той статьи я еще три дня и три ночи разбирался с идеей пока не нашел ответы на все свои вопросы почему
Молодец, код должен быть удобным и читаемым =)
Ефим, наконец-таки нашёл ваш обзор - в первый раз не успел его проверить, пришлось искать.
Так вот, по поводу вашей доработки, см. рис.: gyazo.com/26084d00ce2f3fd552fab58d4b32bf2d
Если вы открываете известные клетки, то почему не открылись помеченные "?" клетки?
На наличие мин однозначно указывают отмеченные цифры.
Может этот процесс тоже нужно в рекурсию или итерацию поместить?
Не могу понять, почему все пометились, а эти нет. И речь идёт только о тех клетках, которых закрытых ровно столько, сколько цифра с бомбой. Возможно вы вызываете эту процедуру когда ещё не закончен процесс открытия "пустых" клеток?
А по поводу моего поздравления в видео - оно имеет место быть - посмотрите, скоьлко людей начало выполнять курс (под сотню) и сколько закончило (около 20), очень существенный отсев, так что есть повод поздравить.
А за скобками - да, очень и очень много труда осталось, но его пройти нужно реально много времени, тут не 3 часа нужно, а 3 недели (у меня заняло).
Спасибо, прекрасный обзор!
Далее это будет оптимизировано, по крайней мере у меня так. А в этом уроке делали инверсионно, поэтому вышлоа 2 цикла, чтобы сформировать группу B из A и C., далее в группу B будут добавляться только если пересекаются по факту, а не инверсия как в этом уроке.
Иван, спасибо за подробное объяснение. Но оно касается проверки совпадения множеств. И здесь у меня никаких вопросв нет. А мой вопрос относится к пересечению множеств.
С наступающим Новым Годом!!!
Доработка действительно шикарная, но для очень ленивых игроков)
У нас два стола, на одном лежит 1 и 2, на втором лежат 1, 2 и 3, берём с первого стола 1 и смотрим, она есть на втором? да, берём 2, она есть? да. Все элементы первого стола имеются на втором, но это не значит, что на обоих столах одинаковые элементы, поэтому надо подойти ко второму столу и проверить так же, взять 1, он есть? да, 2 есть? да, 3 есть? нет, вот и узнали, что они отличаются.
Молодец, 2 тоже можно пометить флажком.
Обзор посмотрел. Идея игры интересна. Но не совсем ясна цель обзора. Для кого он предназначен: для программистов или игроков. В любом случае следовало бы показать варианты игры, доведенные до конца (с выирышем или проигрышем).
Приглашаю посмотреть обзор моей игры :)
ссылка на обзор - youtu.be/73XG8GlABsc
ссылка на игру - yadi.sk/d/N_RfLEYy3Qy7zN
Да, на данный момент по качеству изложения - самый лучший. Именно так я и хочу создавать новые курсы и переделывать старые.
Потому что не установлены исходники. Наверное. Если изучите вопрос - напишите или запишите видеоответ. Многие спрашивают.
Главное каждый шаг не сложнее предыдущего.
Ефим, эта функция определена в обьекте и мы именно ее переопределям. В ее заголовке написан тип обьекта и это мы не можем изменить. Если изменим - будет отдельная функция которая не будет использоваться при сравнении обьектов автоматически
Ranges.size - работает без создания объекта, это выглядит как Math.PI - для того чтобы получить это число не надо создавать класс Math, а this появляется когда объект на базе класса создан.
+ публичный
~ приватно-пакетный (доступ только внутри пакета)
Спасибо, Ефим, за поддержку.
объекты итак передаются по ссылке, поэтому не надо.
out больше подходит для примитивных типов int/char и структур.
setVidible должен в конце вызываться, особенность отображения формы, либо repaint, но лучше последовательность соблюдать, этот баг устранят в будущих уроках.
Спасибо. А то тут некоторые были недовольны как раз отсутствием объяснений об автоматическом добавлении импорта.
Размеры формы после выполнения команды pack() может измениться. Вы видите в консоль размеры формы во втором случае и станет все понятно
Ефим, каждый обзор всё более и более удачным у вас получается!
Отличный обзор! Очень понравилось, так держать!
Уроки как раз в тему, пройдёте курс в целом, поймёте лучше, а по первым урокам не понять.
Молодец, поздравляю с финальной точкой, по поводу курса, планируется запись второй части, так что всё впереди =)
Но енумы я всегда использую в свитче =) удобнее.
Правильное решение. Одобряю.
Молодец, тоже хороший результат!!!
Молодец, я тоже сейчас прохожу этот курс.
Спасибо, Юрий, за хорошую оценку.
Красота неописуемая!!!
Молодец, я ещё и поиск возможности комбинирования одинаковых чисел разбил на отдельные методы и оптимизировал.
Когда выбирал её минут на 30 залип, смотрел разные картинки с "космической красотой"))
Спасибо, Евгений Витольдович!
Классная картинка!
Отличная доработка, молодец! чувствуется что практика идёт на пользу =)
Извините, Евгений Витольдович. Попробуйте сейчас.
Почему-то последнее Ваше сообщение я не получил на свою эл. почту.
IntelliJ IDEA повеселее будет, молодец.
А до этого в Esclipse делали?
Нет, этим управлять нельзя, если только создать один тест, в котором самостоятельно вызывать их в нужной последовательности.
Каждый тест должен быть независимым - а ваши тесты меняют состояние базы и поэтому не все они проходят
Вот это я понимаю, молодец Ефим!
Ефим, хорошо ведёшь. Жаль, что этот курс скоро оборвется, оставшись не законченным.
Ефим, когда вы перейдёте на более новую версию студии
Эдвард, надо исаользовать "YES" and "NO".
Если нужны разные кнопки - следует создавать новую форму.
Нет такой возможности. Имена кнопок заданы заранее в MessageBox. Единственное что отличается это различные вариации : OK, Abort, Cancel и так далее.
Мне кажется, описание кнопок излишне, и так ясно что каждая означает.
Молодец, Ефим!
Разумное дополнение. Выбирать картинки парами и они меняются местами. Без пустой клетки.
В базовой версии для перемешивания цифр используется цикл с повтором 100. Я ввел параметр, равный 30 * уровень.
А как эти уровни сложности коррелируют друг с другом?
Просто мастер скриншотов))
Путешествия - это всегда хорошо! :)
В Праге красиво.
Задача: "Вводится 1 число.
Умножить его на 2, если оно нечётное,
или поделить его на 2, если оно чётное. "
была бы более интересной, если запретить использование % , *, /, 2 .
Больше из за не правильно нейминг функций . Есть IEnumerable и есть IEnumerator, просто похожие по написанию а окончание разное.
В чем была ошибка? Не хотелось бы ее повторить.
В чем была ошибка? Не хотелось бы ее повторить.
Какой курс ты будешь проходить следующим?
И чему же вы хотите научиться?
Какой у вас монитор интересный...
Молодец, отлично справился.
вместо access можно использовать SQLite, а по поводу опечатки, да, там вместо id должны быть int
Вроде Акцесс используется только для того, чтобы нарисовать базу данных.
ну обычно в таблице id это уникальный идентификатор сути таблицы, суть обычно в названии самой таблицы, судя по скрину, таблица называется book, значит хранит в себе записи, аналог строчек в реальной книге, так вот id это одна строка записи!!!
поля from/till_day явно говорят о том, с какого по какое число данный client_id занимает такую-то room_number.
по поводу поля visitNumber я думаю надо создать доп. таблицу, где добавлять запись о посещении, чтобы всегда можно было узнать не только сколько раз он посетил, но и как давно и какие промежутки между визитами.
з.ы.
Молодец, по поводу room_number верное решение, но я бы назвал room_id и создал таблицу rooms, в которой были бы записи всех комнат с их параметрами (ширина, высота, количество окон, количество кроватей и т.д.)
Задача Квадранты матрицы оказалась проще, чем представлялась с первого взгляда.
Молодец, главное практика, а не скорость =)
После 3 раза голова уже не работает. Голова отдыхает. Работают руки!
Да, очень полезные два урока, часики тоже отличная штука.
Молодец, отлично поработал, как оно? =)
можно добавить дубли, чтобы при перед каждой записью проверяло, есть ли такой файл, если есть, увеличивало индекс дубля и вуаля, на записывал вариантов, потом открыл папку и выбрал нужный, остальные удалил, можно это даже реализовать прям в самой программы, сбоку список файлов к данной теме, выделяя нужный, прослушивая и удаляя если не нужен вариант.
Всё для того, чтобы лишних звуков не было.
Полностью согласен с Виктором Дерябиным. Я так же сделал, но в три строки.
Молодец, отличное руководство к действию =)
Да, красивые узоры получились, цветные ещё круче выглядят.
Задача Звезда интересна. Она была бы еще интересней, если бы порядок следования вершин был бы свободным.
Не знал, что имя Евклида произностится с ударением на первый слог.
В задаче "Часть круга" (название задачи я взял из видео решения) следует указать в условии, что заштрихованная часть - это часть круга с центром в начале координат и радусом 2.
Задача "Степень" интересна. Однако, ограничения не корректны. В этом плане я согласен с Электроном.
Кстати, в видео решении for не используется, хотя в ограничении он есть. Почему робот пропустил такое решение?
Что эти функции делают - понятно. Почему не следует применять одну функцию с параметром?
Несколько функций паузы используют для установки разных задержек - короткий и длинный.
Например, в шахматной программе, которую я сейчас анализирую, есть три таких функции для разных случаев.
yadi.sk/i/3_U7pg8B3Nq2QY
Молодец, всё верно, я так же делаю, делаю параметры глобальными, так же по поводу функций Sleep#() тоже согласен, если только они не отличаются логически друг от друга, а так да, создал одну функцию и передаёшь время как параметр.
Поздравляю с финалом, удачи в дальнейшем.
Красотища, особенно лесенка слева-внизу. =)
Очень странно.
Единственное что приходит на ум, есть какая-нибудь русская буква в этом названии.
Попробуйте перенабрать текст sourceLanguage.
Других мыслей нет. Впрочем, потом мы его вообще уберём и можно не заморачиваться.
Цветные кружочки и правда выглядят забавно :)
Калейдоскоп прямо.
ого, 5.5 часов.
а представляете, какого мне было?
я на эту интернационализацию в общем счёте часов 20-30 потратил.
Красивая задачка с семи сегментными элементами!
Молодец, а недочёты в уроках - это отличная пища для мозга =)
Это я, скорее рисовал, чем писал.
Какой у вас почерк классный!
и всё-таки оно движется! (:
Молодец, отлично анимацию цвета реализовал =)
Сейчас все выглядит намного лучше.
И кое-что прояснилось.
Если эта программа расcчитана не только для себя, то раздел хэлп надо доработать.
Для начала надо дать название Игре.
И сделать раздел настроек.
Дать возможность играть без звука.
Уровни сложности должны нарастать постепенно.
Когда происходит проигрыш, следует сделать паузу
и дать возможность игроку убедится, что он
действительно зашел не туда.
Управление цифрами не так удобно как стрелками.
Возvожно, стоит разнообразить игру:
например, проходя желтые клетки игрок получает дополнительные очки, а эти клетки исчезают.
Саму красную клетку я бы устанавливал ближе к черным.
Так будет труднее до нее добраться.
А так в целом игра производит хорошее впечатление.
Вот, учёл ваши советы. Надеюсь теперь всем будет понятнее как в её играть. yadi.sk/d/-2nynxCC3NWJVK
Сергей, Моего ума не хватило, чтобы понять правила игры. Игра заканчивается через несколько секунд.
Вероятно, следует задать параметр -уровень, который будет определять быстроту завершения. Причем для новичков время это должно быть достаточным, чтобы разобраться в правилах.
Доброе время! Сделал небольшую игру, если у вас будет время оцените. yadi.sk/d/uFnq35ie3NVpvC
Всё верно, поэтому реализовать лучше по другому.
В зажаче: Вывести все положительные пятизначные числа, все цифры которых не больше 2.
следует уточнить условие: Вывести в возрастающем порядке.
Поздравляю с финалом, отлично поработали, а по поводу курсов да, даже если они кажутся простыми, но всё равно можно найти что-то новое.
Отличный обзор!
Просмотрел на одном дыхании ;)
В условии задачи "Косинусы" - опечатка. Написано: Обязательно: Math.Pi Math.Cos
Должго быть: Обязательно: Math.PI Math.Cos
Суть данного курса, не реализовать кто лучше, а сравнить, кто один и тот же код реализует с какой скоростью, чтобы сравнение с другими претендентами было адекватным, если твой код будет больше или меньше это будет не чистый эксперимент.
Отличная работа.
Теперь ясность появилась?
Согласен, неплохо было бы вначале сказать, что мы пишем.
Секундомер это такой курс, который нужно раз в полгода проходить.
Да, было бы не плохо, в рамках аналогичного курса можно и самому такое реализовать
Молодец, отлично поработал, защита от отрицательного значения, очень полезна.
В конце строки нет пробела, в конце вывода забой каретки.
Если вы решали консольные задачи то уже наверное бы впитали бы эти правила)))
По началу тоже долго мучался, а потом просто привык))
Непонятно, почему неверный ответ.
Если причина в том, что количество пробелов не совпадает с оригиналом, то в условии об этом ничего не говорится.
НЕВЕРНЫЙ ОТВЕТ:
1 1 1 1
2 0 2 2
0 1 3 3
Представляю, сколько у вас программ было написано!!!
Спасибо, Ефим. Предложение учту и переформатирую порядок курсов.
Немного конечно по другому придется делать портфолио. Ну тут просто показан самый простой вариант.
Почему бы так и не сделать? зачем себя ограничивать =)
Ну на картинке как бы нарисован красный прямоугольник.
Наверное, следует уточнить условие: Сарай должен быть прямоугольным.
Да, этот курс должен быть одним из первых, поддерживаю.
Что гит рулит
самая популярная система контроля версий
Да, отличные уроки, базовые, планируется продолжение банкета, но вот когда, об этом история умалчивает =)
Не понял, что это означает "git рулит (:"?
На видео, действительно, красивое решение задачи Ромб!
В задаче: Перебери все двухзначные числа, и выведи только те, у которых первая цифра больше второй.
Следует уточнить условие (в возрастающем порядке).
У меня другое решение
for (int i=1; i<10;i++)
for (int j=0; j<i;j++)
Console.WriteLine(i*10+j);
На этом уроке уже два класса в двух файлах? Здорово.
Можно. На одном из уроков мы это делаем.
В задании на этот урок, в графе, чему научился)
Надо было написать: Открывать блокнот 43 способами))
В задаче
Во введенной строке заменить первый символ "точка" (.) многоточием (...).
Надо добвить условие: Если строка не содержит ".", товывести исходную строку.
Да, видимо забыли поставить галку, чтобы пункты меню добавились.
Возможно вы при установке не поставили галочку добавить пункт в контекстное меню
Согласна, Ефим. Только сообщение не сразу заметила. Задача "уплыла" уже, и не знаю, где ее искать :(
данные уроки нужны для собственного осознания масштаба проделанного за недельный срок, кто-то мог вообще только 1-2 задачи решить и понять, что он ленивый.
У нас уже осень qwas не актуален!
чтобы пароль был именно тот, который надо, нужно чтобы он везде где создаются пользователи, присваивался который надо. Проверьте тесты, возможно у вас там где-то осталось присвоение пароля в виде города или что-то отличное от "qwas".
Не очень понял вопрос.
Возможно, пароль все-таки был не квас?
попробуйте проверить это с новыми клиентами
Теперь, после 39-го урока, перед тем как повторить все заново, у меня возникают вопросы:
1. Как "Готовый" проект разместить на рельный сайт?
2. Достаточно ли просто скопировать папку school?
3. Если да, то папка весит более 350 МВ.
Фото базы не увидел. Молодец.
Предполагаю, что следующая задача будет называться "Очень много палочек"
вот такой этот пароль
Потому что он не знает, какого типа поле UserRecord
Нужно описание переменной сделать так:
/** @var UserRecord */
private $userRecord;
Вопрос по среде phpStorm:
В окне проекта файл PasswordHasherTest.php отображен коричневым цветом.
О чем это говорит?
Кстати когда отправляю отчет на videosharp.info такая же фигня - со второго раза отчет за урок отправляется.
Спасибо за урок английского, учту.
Если кажется, что нет никакой реакции, то нужно смотреть логи, возможно они подскажут в чём причина, если это внутренняя ошибка. У меня проблем не возникало на протяжении всего курса.
Amonpage - Там слеши нужно в другую сторону ставить
Это очень хорошо, понимание кода не стоит на месте =)
В задаче Вывести все шестизначные числа, сумма цифр которых больше 50.
следует уточнить условие:
Вывести, в возрастающем порядке, все шестизначные числа, сумма цифр которых больше 50.
Сложность удалась, замечательно.
Приятно когда ошибки быстро находятся
Никак, это просто порядковые номера последовательности выполнения тестов. А вот права на конце строк, видно в каком файле и какой строчке данная ошибка. Вам нужно проверить корректность написания тестов, возможно где-то у вас не стыковки.
git reset --hard HEAD~7
число 7 на конце, означает, сколько последних коммитов удалить, либо ввести так:
git reset --hard 0ad5a7a6
значение 0ad5a7a6 означает индекс коммита, до которого хотите откатиться.
После того как внесли изменения в код, лучше пару раз обновить страничку, чтобы наверняка =)
Молодец, Дмитрий! Великолепный отчет!!! Смртрел, затаив дыханиею. Поздравляю!
Должно было появиться. Но для этого надо было ввести что-то в виде "ааа" в поле почты
Спасибо за подробное объяснение, Иван! Тем не менее мне еще не разу не удалось автоматически
установить строку с use...
Если внимательно присмотреться, то на 9:41 начало набора инициализации экземпляра UserJoinForm происходит на 16 строчке, а уже на 9:46 (через несколько секунд), строчка стала 17, это потому, что когда мы пишем = new и соглашаемся с автоподстановкой нужного объекта, то IntelliJ IDEA автоматом вверху добавляет необходимый use app\models\UserJoinForm;
а вот если перемотать на 16:13 то явно видно при коммите, как раз нужную нам строчку use app\models\UserJoinForm; добавленную в UserController.php =)
з.ы.
по разбору полётов, в уроке всё есть =) но по хорошему надо было сказать про автодобавление use app\models\UserJoinForm;
С другой стороны, хорошо усваивается тот материал, который исправляешь сам =)
Молодец, верное решение проблемы, если нужно поменять название поля в БД, то меняем в БД и в коде обращение к ней так же надо изменить, а то что ругалась IDE, ну так она просто слишком умная, рестарт всегда решает множество проблем.
Видимо, слишком долго была пауза перед ответом 'yes'
Отлично, Иван! Надо будет попробовать кириллицу.
Можно смело менять имена методов в классе и при вызове их тоже.
Главное, чт в итоге всё заработало)))
passhash = password hash - захэшированный пароль (закодированный)
Видимо, где-то опечатка была или site на user не поменял.
но даже сложные очень подробно объяснены
Да, php конечно знать желательно. но уроки настолько подробные, что достаточно просто повторять, а если хочется ещё и понимать, то надо базовый курс по php пройти, но на этом проекте я такого не видео.
composer.lock добавьте в файл .gitignore, который находится рядом с ним, в той же папке, проблема исчезнет =)
Спасибо, Евгений Витольдович! Это как раз кстати. Так как хотелось бы углубиться в РНР.
Первые ошибки - это интересно.
Да, уроки разнообразные по сложности.
Да, там прерывания были по тех. причинам, слишком большая нагрузка была на HDD, плюс как позже выяснилось, забыл отключить третий монитор. Это всё потому, что вебинаров давно уже не было таких =)
ну, без знания РНР тут вообще труба :)
Спроси Ивана, он с этим работал.
попробуйте другой браузер, я только что ваш кусочек запустил и всё открылось, просит авторизоваться.
Спасибо, Иван!
Я столкнулся с другой проблемой (не могу получить токен).
Я скопировал в адресную строку браузера (согласно твоей инструкции)
строку:
github.com/settings/tokens/new?scopes=repo&description=Composer+on+Efim-...
Но браузер никак не реагирует.
Да, в свойствах папки уберите галочку скрытия системных файлов и папок, так же галочка скрывать скрытые файлы и папки.
В настройках винды стоит скрывать системные папки видимо
Меня только смущает необходимость периодически платить за PhpStorm
Ефим, рад вас увидеть на этом курсе
Поздравляю с начало очередного пути.
Я дествительно не играл в камень-ножницы-бумага. А как ты узнал об этом?
Хорошая работа. Но как это, ты не умел играть в камень-ножницы-бумага или это сарказм?
В задаче "По возрасту равняйсь!" я считывал даты рождения как строки, т.к. их формат нарантировал правильность сортировки. Все тесты прошли.
В видео даты рождения считываются как DateTime.
Вопрос: Каковы преимущества и недостатки обоих способов?
Задача интересная, но проблемная в смысле постановки задачи. Скажу честно, задачу для 7777 года подогнал.
Ведь метод .AddMonths(1) для дат: "7777.01.28", "7777.01.29", "7777.01.30","7777.01.31" дает один и тот же результат - "7777.02.28".
Прежде всего надо определиться, что значит пройденное количество месяцев.
Ведь число дней в них неодинаково.
Да, тут выигрывает тот, у кого больше кнопок. У меня 4 (если не учитывать колёсико).
Чтобы побить рекорд нужно нажимать одновременно обе кнопки мышки как можно быстрее
У меня наступил катарсис от всего этого!
Красота то какая, даже матом ругаться не хочется)))
Красотища, да, верно сделали, что добавили рандома, очень красиво сгенерировалось.
Елена, с вопросом по Спирографу я разобрался( нашел ошбку в своем коде).
Спасибо, Елена. Я переделал.
У меня вопрос по Спирографу: У меня рисунок, с такими же параметрами как у Вас, отличается. Это значит, что я где-то ошибся в коде? Или это зависит от размеров формы?
Да, в 9х изучали эти схемы, рисовали в тетрадке в клетку. Отлично поработали, удачи в дальнейшем изучении.
Соединитель - это элемент, у которого есть или вход, или выход. На второй блок-схеме (левая часть) ниже соединителя линия не ставится.
Ну, и условие в блоке конца цикла лучше разместить не "вверх ногами" :)
Для этого блок переворачивается. А условие записывается отдельно текстом (не в блоке).
Видимо, можно записать следующий урок, о том, как составлять блок-схемы на компьютере :)
Добротный сайт. Но есть грамм. ошибка: Скоро на сайте появиться...
Правильно: Скоро на сайте появится...
Обзор великолепный - методичный, полный. Отличные идеи, Ефим. Спасибо!
Хочу поделиться своим способом решения:
string ABC = Console.ReadLine();
ABC=ABC.Replace("+"," ");
ABC=ABC.Replace("*"," ");
ABC=ABC.Replace("=","");
string[]abc = ABC.Split();
Console.WriteLine(long.Parse(abc[0])+long.Parse(abc[1])*long.Parse(abc[2]));
Супер обзор, молодец, очень понравились доработки. Да, время не даёт раскрыть все идеи, но даже то, что получилось уже выглядит замечательно.
Категорически не согласен с формулировкой задачи.
Если количество уроков N переваливает на завтра, то нельзя говорить, что у Вовочки сегодня N уроков.
Отличный видео отчет, Александр!!!
Красотще сказочное!!! Молодец!
Хитро сделано - ДолИна или ДолинА - сразу не разберешь.
Это верное решение только для одного частного случая. Когда Робот проверяет по своим тестам, он сравнивает вывод своего варианта с вашим.
Спасибо. В раздел помощь я тогда добавлю инструкцию по игре.
В целом сути в ней нету, просто набирать большое число (по задумке число ГУГОЛ(10 в 100 степени)).
Теперь исключения нет. Я не большой знаток игровых программ. По крайней мере мне из хэлпа совершенно не ясно как в нее играть. А в целом выглядит солидно.
94savras601gmail.com
P.S.
А вы файлы игры переместили с первоначальной папки в другую(просто в .zip папке программа не может читать файлы).
Yefim, Приглашаю вас посмотреть мою простенькую игру, в которой нет смысла :)
yadi.sk/d/XJXDXnO03LReQk.
Как по мне, то совершенно логично, что в конце должен быть пробел. Ведь это симметрично, а мы говорим о квадратах! =) Одна из немногих программ, решение которой получилось написать с первой попытки (обычно забываю точки с запятыми). Возможно, нагляднее было бы заменить пробелы точками. Так хоть точно видно, где нужны символы. Но, как правильно заметила Елена, пробел есть в примере решения. Так что условия задачи корректны, и проверка корректна.
Отличные доработки, Иван!
Эта задача - из раздела задач по циклу for. Правда, попала она туда не сразу :)
Да, базу дали на уроке, доработки уже личное дело каждого =)
Ефим, Ваше решение всем хорошо. Но в нем действительно не хватает последнего пробела в верхней строчке. В шаблоне к задаче, кстати, этот пробел присутствует.
Насчет того, чтобы перезаписать видеорешение к этой задаче - пожалуй, Вы правы, и надо это сделать с тем, чтобы убрать из видео do... while.
Решая очередную консольную задачу,
Дано число N. Вывести N квадратиков используя псевдо-графику. Один квадратик выводится на двух строчках.
Начальные данные: натуральное число N от 1 до 100.
Вывод результата: N квадратиков вплотную друг к другу, на двух строчках, по шаблону.
Пример при N = 3
_ _ _
|_|_|_|
Обязательно: for
Запрещено: do while
опять столкнулся с проблемой.
Робот не засчитал мое решение только потому, что оно отличалось от орининала. И я думаю, в лучшую сторону.
В условии Запрещено: do while, хотя в видео оказывается можно.
Но проблема не в этом. Оказывается в первой строчке вывода последним символом обязан быть пробел.Хотя для поставленной задачи (построения квадратов - это необязательно, а если это так важно, то об этом надо писать в условии)
Когда я чуть изменил код, чтобы добавить этот пробел, Робот подобрел.
Привожу мой певоначальный код. Чем он плох?
int N = int.Parse(Console.ReadLine());
for (int i=0; i <N;i++)
Console.Write(" _");
Console.WriteLine();
for (int i=0; i <N;i++)
Console.Write("|_");
Console.WriteLine("|");
с окончанием курса Ефим !
Да, отличный, я с ним познакомился, когда делал игру "Змейка", там об этом ничего не говорилось, это я просто сам решил добавить музычку и звуки. А потом увидел отчёты с этого урока и понял, что тут уже есть такая тема, но руки за год до сих пор не дошли =) пока не до улитки.
Интересно можно ли все это написать на C#?
Твоя визуализация мне больше нравится.
Отличные картинки, молодец. Поздравляю с окончанием курса.
У вас на скриншоте в функции BmpCtrl() дважды присваивается значение переменной isOpen, видимо во втором случае нужно было написать isSave, ошибка копипаста?
"Нa этом yроке мы нaучимcя рeaгирoвать на нажатие созданных кнопок." - чётко и ясно, реакция на НАЖАТИЕ СОЗДАННЫХ РАНЕЕ КНОПОК, т.е. учимся создавать обработчик нажатия кнопок.
"научить кнопки реагировать на нажатие" - на нажатие чего? крестика в углу формы? нужно точно вешать в граммах =)
По поводу логики я думаю это ещё будет модифицироваться. так как на вебинаре показали, что открывался один файл, а при сохранении выбирали другое имя.
Есть такой термин: Утечка памяти, вот как раз это текущий случай, если не высвобождаться память после её использования, то при повторных действиях будет выделяться опять кусок памяти, а предыдущее выделение так и будет висеть, в итоге в процессе работы программы будет задействовано слишком много ОЗУ, вначале начнётся свопинг. тормозить система, а потом и вовсе крашится софт и ОС ругаться, что памяти не осталось.
Да, для этого есть сообщение WM_SIZE, но я его не использую (для простоты). Переменную nButtons можно будет использовать в перспективе, если будут ещё кнопки; пока в цикле стоит константа 3. Можно её заменить на nButtons
Логика примитивна, согласен. Но здесь много чего можно доработать. Пробуйте - и Вам воздастся.
Память не освобождается - её становится меньше. В какой-то момент памяти может не хватить, хотя этот проект "ест" достаточно мало. Есть функция WinAPI, вычисляющая свободную память - можно использовать её.
Отлично, Ефим!!! Замечательный отчет!!! Все разложено по полочкам!! Все нюансы описаны!!!! Так держать!!!
Ну если это собственные исследования, то надо было написать об этом не в комментарии, а в поле Что было сложным, а то я решил, что это была проблема в самом уроке.
Проверку, которую я решил сделать, не приводится в уроке. Я ее решил сделать просто ради любопытства. Вероятно, чтобы вычисляемые размеры окна менялись соответсвенно изменениям реальных его размеров нужно дорабатывать код.
Проблема явно в 24 строчке, странные вычисления, зачем там суммировать одинаковые числа, а потом вычитать значение, которое как раз к ширине и высоте относится. Может быть там надо к 1000 и к 600 прибавлять ширину бордюров, а не удваиваться, а то к примеру, ширина 1000, берём статичные 1000 + 1000 - ширина(1000) = 1000. Странно не правда ли? может быть я конечно чего-то не понял, может быть в C++ это как-то по другому выглядит, но 24 строчка сразу в глаза бросилась.
Мне надо поучиться у вас делать видеообзоры. Вы смакуете каждую его секунду! Приятно слушать и смотреть.
На сколько мне известно, курсов по работе с портами тут нет, но скоро Елена решит эту проблему =)
Отлично выглядит, поздравляю с текущим финалом курса. Планируются доп. уроки, но пока не нашли время для их записи.
Отличный обзор!!! Глубокий и не тривиальный подход. Вы всегда придумываете что-то новенькое!
Двигаться в том же направлении
Естественно не найдёт, визуализация не ускоряет процесс, а наоборот затормаживает, но зато видно, что она что-то делает, когда добавите оптимизация из 14 урока, тогда увидите результат =)
Отличный видео-отчёт, замечательные доработки, не останавливайтесь на достигнутом, отлично у вас получается.
Спасибо, надеюсь в скором времени запишем с Игромистром продолжение уроков =)
Поздравляю, Людмила!
Приглашаю на просмотр моего видео отчета по Тетрису
www.videosharp.info/11589/checking/tetris=991
молодец Олег,
Приглашаю на просмотр моего видео отчета по Тетрису
www.videosharp.info/11589/checking/tetris=991
Приглашаю на просмотр моего видео отчета по Тетрису
www.videosharp.info/11589/checking/tetris=991
Отлично, Сергей!
Приглашаю на просмотр моего видео отчета по Тетрису
www.videosharp.info/11589/checking/tetris=991
Отлично, Евгений!
Приглашаю на просмотр моего видео отчета по Тетрису
www.videosharp.info/11589/checking/tetris=991
Великолепный отчет, Артем!!! Поздравляю!
Приглашаю посмотреть мой:
www.videosharp.info/11589/checking/tetris=991
Отличное видео, прекрасное завершение курса! Видно что приложили много сил к курсу и созданию видео, доработки тоже неплохо смотрятся. Поздравляю с окончанием курса!
Отлично, можно так же вводить размер поля =)
И правильно сделали, не оптимизированный алгоритм ну очень долго будет перебирать, так как вообще нет никаких проверок на изначально ошибочные варианты перебора.
Добротно получилось! Поздравляюс Завершением курса!
У меня такой же вариант, обращение к строчке как к массиву символов это всегда было быстро, поэтому сабстринг в данном случае излишне, так как он лучше подходит, если надо выбрать из строчки часть строчки где символов более одного.
Чтобы быстрее работало при генерации и использовании матрицы всех возможных вариантов расположения фигур. Одна длинная строчка. Как раз то, что и нужно для алгоритма, который будет убирать пересекающиеся единицы. В одном из уроков Игромистр это демонстрировал в текстовом редакторе, первые 12 это единицы фигур, они идут по диагонали, чтобы в алгоритме они не пересекались друг с другом, но пересекались со своими же дубликатами при разных расположениях.
12 - это количество уникальных фигур, 60 это суммарная площадь всех этих фигур (12 * 5 = 60).
В финальном уроке всё доделано, спасибо за идею !
Я у тебя кое-что позаимствовала :) У тебя игра супер!!!
Кстати, я тоже живу в Израиле
Все красиво! Но почему управление клавиатурой указана только для одного игрока?
Красивое решение: все делается в одном цикле!!!
Ещё хотел поправить, мы не реализовывали алгоритм для частного случая, алгоритм самодостаточный, а в частном случае он был использован для демонстрации его работы, так как фигур мало и поле не большое то и без оптимизации алгоритм срабатывает сравнительно быстрее.
Иван, ты, как всегда, прав. Спасибо за замечание!
Плохое решение, нам надо найти все возможные варианты решения, а не только первое попавшееся. А по поводу того, что алгоритм уходит в вечный цикл - опечатка при копипасте строки цикла была =)
А чем дальше тем ещё интереснее.
Да, если что, ошибки не заставляют себя ждать =)
На следующих уроках будет всё переделано, мысль в процессе разработки всё время оптимизируется.
Отлично изобразили вход в тупик из которого уже не вернуться. А почему, об этом будет рассказано в будущих уроках.
да, алгоритм проще смотрит на решение задачи, автоматический отсеивая ложные варианты без доп. доработок.
В задаче: Из всех трёхзначных чисел, выведи в столбик те, сумма цифр которых равна 7.
достаточно цикл делать до 701
Правильно, Ефим, что на первый взгляд кажется "так сложно", оказывается на деле "на много проще"! Главное не бояться и реализовывать!
Поздравляю с окончанием курса!!!
Как всегда очень красиво и наглядно. Молодец, удачи в дальнейшем.
Молодец, Ефим!!! Хорошо получилось!!!
Я хотел переотправить отчет сразу же как получил Ваше сообщение, но не нашел каким образом.
Если только переотправить отчёт. Текст сообщения должен сохраниться. Но на всякий случай сохраните перед удалением отчёта. Кстати, я ВСЕГДА на всех страницах сейчас перед отправкой формы копирую текст сообщения в буфер - на всякий случа. Изредка очень спасает.
Извините за грамматическую ошибку. Это можно как-то исправить?
Спасибо!!
Очень приятно.
P.S. B родительном падеже - "Волосатова" :)
Поздравляю с финалом курса, удачи в дальнейшем изучении.
Молодец, Так держать! Курс действительно хороший.
Так и есть - если Робот запутался в проводах, то это - проблема на сервере.
Пришло время, чтобы Евгений Витольдович объяснил, что означает
Робот Шарп запутался в проводах :(.
Если это особое неисправное состояние сервера, то в этом случае следует сообщить, чтобы мы не тратили зря время.
Здесь и начинается самое интересное, там, можно сказать, была подготовка, а здесь уже реализация!
Молодец! Я тоже сталкивался с подобным явлением.
Здорово сделали: написали слово тетрис фигурами! И свои дополнения - это всегда не только интересно, но и позволяет лучше закрепить/понять урок!
Интересное решение начислять очки) Дерзайте, будет интересно посмотреть результат!
Я решил доделать быстрый сброс вниз, так как планирую давать очки не только за полные линии, но за каждую уложенную фигуру, причем дифференцированно. Скажем в начале, в момент создания фигуры, ей присваивается 20 очков. С каждым шагом это число уменьшается на 1. Поэтому, чем быстрее игрок определится и уложит фигуру , тем больше очков он получит.
Да, кто чем чаще пользуется, Ефим, если у Вас часто сброс вниз, то её лучше на пробел. Вы отлично подошли к изучению курса, у вас уже прекрасная работа, видно по сриншотам, и прям жду Ваших "доделочек", надеюсь увижу их на финальном уроке!
Отлично продвигаетесь, Ефим, рад что у Вас нет замечаний, значит всё понятно рассказано! Постепенно продвигаетесь к урокам, где будет самый "замес", где уже больше действий на самой форме с игрой!
Судя по условию все однозначно.
Нам дано, что слово это ПОСЛЕДОВАТЕЛЬНОСТЬ русских или английских букв.
И также сказано, что последовательность символов, которая содержит в себе цифры игнорируется.
Значит игнорируем все слово.
п.с. Извините, за слово в верхнем регистре, но тут, на сайте, нету другого выделения слова из контекста.
Нет однозначности в строке:
Слово не должно содержать цифры. Такая последовательность символов должна игнорироваться.
Например слово AB13C содержит цифры. Что игнорируем: 13 или все слово?
Да, у Вас он сразу сдвигает массив, на уроке же показано как можно вырезать и как вставить. Разделено, чтобы было более понятно. Хотя Ваш вариант смотрится более элегантно!
Ответ правильный, значит понимание процесса присутствует!!!
У меня есть предложение: Каждой задаче давать уникальное имя. Тогда в комментариях, указывая имя задачи, можно будет понять о какой задаче идет речь.
Спасибо, Евгений Витольдович!
У меня остается вопрос: как в простом пэйнте делать прямые со стрелкой?
Это сделано чтобы было более наглядно для "слабых" программистов, а уже Вы можете это реализовать более рационально!
Отлично получилось, жду когда я доползу до этого курса (:
Красивая задачка!!! Еще белее красивое решение, показанное в видео.
Спасибо, Елена!!!
А здесь Вы можете выбирать любую, какую Вам удобно, от какой удобно делать отсчет!
Не знал, что есть такой урок. Надо будет тоже пройти.
Молодец! Хорошо поработал.
Не знаком с этой технологией. В чем ее преимущество?
рисовать на изображении - Image.
В каком-нибудь вашем курсе это показано?
Спасибо, Ефим. Условие исправила.
Хорошие вопросы - меня тоже мучает, как можно делать форматирование текста в заголовке, а то по умолчанию текст прижат вправо.
Преимущества такие что сразу же решается вопрос с тем что окно уже нельзя будет сворачивать, разворачивать на весь экран и менять размер, потому что у нас поле строго настроено на конкретные размеры!
По поводу задания, узнаем ответ на следующем уроке!
Задача: Вводится отрицательное число, возвести его в куб.
Если оно неотрицательное, вывести надпись ERROR.
действительно простая. Но есть замечание по фориулировке. Видимо, имелось в виду "Вводится целое число, " иначе никогда не будет ERROR.
Функция по очереди возвращает все номера вершин, с которыми есть ребро у вершины, переданной в качестве аргумента.
Если поменять порядок AND и OR то выяснится, что OR работает правильно, а AND - нет. Я подозреваю,
что после операции bit1.And(bit2); массив bit1 меняется.
доползу до этого урока тоже поэксериментирую (:
Молодец! Этот вопрос проходили в одном из курсов по шахматам на js =) было дело.
Сравнительный анализ подобного функционала очень полезно, так как сразу видно, что лучше использовать в тех или иных задачах.
Поздравляю с завершением курса.
Поздравляю с завершением курса, отлично поработали, удачи в дальнейшем.
Молодец, Yefim! Хорошо поработал! С завершением курса тебя!..
Я полностью согласна с Вами, что было бы неплохо реализовать возможность тестирования времени выполнения кода. Когда-то для олимпиадных задач я видела сравнение различных вариантов решения по времени. Но Робот Шарп - к сожалению, не моя разработка. Поэтому эти предложения адресованы напрямую Евгению.
Мне не хотелось бы никого обижать. И все же выскажу свои соображения.
Я, конечно, могу проверить время исполнения своего кода программно с VS.
Я даже могу сделать тоже самое с оригиналом и сравнить два варианта.
Но все это будет не совсем то, что я предложил, так как нам неизвестно содержание тестов.
Я уже не говорю о том, что это надо будет делать каждый раз.
А мое предложение было вызвано ощущением того, что создатели сайта постоянно работают над совершенствованием структуры и содержимого сайта. Еще раз большое спасибо им за это! Не до всего доходят руки, а порой ускользают какие-то интересные идеи. Вот и я выразил свое пожелание.
Причем, если его реализовать это надо будет сделать один раз и будут пользоваться все. Замечу, это мое предложение, а не требование.
Программно? Или в Visual Studio есть спец. Инструмент?
Это Вы можете сами сравнить в Visual Studio
примитивные действия (перезагрузки) я делал, я даже на том же компе в другой студии делал , но итог один))
yield можно сравнить с походом в супермаркет:
1 - взяли корзину, идёте вдоль продуктов и складываете то, что вам понравилось в корзину, а потом уже когда закончили выбор товаров, начинаете их обрабатывать, что вам надо, а что нет, нормальный ли срок годности и т.д.
2 - yield версия похода в магазин: взяли корзину, идёте вдоль продуктов и взяв продукт, сразу обрабатываете его, проверяя нужен ли он вам, может быть рядом стоящий пакет более свежий. Если всё ок, положили в корзину и пошли дальше по списку.
В первом случая, вроде бы быстрее, пробежались по всему списку и выбрали что надо, но по факту, может быть рядом был более свежий экземпляр, так же может быть по списку уже всё и вам надо было сразу топать на кассу, так же после обработки корзинки может оказаться, что что-то не свежее и надо будет отнести/оставить это дело, а на него потрачено время и силы.
Неплохо бы, чтобы Робот шарп, в случае правильного решения задачи указывал время обработки и сравнивал его с временем обработки видео варианта
В таких случаях следует писать какой версией пользуешься и какай операционной системой.
Тогда другие, у кого такие же условия, тоже могут проверить. Но предварительно следует перезагрузить студио, а если не поможет перезагрузить компьютер.
Кстати мне скоро это слово понадобится
Мое решение не хуже:
for (int i1 =1; i1<10;i1++)
for (int i2 =0; i2<10;i2++)
Console.WriteLine(i1*1000+i2*100+i2*10+i1);
Если объяснить проще, то к примеру, мы создали интерфейс Жидкости(), потом этот интерфейс реализовали в классах Вода(), Молоко(), Нефть(). после чего можно передавать множества данных объектов куда-то, а там принимать Жидкости().
да, потому что есть orderby
List предоставляет реализацию IEnumerable, также предоставляя возможность добавления / удаления / сортировки своих элементов. IEnumerable указывает, что перед нами просто какая-то коллекция, по которой можно пройтись циклом foreach.
Поэтому в функции InGrid мы хотим чтобы нам просто передали какой-либо массив, поддерживающий IEnumerable
Кстати, а вместо переменной количества итераций, можно использовать счётчик потраченного времени, более наглядно =)
Да, перебор только нечётных верное решение, а по поводу переменной подсчёта очень странно.
Ну так он пока пустой, поэтому пока и не ясно, продолжайте проходить уроки далее, будет становиться яснее.
Сделал точно также как показано в видео. Но шарп запутался в проводах :(
Поздравляю с финалом, по поводу ПК сочувствую, удачи в дальнейшем.
Да, курс сложноватый, но тем он и интереснее!!!
Вроде кнопка Назад у Вас нормально отображается. Других фирм это показывают как Ваш смайл будет отображаться на устройствах других фирм.
Так вы же первый параметр передаете как Зодиак, а второй уже конкретно какой знак в переменной zodiak.
Денис, совершенно согласен с тобой! С другой стороны, если поставлено дополнительное условие - значит это кому-нибудь надо. Другое дело, что Робот делает проверку формально.
Если сформулировать задачу так: продемонстрировать работу оператора break на примере такой-то задачи. Тогда это требование не вызывало бы ни у кого удивления.
Елена, Я тоже использовал функцию, но назвал ее по другому. Для Робота должно быть важно, что программа выдает на выходе. Возможно должен быть еще критерий по времени.
Ефим, требования такие для того, чтобы Роботу было легче проверить решение. Нужно использовать функцию для умножения, но как по-другому объяснить Роботу, чтобы он не зачитывал задачу без использования функции?
Странные требования: Обязательно: + long mult (long a, long b)
Неужели нельзя назвать функцию по своему?
На первом этапе я переименовал свою функцию на mult.
Но робот не пропустил из-за того, что я использовал параметры не long a, long b
а long x, long y. Пришлось выкручиваться так:
static long mult(long a, long b) {
long res = 0;
long x =a; long y =b;
Вопрос: для чего такие требования?
Главное что в итоге всё получилось! =)
У меня этот курс тоже тяжело шел. Не знаю почему. =)
Да, потому что мы разделяем категории пробелами. Упрощен доступ через Split, если нужно разделение, то оно делается либо через БД дополнительную, либо (если уверены что так и будет) через другие спец.символы, например ; или :
jQuery, это название библиотеки, которая написана на js. Она просто предоставляет более удобный и лаконичный api для работы с DOM. Поэтому jQuery не может работать быстрее, чем сам js.
таких программ нет, поэтому ни та, ни другая не может работать быстрее. js-это язык программирования, jQuery - библиотечка
Спасибо, Елена. Извините за ложную тревогу. Наверно, на сайте как-то надо пометить Вывод результата пользователя.
Ефим, на скрине показывается Ваше ошибочное решение задачи. Этот ответ не был засчитан, поскольку в указанном числе 5 четных цифр, а не 6.
Опять некорректная работа Робота
Вводится многозначное число. Найти, сколько в нём чётных цифр.
Начальные данные: целое число
Вывод результата: одно число - количество четных цифр
Начальные данные -903567400
Вывод результата 6
Ничего страшного, Ефим, на следующем уроке мы всё организуем. После реализации можно будет проанализировать уже работающий код.
Уважаемый Евгений Витольдович!
Решая очередную консольную задачу:
Дано пять целых чисел (от -123456789 до +123456789).
Найти их произведение, не используя операцию умножения.
Столкнулся с серьезной проблемой:
Мой код не засчитан, хотя предлагаемый код на видео явно с ошибкой.
В условии приводится пример
150
-954
-324
-627
324
с результатом
28148928
Даже невооруженным глазом видно, что результат не верен.
По крайней мере он должен быть отрицательным,
а модуль числа должен быть более 10000000000.
Мой код дал -9418835131200.
Вероятно, ошибка вызвана переполнением из-за использования типа int.
Я использовал long.
Хотелось бы узнать Ваше мнение.
Отличный обзор! Молодец!!!
cards[] это не переменная а массив, в котором вначале перемешиваются карточки, а потом оттуда берутся данные о том, где какая карточка хранится.
Отличная работа, Ефим, очень рад, что вы продолжаете выполнять уроки и в этих курсах тоже.
Молодец, Ефим. Блок-схема замечательная!!!
Советую использовать trim для чистки непечатаемых символов вначале и конце строки. Только после этого сохранять в БД и так же обрабатывать при помощи trim то, что приходит от клиента на сервер, перед тем как сравнивать с тем, что лежит в БД, проблем будет меньше.
Что означает Робот Шарп запутался в проводах :(?
Я меня решение точно такое как в видео.
Верное замечание, когда я реализовывал данный урок, тоже это заметил, но кроме этого ещё и нарисовал текстурки, получилась полноценная игрушка.
Я конечно не проходил этот курс, но:
"Есть вопрос?", "," <-- тут и должна быть запятая в кавычках?
просто ниже:
"О нас", "about" <-- как то более логично.
Отлично, Виталий! С удовольствием посмотрел и послушал отчет!
Дослушал до конца и услышал ответ на свой вопрос :)
Спасибо, Ефим, за прекрасный обзор!
Поздравляю с финалом. Какой курс будет следующим?
В задаче: Вводятся 9 чисел.
Вывести в столбик только отрицательные....
использовал for и хотя мое решение засчитано на 100% решил просмотреть видео решение.
из него я узнал, что циклы использовать нельзя
Отличный обзор, тоже с удовольствием посмотрел и послушал. Поздравляю с финалом!
Отличный обзор! С удовольствием посмотрел!
Отличный обзор. С удовольствием посмотрел. И курс явно интересный и полезный. =)
Yefim! Для того, что бы не путаться в копиях проекта, используй систему контроля версий.
Молодец, если бы я этот урок проходил не одним из первых на этом проекте почти год назад, я бы внёс все модификации, которые хотелось. Может быть я переделаю урок в будущем, ведь никто не мешает его отменить и отправить отчёт повторно =)
В условии задачи:
Дано натуральное число N.
Найти сумму квадратов всех его цифр.
не указан диапозон вводимого числа.
Настройки бота в программе Телеграмм, в чате команды доступны:
Edit Bots
/setname - change a bot's name (изменить имя бота)
/setdescription - change bot description (изменить описание бота)
/setabouttext - change bot about info (изменить информацию о боте)
/setuserpic - change bot profile photo (изменить иконку бота)
/setcommands - change the list of commands (изменить список команд бота)
/deletebot - delete a bot (удалить бота)
Вы тоже до арканоида добрались!
А быстрый набор swtch через сниппеты? Кстати кто-то знает где можно посмотреть все сниппеты ?
судя по коду на скриншоте, p.kill() относится как раз к форычу, в котором проверяется имя процесса и если оно соответствует, то его и киляем, а та строчка, которую за комментировали, видимо старая версия, тестовая, поэтому вариант p.kill() как раз таки логичнее.
g.Dispose() можно было не использовать, так как using это делает автоматом.
Признайтесь - вы же работали программистом!
Ефим, поражаюсь и восхищаюсь вашей целеустремлённости!
Не оптимальный вариант вывода последних 10 строк лога, если оставить как есть, то с ростом размера лога, будет и рост потребления ОЗУ, тут варианта два: либо надо переписать код так, чтобы он реально читал последние 10 строк, начиная с конца файла, либо после прочтения этих 10 строк, перезаписывать файл с этими же самыми 10 строчками и при добавлении новых строк, удалять старые, чтобы оставались всегда последние 10. Файл будет всегда маленький.
Собачка "@" в начале строки означает, что всё что будет между двойными кавычками вывести именно так как и написано в коде, т.е. с переносами строк, кучи пробелов подряд и т.д.
Обратил внимание, что некоторые задачи повторяются в течении короткого периода. Хотелось бы, чтобы в течение короткого периода , скажем месяц, не было повторов.
Ух ты, Вы соединяете два курса?! Сетевые технологии и Шпионский бот! Прогресс на лицо! Поздравляю, рад что применяете полученные знания на практике, это показывает что Вы их понимаете и умеете применять!
"Где можно посмотреть примеры использования методов API Telegram?"
Так на курсе и показано, либо напрямую на сайте Telegram: core.telegram.org/bots/api#available-methods
Я уже был на этом сайте, скачал файл NuGet.Tools.vsix, но что с ним делать не ясно. Если главная проблема состоит в том, чтобы получать классы из строки Json, то я могу сделать для этого специальную функцию. Ведь файл Newtonsoft.Json.dll вроде бы работает и обепечивет доступ ко всем свойствам и методам.
www.nuget.org/packages/Newtonsoft.Json/
Попробуйте скачать с этого сайта. Там вроде даже поддержка .NETFramework 2.0
Если не получится, пришлите мне проект, попробую поковыряться. Вообще должно всё работать, без json с телеграммом не поработать, он только в таком формате отправляет данные (не нашел как в другом делать, например в ВКонтакте можно выбирать XML или Json).
Но если посмотреть разницу относительно единицы, то она в обоих случаях равна 0.01, но только в разные стороны, в первом случае на +0.01. а во втором случае на -0.01, поэтому и движение идёт в разные стороны.
Вот то чёрное в правой части экрана и есть картинка. На этом урока пока только это создали =)
А это обязательно?
Не проходил этот курс. Трудно комментировать.
Различие оснований всего 0.02 - Различие результатов впечатляет.
Одна степень, а какая разница!!!
Красиво получилось! Молодец!
Но объект nMessage принимает все как положено
В своей VS-2008 я не нашел возможность конвертировать строку в класс
Вроде бы про одно и тоже речь, а результат разный. Или вы про json в строке? Я понял что json в строке не удалось автоматически сформировать класс, но его можно написать руками, что Вы и сделали. После того как добавили строка json формируется в заполненный класс?
Я писал руками. Но объект nMessage принимает все как положено. В своей VS-2008 я не нашел возможность конвертировать строку в класс.
Ефим, получить сообщение так и не удалось? Или всё-такие конвертируется у вас строка в готовый класс, который Вы написали руками, а не автоматически сформировался?
Вы отлично справились с домашним заданием!!! Поздравляю!
Поздравляю с полным окончанием курса!
Обычно в вип-уроках как раз самое интересное, что можно поместить в один урок!
настройки бота в чате Телеграмм прописаны были, при первом входе, одна из команд как раз созвучна.
Бот заказа такси.
Бот ближайшего расписания электричек, автобусов, трамваев, троллейбусов и т.д.
Бот голосований чего угодно.
...........
этот список можно продолжать бесконечно, очень полезная штука, БОТ, так как он работает 24/7, не курит, не пьёт, не спит, не надо срочно выйти =)
Супер! Превосходно!! Отличный обзор! Новые знания - это самое важное сейчас, ведь кто владеет информациией, тот владеет миром!
Супер! Превосходно!! Отличный обзор! Новые знания - это самое важное сейчас, ведь кто владеет информациией, тот владеет миром!
Поздравляю с финалом
С огромным удовольствем посмотрел ваш обзор, Ефим. Видно, что вы в самом деле серьезно готовитесь к его записи. Уверен, потраченное время приносит свои результаты
Молодец, Yefim! Я смотрю, работа пошла! :))
Да, только первый урок совпадает, потому что самое начало одинаковое, но только один!
А что помешало? Там вроде всё понятно, легко устанавливается аватар.
Отличные рабочие примеры, которые можно будет реализовать. если существует необходимая входная информация.
Отличный обзор! Поздравляю с финалом!
Отличный обзор! Молодец!
Ну и, поздравляю с финалом! =)))
Отлично, Ефим. Солидный обзор!
"Вкусное на третие" (Высоцкий)
Курс построен так, чтобы постепенно усложнять получаемый материал, постепенно переходя от одно к другому. Если на каждом уроке будем ещё и коммиты делать, можем упустить главное!
Поздравляю Вас с окончанием курса, рад что всё понравилось.
Молодец, Ефим! Поздравляю со взятием финала!
Наверное, если программирование - твоя работа, но при изучении для души это слишком геморно.
Сурсконтрол это всегда полезно, битбукет это или гит или свн...
Отличная работа, впрочем Вы по другому и не делаете)
Отлично, Ефим! Вижу Вы справились с этой непростой задачей! Очень рекомендую пользоваться этими знаниями для сохранения всех Ваших проектов на всех стадиях, Вы даже не поверите как часто приходится обращаться к своим репозиториям....
Верное решение, молодец!
Отлично, Ефим, доработки позволяют лучше закрепить и понять материал!
Красивая тема. Из-за нее одной стоило курс создавать :)
Классный курс. Точно пройду его
Ничего страшного, на следующем уроке мы это сделаем вместе.
Отличный обзор, молодец!!! Удачи в дальнейшем изучении курсов.
Фундаментальненько!
Прикольно получилось.
Какой-то умный рандомайзер попался...
Разные есть)) Вообще я думаю что это недоделанный сайт, скорее всего про него просто забыли))
Главное что сработало и Вы самостоятельно смогли опробовать и реализовать метод!
Интересный обзор. Спасибо.
Ничего страшного, на следующем уроке покажу как это можно легко сделать!
Молодец Ефим! Хорошая работа!
Красивая задача! А еще более красивое решение на видео!!!
Великолепный дизайн браузера! Молодец, продолжай в том же духе!
У меня тоже к прокси не подключен
удаляйте минус из считываемой строки.
if (st.Substring(0,1)=="-") st = st.Remove(0,1);
красивые сердечки
Няшные кнопочки!
Крутые иконки!
Отлично, Ефим, поздравляю Вас с практическим применением новых знаний!
Реализацию закладок можно сделать по своему, даже если в курсе этого сделано не будет. Тоже самое с историей. По поводу настройки папки для кэша браузера, используется тоже самое как и в IE, поэтому можно этот вопрос опутстить, но если уж очень надо, то это надо свой движок писать. Не проходил этот курс до конца, поэтому сказать не могу, будут ли это тут реализовывать или нет. Можно программно реализовать что угодно в программе, которую пишешь сам, свою систему настроек тем-более. Я когда демо-уроки выполнял, уже понял, что буду внедрять в этот браузер своего, но пока отложил этот курс, так как имеются более приоритетные задачи/курсы.
Куки обычно хранят данные всего ресурса, а не только определённой странички. По поводу комфорта посещения побольше бы конкретики в техническом плане =) тогда ответ будет более точен.
Да, либо уже заполнены какие-либо поля или выборы, которые пользователь делал в прошлый раз, например город проживания или сохраненный адрес электронной почты.
Классный курс. Как пройду купленные, попробую и этот освоить
Наверно, это зависит от желания программиста. Например браузер приветствует посетителя по Имени.
Ответ правильный, но не точный, в чем заключен комфорт?
Зачем создавать свой?
Создавая калькулятор на C# Вы не задаетесь, зачем создавать свой, при таком изобилии калькуляторов?
Так и здесь, создать своё, может оно окажется лучше/удобнее/персонализированнее под Вас, к тому же это один из способов изучить язык программирования - создание программ, пусть даже кто-либо до вас их и создавал!
Я может Вас удивлю, но на основе браузера Chromium были созданы такие браузеры как Opera или Яндекс.Бразуер(ru.wikipedia.org/wiki/Chromium), поэтому основа одна, а реализация Ваша!
Язык C# создан компанией Microsoft, как и браузер Explorer, поэтому глупо было их не объединить. Есть и альтернативные браузеры, которые Вы можете использовать при программировании на C#, но работа с ними не освящается на курсе "Сетевые технологии"
По поводу проблемы, скорее всего у Вас какой-либо поток не завершается, попробуйте закрывать webbrowser при закрытии формы.
Да, знать сетевые технологии жизненно необходимо любому программисту! Я тоже записался на два курса по ботам, сейчас прохожу шпионского... там ничего такого особо сложного нет из сетевой темы. Поэтому, ты можешь его помаленьку начинать проходить параллельно, если захочешь.
Отлично! Как всегда обстоятельная работа!
Иван, Файл слов был взят готовым. В задании не было требования проверить этот файл на предмет известны ли все его слова нашему сообществу. Честно скажу: зачения слов ПАК и КОШ я не знал. Но оказывается они сушествуют. Вот ссылки:
ru.wiktionary.org/wiki/%D0%BF%D0%B0%D0%BA
ПАК - геогр., морск. толстый и плотный многолетний лёд в полярных водах, трудно проходимый для судов
ru.wiktionary.org/wiki/%D0%BA%D0%BE%D1%88
КОШ - приспособление для ловли рыбы и раков в виде плетёной корзины с расширяющимся верхом;
В любом случае большое спасибо за добросовестную проверку моих работ!!!
решал задачу: Дано целое число от -10 ^70 до +10^70.
Определить количество вхождений в него каждой цифры.
Ответ вывести в формате: 0 - количество.....
Получил ИТОГО: 70 %
Мой код:
static void Main()
{
int [] freq = new int[10];
string number = Console.ReadLine();
for (int i = 0; i<number.Length; i++)
{
int x = int.Parse(number.Substring(i,1));
freq[x]++;
}
for (int i = 0; i<10; i++)
Console.WriteLine(i.ToString() +" - "+ freq[i].ToString());
}
Хотелось бы знать, что не так? Почему не 100%?
Слова ПАК, КОШ и т.д. Если это нормально, тогда да, удалось, если нет, то думаю надо доработать или почистить файл от несуществующих слов.
Выглядит неплохо. Но из кода не видно, как исключаются повторы.
Это чисто эстетически, а по сути этого всё равно не видно глазу, так как ставится фигура и проверяется пробивают её или нет, потом убирается, ведь это проверка удара по ней, так что думаю нет принципиальной разницы, что там стоит, ну кроме короля конечно, тогда сразу конец игры будет =)
Как правильно заметил Евгений Витольдович, лучше для этой цели взять коня, так как пешка не везде стоять может.
Взяли пешку, потому что не важно что брать, главное, что на время в эту клетку ставится фигура и проверяется, сколько вражеских фигур могут её слопать, таким образом суммируется счётчик атак по клетке и тем толще красная рамка.
С удовольствием читаю ваши комментарии.
Серьезный и основательный подход. Молодец!
можно любую фигуру добавить, может было бы лучше коня, так как пешка не везде стоять может.
1.Устанавливаем мышь в верхней части сонсольного окна.
2.Правой кнопкой открываем выбираем контетекстное меню.
3. Выбираем свойства
4. Выбираем 3-ю вкладку (см. скриншот очета)
5. Устанавливаем размеры окна
Ефим, спасибо за отзыв. Честно говоря, я сам не очень доволен, как этот курс у меня получился. Думаю, мы ещё вернёмся к теме потоков.
Поздравляю с финальным уроком, да, тема потоков очень интересная и самое главное, полезная, удачи в дальнейшем изучении курсов.
Всегда приятно узнавать что-то новое, а ещё приятнее дорабатывать код различными идеями =)
Отлично!! Всегда приятно делать финальный урок!!!
Можно устанавливать размеры? А как это делать?!
Мне что нравится в ваших отчетах - фундаментальность. Кстати как удалось усложнить игру?
все равно интересна такая проверка Thread.ResetAbort()
Прикольно. Правда если б я не видел ранее отчетов по бурным потокам, то подумал что видеокарта полетела. Видюха тоже начинает всякие цветастые картинки показывать когда ломается.
Не могу однозначно ответить, нужно почитать об этих статусах теорию для начала, а потом протестировать в отдельной программе, на простом примере.
Вот уже красивее всё выглядит, единственное, что за число 200, видимо это смещение и сопли наложения, там видимо 20 должно быть, но из-за смещения и не очистки пред. рисования числа, получилась склейка.
Обязательно реализуй идеи, получится крутейший питон!
Супер! Отличные идеи! Заверните - я беру!))))))))
Классные картинки! Молодец, что нашел ошибку!!!
) Классно! Готовый сценарий , осталось задать параметры или диапазон рандомных параметров для питончиков и зайчиков и все это мне будет напоминать дискотеку. Можно даже поставить какую-то зажигательную музыку.
Молодец!
Странно выглядят головы, которые едят сами себя. Тогда уже надо было реализовать так, чтобы голова была с той стороны, куда она смотрит, для красоты эффекта, а зайчики с номерами это круто =) какие-то мелкие, какие-то прям толстенькие, аппетитные =)
Хороший комментарий о циклах
Как раз хотел спросить, на каком языке, а тут кусок кода виден. Теперь уж точно не пропущу, а то боялся, что Java.
На скриншоте, пока что не питон, а яичко, из которого он видимо скоро вылупится и начнёт охотиться для того, чтобы вырасти большим и сильным =)
Сытый спать ложится =) проголодался дальше пошёл на охоту.
Питон сытым быть не может, иначе нафига ему кролики?:)))
Хорошо потрудился!
Точно, змейка. Причем многозмейковая, как я хотел. И на си шарпе. Приду.
Ой, а что это? Змея какая-то. Это игра змейка?
Решал сегодня задачу:
Перебери все двухзначные числа, и выведи только те, у которых первая цифра больше второй.
Вывел числа 10, 20, 30,..., 97, 98 , т.е. все числа удовлетворяют поставленному треаованию. Но робот не засчитал решение.
Я согласился бы с роботом, если бы в условии было сказано выводить числа в порядке возрастания.
Отличное видео, отличная песенка, пошаговость рандома ИИ реализована в полшага, отличная идея!!! очень хорошо вписалось в идею видео-отчёта с комментариями. Поздравляю с финалом!!!
з.ы.
по поводу продолжения банкета, это не первый курс по шахматам, тут их не мало было, но один из ярких это тот, о котором упомянул Игромистр, а именно: Мат Конём и Слоном. В курсе Комбинаторика тоже были затронуты шахматные фигуры и их алгоритмы. Эти курсы не на JavaScript, но когда знаешь несколько языков, портировать алгоритмы между ними не составляет особого труда.
Отличное видео, классная идея! Молодец! =)
Ефим, спасибо за шикарный отзыв. Отчасти ваше предложение уже реализовано – посматрите курс мат конем и слонам, там мы перебирали все варианты, и нашли кратчайший путь решения этой задачи. На си шарпе.
Лишний раз убеждаюсь что все только от человека зависит! Молодец!
Молодец, хорошая оптимизация для ифов, поэтому люблю свитч и по максимуму его использую, везде где это возможно, можно было и четвёртый return добавить, для симметрии =) хуже бы небыло.
з.ы.
можно было использовать else if вместо этого, эффект был бы тот же.
Что-то мне, глядя на отчеты, самому захотелось этот курс пройти.
Да, проверку пустот надо перенести до, это факт.
На почту приходят копии комментариев на проекте, даже если его потом удалили, на почте копия не пропадает =)
Такой вот он, король. По ходам особых заморочек с ним нет, а вот "бессмертность", шах, рокировки и прочее - уже сложнее и интереснее
Просто король, это бельмо на глазу остальных фигур, их перемещение зависит от того, в каком состоянии находится король, он слишком много привлекает внимания к своей персоне =)
Ты написал Console.Writeline. Надо Console.WriteLine
Почти верно, дальше по урокам будет видно, что передавать параметры вообще не нужно будет. а так как это были реализованы временные заглушки, то передача параметров была для галочки, далее последовали кардинальные изменения.
То что вы сделали - это оптимизация.
В целом, хорошо, хотя с первого взгляда не очевидно, что выполнение функции можно прервать досрочно.
Отличная история, всегда найдутся фантазёры, которые найдут ещё ухищрения и будут ещё дополнения в правилах. Это как поиск багов в программах =)
так вот она как работает, вертикальная рокировка! :)
Да, очень интересные алгоритмы вырисовываются.
Да, весь курс отличный получился.
Не хватет 4 пробелов на 63 строчке.
На этом уроке, видимо, функция ещё не дописана.
Мы только нашли короля, но ещё не проверили его на шах.
Будет дальше.
На каком видео? не вижу ссылки на него. По поводу того, что не ругается, может быть по тому что это js, в нём нет строкой типизации. пустая строка и ноль могут быть восприняты как булевое отрицание.
Если внимательно посмотреть мой алгоритм, то можно убедиться, что всего вариантов будет 9*8*7=504, причем ни одного варианта холостого. Никаких проверок не требуется.
Я понял, рад что мои комментарии сподвигли на доработку игры в лучшую сторону. Я вот тоже внедряю свои наработки в игрушки и кое что ещё на очереди для доработки, поэтому пока тоже не записал финальный отчёт по Сокобану. Но обязательно запишу, когда дойдут руки.
Часть доработок - благодаря твоим замечаниям. Еще раз Большое спасибо!
Ещё забыл написать, что мне понравились свои доработки, молодец!
Отличный обзор получился!
С удовольствием смотрел! =)
Если внимательно посмотреть мой алгоритм, то можно убедиться, что всего вариантов будет 9*8*7=504, причем ни одного варианта холостого. Никаких проверок не требуется.
Отличный видеообзор, рад, что мои комментарии помогают =)
Ефим, обзор превосходный, последовательный, основательный, исчерпывающий.
Спасибо большое, приятно было услышать ваш отлично поставленный голос!
Вот, теперь видео есть, сейчас посмотрим :)
На уроке всё подробно рассказано, я думаю что Николай разобрался и понял о чем я. Приходите на курс, на нем много интересного и полезного!
Есть теория построения алгоритмов и определение сложности алгоритмов. Более подробно можно почитать тут - habrahabr.ru/post/104219/ . Если по русски - в данном конкретном случае разницы нет . Что алгоритм с одним циклом O(N) или тремя вложенными циклами O(N^3) разницы нет. Разница появится при гораздо больших чисел. Просто речь шла о том сколько вариантов прийдется перебрать. В вашем случае 10* 10 * 10 = 1000 , в моем случае достаточно от 100 до 999 - почти на 100 элементов меньше.
Написано, что "автор ограничил доступ к видео".
Пожалуйста, откройте.
Слишком большая сложность алгоритма - O(N^3) - можно упростить до O (N)
Я даже больше скажу, ваш код можно было ещё упростить, чтобы было меньше строк.
Я вижу только один недостаток, больше кода, но плюс в скорости, не делает лишних итераций.
Мой алгоритм отличается от приведенного в видео. каковы его недостатки?
static void Main()
{ int res = 0;
for (int i1 = 1; i1 <= 9; i1++){
for (int i2 = i1+1; i2 <= 9; i2++){
for (int i3 = i2+1; i3 <= 9; i3++){
res = i1*100 +i2*10 +i3;
Console.WriteLine(res);
}
}
}
}
Ефим, тут - смотря какого размера P. Если P - беззнаковый байт, то Вы правы, но если P, например, типа int, то оно без этих проверок запросто может выйти за границы.
Потенциал человека бесконечен
Классные картинки...
Я бы на второй написал "у вас что ни шах, то мат" :)
Спасибо!
Короткие видеоуроки - самое то :)
Молодец, да, уроки отличные как и весь ресурс в целом очень нравится.
Отлично получилось! Молодец!=)
Круто, я с этим тоже парился)) и победил)
Для измерения времени отработки лучше использовать Stopwatch()
Использовать тиккаунт - не самый лучший вариант
Отличная демонстрация, отличная музыка. Поздравляю с завершением!
Марш из оперы Аида! Прикольно! Если под марш то все фигры должны шагать и не находится в хаусе :)
Ефим, великолепный обзор с такой торжественной музыкой, смотрел завороженно :)
Спасибо, Сергей!
Отличный отчёт о работе! Молодец!
с прямоугольниками довольно долго парился из-за пересечения...
Очень осторожным нужно быть при сравнении вещественных чисел, потому что одна вторая не всегда ноль пять
Спасибо, Владимир!
Спасибо, Евгений Витольдович!
Отличная работа Ефим! Прям сердце радуется!
Ефим, торжественно поздравляю вас с триумфальным завершением этого курса!
нужно ещё размер кружочков увеличивать со временем
Молодец, никто не мешает делать свои доработки, это только приветствуется =)
А никак - оставить 2 лидера. Кстати так будет намного интереснее.
1 вариант лучше, во втором варианте смущает телепортация =)
Как-то очень долго вы этот курс мучаете...
Молодец! В плане оптимизации верное решение.
Интерфейс - это скорее обязательство объекта выполнять действия. Ведь по сути на рисунке изображено Беги, но еще никто никуда не бежит - это такой своеобразный договор, который класс его реализующий обязуется исполнить.
Я думаю вторая часть пройдет так же незаметно и понравится даже больше =)
Взял её в качестве иллюстрации к этом уроку.
Молодец! Полиморфизм очень классная штука.
Ну вот хоть какой-то новый снеговик, а то до этого были снеговики как под копирку.
Да, всё впереди, всё будет доделано обязательно.
Королевы могут королей поменять,
Пока короли на войне...
Шикарно получилось, Ефим, прекрасная работа!
у вас хороший вариант.
вся проблема в 108 строчке - она с первого взгляда не понятна.
и со второго тоже. только с третьего начинаешь понимать.
мой вариант хоть и более длинный, но более ясный,
так как дополнительные функции используются в качестве комментариев для действий.
можно оставить, как есть.
Класс!!! Здорово!!! Спасибо!!! Но в видео уроке его я не видел.
function is_correct_knight_move(sx, sy, dx, dy){
if (sx == dx || sy == dy) return false;
if (Math.abs(sx - dx) + Math.abs(sy - dy)==3) return true;
return false ;
}//>>
Конечно можно, если они передаются как параметры, почему бы не использовать.
очень красивая получилась фигура
Иногда по десять минут над названиями думаю...
Я сам этим грешу , что так делаю (в смысле использования кода похожего на закомментированный) в угоду краткости кода
Ефим, я очень рад, что вы стараетесь опережать уроки, это здорово!
Сохраняйте копии программы перед экспериментами, чтобы не запутаться.
В свойствах формы, где Вы меняете её параметры (длина, ширина, расположение и т.д.) есть свойство Icon, там измените иконку. Думаю, это видео поможет Вам:
youtu.be/h6Vojw5IrO8 - это я делал Секундомер, первые шаги, но всё понятно, думаю :)
Я все это сделал. Я подозреваю, что это из-за того, что я иконку делал в среде VS с нуля.
Для смены иконке нужно поменять в двух местах – в свойствах формы и в свойствах программы.
Мне это больше мат Легаля напоминает,нотам ещё слона отгоняют пешкой.
Вы просто не проходили фотокурс НаноШахматы :)
не очень понял, надеюсь потом на видео его понять :)
Да, использовать растровую графику без прозрачности, например: jpg не поддерживает прозрачность в принципе и можно в его формате использовать картинки шахмат.
Великолепно, Ефим!
Возьму за основу твою идеию и переделаю.
Мне очень понравился твой вариант.
Можно, если вместо символов использовать картинки - найдите картинки всех фигур и используйте их.
Браво, Александр!!!
Елена, Последняя программа - Сокобан
www.videosharp.info/11589/checking/game5=178
Сокабанчане звучит!
Поздравляю с завершением!!!
Поздравляю с завершением Сокобан это серьезный курс.
Да, всё в порядке, всё зачтено, определяйтесь с курсом, 2 января начнём! :)
Евгений Витольдович, я оплатил также Марафон. Подтвердите , пожалуйста, приход денег.
Спасибо, Ефим, за регистрацию.
Сейчас вы можете подобрать желаемый курс,
у вас открыты "демо" уроки каждого курса, список можно увидеть здесь:
www.videosharp.info/shop/open=demo
Тоже дорабатываю игрушку для видео-обзора, уже почти всё что планировал реализовал, но надо кое что допилить и переделать, чтобы самому нравилось, тогда уже запилю видео. Надо будет только продлить курс за 99р, а то не успеваю.
Поздравляю с финальным уроком! =)
Молодец, у меня всё время несколько VS запущено, удобно =)
Ефим, не перестаю восторгаться твоими работами!
Для такого дела лучше два монитора иметь :)
Владимир, Точно так же предлагается делать в видео уроке. Но при отладке, указывать точки останова в exe, по крайней мере я не знаю как. При запуске двух VS можно указывать точки останова в каждой VS - свои.
Я делал по другому - запускал один exe и одну VS
Ну вот 2017 год уже не за горами. Актуальные циферки :)
Молодец, отлично получилось.
Молодец, пытаться делать до того, как посмотрел видео, это как раз тот самый переход к пониманию кода.
Молодец! Я тоже так периодически делаю.
Молодец, Ефим, горжусь твоими успехами.
Очень здорово, что ты начинаешь выполнять задания самостоятельно.
Молодец, отличные уроки получились, красивые текстурки =)
Это "случайная" рекурсия, а не преднамеренная.
Вполне оправдано, главное следить, чтобы не зациклилась.
Молодец, дальше веселее будет.
Эта одна из наукоемких фишек игры сокобан.
Молодец, отличная работа.
Отличный урок, отличный отчёт, молодец.
Ефим, в таком случае лучше переделать задание сызнова, с нуля.
Если код ясен, можно параллельно именовать переменные по своему и использовать где надо, суть любой программы сводится к написанию методов/функций, так как они потом вызываются в нужном месте в нужное время. Если же понимание кода не полное, лучше повторяй, а потом окончательный вариант можешь рефакторить как угодно, изучая его дополнительно или просто улучшая по своему усмотрению. Урок на то и УРОК, чтобы заставить думать, а не просто переписывать не понимая что это и с чем его едят.
Как я отмечал в последнем отчете, сохранение уровня не всегда работает правильно. Так если,скажем, уровень был 5х5 и мы меняем его на 5х7 или 5х8 (чтобы новое число строк было больше 1) то
возникает исключение.
И в самом деле ниже приведен фрагмент кода из функции
public void SaveLevel(int level_nr, Cell [,] cell)
======
................
if (new_length > old_length)
{
Array.Resize(ref lines, new_length);
//for (int z = new_length -1 ; z > curr ;z-- )
for (int z = new_length - 1; z > curr - delta+1; z--)
{
try{
lines[z] = lines[z - delta];
}
catch{
int xx=1;
}
}
}
======
В закомментированом коде, в приведенном в видео,
//for (int z = new_length -1 ; z > curr ;z-- )
видно, что внутри этого цикла (особенно, когда работаем с 1-ым уровнем)
может возникнуть отрицательный индекс, что и приводит к проблеме.
В моем варианте
for (int z = new_length - 1; z > curr - delta+1; z--)
вроде бы все работает нормально.
Вопрос: Интересно, у других при таком же сценарии тоже возникает проблема?
Или я недостаточно внимательно смотрел видео урок?
Проблем не должно быть, где-то ошибся, ищи.
Когда мы используем try - catch, мы уже программно перехватываем ошибки.
Спасибо, отличный способ Split.
Молодец, Ефим, отличный отчет, вижу, у вас хорошо всё получается.
Спасибо, Иван. Теперь все стало ясно.
И ещё, хранить все уровни в 1 файле это экономнее в плане использования дискового пространства. Стандартный кластер 4кб, ранее сектора были по 512 байт для хранения информации пользователя, а теперь физический кластер 4кб тоже, поэтому каждый уровень в отдельном файле это не экономично, уровни будут весить меньше, а значит много места будет теряться. Можно пройти курс "Архиваторы" и реализовывать каждый уровень в отдельном файле но при этом в одном архиве, как обычно и делают все разработчики, чтобы ещё оптимальнее расходовать дисковое пространство.
Упростится да, но суть в том, что проще можно и самим реализовать, поэтому более сложную систему показали, я даже больше скажу, они в файле не обязательно могут идти подрят, можно вручную в блокноте поменять номера в уровнях, не перемешивая их местами.
У тебя в SetCurrentCell() много дублирующего кода, а когда ты пытаешься цвет фона изменить, то почему меняешь только у одной и той же кнопки? Если не получается пока сделать самому, следи за учителем и позже поймёшь.
по поводу IsGoodLevel() там учитель просто опечатался, позже он поймёт, что ошибся и исправит, когда будет пытаться проверить этот момент и ничего не будет получаться. Это лишний раз показывается, что если чтолибо делаешь в коде, сразу же надо проверять, а не ПОТОМ, когда уже кучу строчек кода изменил.
По поводу того, что число мест всегда равно числу ящиков, таковые правила, придуманные автором данной игры. Если хочешь, можешь изменить код и сделать так, чтобы число мест могло быть больше, тогда игра будет проще, сразу скажу. В этом и фишка, что надо расставить все ящики именно так как задумано создателем уровня, если можно будет ставить их как хочешь, то сложность сразу падает.
Если ты думаешь, что эта игра - модель жизненной ситуации, тогда ты должен знать, что на складе куда сказали поставить, туда и надо ставить, нельзя поставить где хочется! Жизненная ситуация =)
По поводу активного элемента редактирования уровня, выделено по-умолчанию обрамлением при помощи тонкой линии, можешь выбрать что угодно для этого =) Делай так, как ты считаешь нужным в своей версии Сокобана, я вот вношу коррективы и описываю что было сделано дополнительно в пройденном уроке.
ну в принципе надо для выигрыша, чтобы места все были закрыты ящиками... хотя... в жизненной ситуации может быть и по-другому... вопрос - есть обработка "неравенства" в практике разработки Сокобана?
Такую же проверку можно и в событии Resize добавить, эффект аналогичный, только надо ещё и при возврате из максимального режима окна проверку добавлять.
В этом случае можно использовать событие:
private void SokobanEditor_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Maximized)
{
ResizeA();
}
}
Пробовала реализовать метод ResizeEnd(), но, насколько мне помнится, он не срабатывает при разворачивании окна на полный экран.
отличные скрины и комментарии
Ефим, великолепная работа, отличный разбор программы!
Снимаю шапку.
Серьёзно.
Отлично. Возьму на заметку!
Молодец, уж слишком подробный скриншот, не обязательно такой, можно покороче, лишнего много. По поводу копирования многие знают, а Игромистр переписывает каждый раз с нуля, это тренировка слепого набора, аля "Соло на клавиатуре", но для экономии времени копипастить тоже надо уметь, главное ошибки копипаста замечать и фиксить, а то часто они не светятся и вроде бы всё ок, а код работает потом не так как надо =)
Молодец, теперь вижу, что исправил, по поводу корректности структуры файла я и не сомневался, структура корректна, уровень не проходимый, вот в чём была беда, она выявилась бы позже, в более поздних уроках, но её видно уже сейчас и это сильно бросалось в глаза.
з.ы.
некоторые вещи не объясняются на уроках такого уровня, подразумевая, что ученик уже в курсе базовый вещей.
Спасибо, Иван. Ты прав. Это действительно профессиональный подход.
Хотя в постановке задания ничего не было сказано о
необходимости проверки корректности структуры файла.
Я уже переделал и я надеюсь, что ты найдешь время, чтобы
оценить мою работу еще раз.
Уровень не проходимый, левый-нижний невозможно никуда сдвинуть, если бы там вместо O было C, уровень был бы проходимым, переделай!
))) Мне уже заворачивали мои работы раз 8 и ничего живой - переделал и иду дальше - эти работы набрали хороших голосов! Народу на проекте много - за день или два голоса набираются.
Ефим, не переживайте - не наберёт! Просто так "чёрный шар" никто не закатит. Чтобы оценить работу "Плохо" требуется обязательно указать курсанту, что сделано неверно.
Ефим, поздравляю!
Начало положено, дальше будет лучше.
Если работа наберёт хоть один минус - придётся переотправлять отчёт.
А если работа наберет -2 очка ?
Объективно можно оценить исходя из следующих факторов:
размер лабиринта
количество ящиков
минимальное количество ходов/толканий для решения
1. У меня установлена Visual Studio 2003. Этого достаточно для прохождения курсрв?
2. Шахматные часы
3. От курсов ожидаю углубить свои знания по СиШарп