Я уже давно первый AngularJS использую с TypeScript :-) Собственно, я уже давно не использую голый JavaScript.
Отличий между TypeScript и JavaScript мало, иногда я их даже путаю. Так что учить там особо нечего. Стиль написания кода возможно придется скорректировать немного, но это вопрос практики.
Переносимость, расширяемость, создание сложных проектов.
В PHP5 ООП крайне неудобно реализовано, многого не хватает и это не лучший язык для использования ООП.
Если пять лет топчитесь на одном месте, то возможно стоит заняться разработкой каких-нибудь других проектов, опробовать другие технологии. В мире много интересного :-)
В таком случае мои API уже не должны сами обращаться к базе, а работать с экземлярами классов объектов.
Использовать вспомогательные классы для работы с данными может быть удобнее функций.
На уровне класса можно реализовать не только работу с БД, но и, например, управление кешированием; сделать дополнительные методы, которые будут упрощать типовые операции. С функциями это тоже можно сделать, но использовать не так удобно и код (использования) может получиться страшным :-)
Если речь про ORM (объектно-реляционное отображение - когда для таблиц штампуются классы), то это уже от проектов зависит. В простых проектах смысла в ORM нет, особенно если реализация ORM сложная. В больших и особенно командных проектах, это имеет смысл использовать, можно ускорить процесс разработки и упростить сопровождение.
Если все сделать правильно, то с использованием интерфейсов и классов можно довольно просто заменить источник данных, если возникнет такая необходимость. При использовании процедурного стиля возни будет больше.
Чем проще, тем лучше. Это касается реализации и последующей поддержки проекта. ООП может как упростить, так и сильно усложнить. Так что скорее следует стремиться к упрощению работы и постоянно искать способы упростить все еще больше; но только без кривых (ложно простых) решений, которые все усложнят и приведут к разрушению.
От проекта к проекту могу копировать процедуры, чтобы не писать заново.
Копирование процедур - неудобно. Лучше оформить в виде класса и подключать через диспетчер пакетов или из системы контроля версий тянуть. Будет проще сопровождать.
Правой кнопкой мышки по директории -> Права доступа к файлу и в появившемся окне выбрать нужные права.
Если не поможет, то идти на сервер и выдавать себе права, примерно так: chmod 777 /путь к каталогу
Вместо 777, конечно, лучше ставить только то, что нужно: https://ru.wikipedia.org/wiki/Chmod
Чтобы не мучиться:
1. Нужно правильно настроить сервер FTP (зависит от используемого сервере; если все правильно настроено, то см. п2).
2. Работать с каталогом пользователя от имени пользователя-владельца, а не root или других пользователей.
Чтобы научиться программировать, нужно программировать. В любом деле акцент должен быть на практический опыт. С теорий разве что доклады да рефераты писать :-)
Если программировать нечего, значит оно вам сейчас не нужно. Зачем зря себя мучить.
Если не хватает инструментов, сделайте их. Программировать точно научитесь.
Если не хватает знаний языка программирования, то учитесь задавать правильные вопросы. А для неправильных существуют формы по программированию, спрашивайте.
Если идеи сложные, делите их на небольшие части (проекты, классы, методы) и реализовывайте каждую часть отдельно. Невозможного нет. Даже если задача является для вас невозможной, она может быть реализована, если её разбить на небольшие фрагменты.
Если не знаете, что и как делать, делайте как получится. Потом все само завертится, станет понятно, в каком направлении следует развиваться.
Не стесняйтесь использовать чужие решения. Копирование и подражание – неотъемлемый процесс обучения.
Постоянно ищите лучшие варианты сделать то, что было сделано вчера.
Не переставайте думать о коде. Постарайтесь сделайте так, чтобы и он о вас думал. :-)
Чем себя мотивировать, зависит от того, зачем вы пошли в программисты. Задайте себе этот вопрос и в ответе найдется мотивация. Если нет, то видимо стоит заняться тем, что ближе. Процесс получения образование, если идет без особых проблем, лучше довести до конца, даже если выбор профессии сделан неверный.
Если же вы хотите найти себя в программировании, то пробуйте, пробуйте и еще раз пробуйте. Сфер деятельности, где можно, в той или иной степени, использовать программирование, много.
MoreBeauty: если нужно удалить что-то конкретное, то хочешь не хочешь, придется его как-то идентифицировать. Проще всего ссылки использовать. Можно создать список обработчиков, с какими-нибудь ключами для идентификации, и удалять по ключам.
Первый вариант работает, в том виде, в котором я его представил.
Если при объявлении переменной передавать ей анонимный метод, то работать не будет. Поэтому сначала идет объявление, затем присвоение значения.
Если не работает, то нужен код. Я проверял все представленные примеры кода с кнопками, всё работает.
Обработка тут наверное играет второстепенное значение :-)
Берется фотограф, желательно с фотоаппаратом. Объект помещается в бокс для предметной съёмки, или на столик для предметной съёмки. Подсвечивается, минимум с трех сторон. Фотограф делает пару снимков, и всё. Если руки у фотографа растут из правильного места, то последующая обработка не потребуется. Разве что размер снимка адаптировать под веб. Ну и фон можно почистить, если будет много артефактов (при хорошем освещении, после адаптации под веб можно не заморачиваться с этим).
Крупные торговые сети сами могут делать фотографии, с аккуратными водяными знаками. А мелкие довольствуются тем, что есть в сети. В частности, производители техники делают фотографии своих продуктов, их вполне можно использовать.
vedmedevsky: почему же крайний. Это первое, что нужно было сделать. Крайний случай - это просить помощи у людей, которые с вероятностью 101% не смогут помочь, ибо проблема локальная, у сайта.
Возможно в textBox2.Text что-то неправильно указано.
По идее код может быть проще: