• Как сформулировать тему диплома и поставить задачу по базам данных, СУБД Teradata?

    thestump
    @thestump
    программист PHP
    Сходит к научному руководителю и рассказать свои соображения.
    Ответ написан
    Комментировать
  • Можно ли получить серьезные знания, пройдя курс по веб разработке 2 раза в неделю по одному часу за 2 месяца?

    thestump
    @thestump
    программист PHP
    Думаю что курсы предполагают домашние задания и слушатели тех курсов будут заниматься по 2 часа ежедневно, но слушать лекции только 2 часа 2 раза в неделю. Практика тоже важна в обучении.

    Прямой ответ на вопрос: да, можно. Будут ли полезны курсы? Понятия не имею.
    Ответ написан
  • Можно ли научиться быстро разбираться в чужом коде?

    thestump
    @thestump
    программист PHP
    Но у меня при виде чужого кода мозги вскипают и в сон клонит. Особенно какой-нибудь джаваскрипт - это вообще жесть.

    Мозги кипят - хорошо для извилин! Работайте с кипящим мозгом.
    А в код заглянешь - пардон, блевать тянет. В одном классе куча методов по одной строчке, в другом каждый метод на тысячи строк. Каждый колхозит как может. Хуже всего, что большая часть кода глубокого смысла не имеет - просто костыли и быстрофикс мелких багов, сделано "как получилось".

    Загляните в свой код, посмотрите на свои костыли и быстрофиксы (не слыхал такого от программистов пушущих всегда чистый код), а потом по чужим ходите. На свои смотреть чтобы потом истерики было меньше. Какой дали в том и работаешь. Не будешь же весь проект переписывать ради небольшого блока: вставил и дальше пошел.
    И как в этом разбираться?

    Почитайте о рефакторинге, а также книгу "Совершенный код".
    Ответ написан
    Комментировать
  • Почему так мало практических уроков по программированию для новичков?

    thestump
    @thestump
    программист PHP
    Если вы уже освоили синтаксис с (ЯП) то можно подходить к изучению теории игр на основании которой писать крестики нолики и др игры. Конечно же вы должны уметь работать с матрицами и другими мат. единицами.
    Ответ написан
    Комментировать
  • Предложите интересные задачки по программированию?

    thestump
    @thestump
    программист PHP
    Если задачники уже стали скучны то пройдитесь по сайтам фрилансеров - там бывают интересные ТЗ которые можно скопировать и разработать в качестве некоммерческой разработки. Если же нет - дерзайте задачники по программированию.
    Ответ написан
    Комментировать
  • Как наиболее правильно подойти к обучению программированию с нуля?

    thestump
    @thestump
    программист PHP
    Думаю что стоит посмотреть книгу автора Кнут, и посмотреть серверный яп РНР. Позже на питон перейти или руби, если будет на то необходимость. А вообще программирования надо изучать с изучения яп ассемблер и с/с++.
    Ответ написан
  • Вредно ли копирование в программировании?

    thestump
    @thestump
    программист PHP
    Вредно ли пользоваться калькулятором? Если вы школьник 1-9 классов - да вредно, если вы бухгалтер с 20 летним стажем - нет не вредно, если кассир в магазине - нет не вредно и т.д. Также и с программированием. Вам трудно будет запомнить структуру оператора for если вы новичок и постоянно пользуетесь копипастой, а если вы программист левела сеньор то копипаста оператора цикла (уверен что ни один сеньор так делать не будет) из соседнего класса вам сэкономит пору долей секунды которые будут направленны на размышление об алгоритме и т.д.
    Ответ написан
    Комментировать
  • Возможно ли работать в exe файле с помощью своей программы?

    thestump
    @thestump
    программист PHP
    Сначала надо написать программу которая будет позволять сторонней программе выполнять определенные действия, а потом можно будет написать программу которая будет способна открыть другую программу и работать в ней в скрытом режиме который будет предусмотрен заранее при написании программы.
    Ответ написан
    2 комментария
  • Как удалить объект, вызвав какой-либо его же собственный метод (PHP)?

    thestump
    @thestump
    программист PHP
    Чтобы полностью уничтожить объект своей собственной функцией то никак потому, что для его уничтожения его надо выгрузить из памяти, а пока не отработал его внутреняя функция никак. Для уничтожения объекта надо завершить выполнение всех внутренних функций во внешней функции обнулить ссылку на объект удобным способом. Как сказано в первом ответе придет сборщик мусора и освободит память. Вызывая unset ($this) вы уничтожаете указатель ссылающийся на собственный объект, но не сам объект.
    Ответ написан
    Комментировать
  • Как понять суть программирования (подробнее в содержании)?

    thestump
    @thestump
    программист PHP
    Вы написали этот вопрос вы не жалете что потратили время на его написание? Тем же чем вы занимались когда писали этот вопрос занимается программист. Если интересно видео - посмотрите видео как кто-то печатает например в ворде. Просто сидит и печатает текст на компьютере иногда делая пометки на бумаге - это будни программиста. Как составляется программа? Создается пустой файл и набирается в нем текст. Потом следующий и т.д. Когда насобирается достаточно файлов - программа готова...

    Это я к тому что тратить время, а потом что-то случиться. Потом ничего не случиться и потом будет опять время которое вы опять будет тратить. Думать что вот зачем я тут тратил время, а там... Если так думать то почему мы все не проводим время за постоянным дайвингом, серфингом, не сидим постоянно на набережных и не делаем много чего еще что нам более приятно чем что либо другое.
    Ответ прост: мы сегодня и сейчас тут и занимаемся тем, чем занимаемся и мы не занимались другим потому что занимались этим и мы не могли заниматься чем-то другим потому что мы занимались этим самым - тем чем занимались. Это важно понять и принять. Чем раньше - тем лучше.

    Еще хочу сказать про художников: скажите как художник определяет пропорции при смешивании красок? Чем он руководствуется когда смешивает краски? Как художник смешивает краски? ... Вы думаете что Рафаель все время был в кайфе когда рисовал картины? С чего вы взяли что рисование это было занятие Леонардо де Винчи? Это по поводу того что мое / не мое. Мы не знаем что чье, мы либо делаем либо нет. Да лучше делать то, что нравиться. Однако делая то, что нравиться не всегда это подходит, не всегда приятно и не всегда удовольствие....

    Все гораздо сложнее
    Ответ написан
    Комментировать
  • Существует ли мануал для с++( книга, сайт) на понятном языке?

    thestump
    @thestump
    программист PHP
    Как на счет MSDN?
    Ответ написан
    Комментировать
  • Как написать qunit-тест к приватным функциям, скрытым за ширмой?

    thestump
    @thestump
    программист PHP
    Приватные функции не тестируются. Но кто же запретит если очень хочется :). В таком случае можно создать механизм доступа к приватным функциям и тестировать.
    Ответ написан
    Комментировать
  • Bootstrap или чистый CSS3?

    thestump
    @thestump
    программист PHP
    CSS конечно.
    Ответ написан
    Комментировать
  • Применим ли namespace к файлам, которые находятся выше корня сайта?

    thestump
    @thestump
    программист PHP
    Те которые инклудятся можно оставить без наймспейса если нет на него отдельной необходимости (например на разные нейспейсы разные конфиги в одном файле и т.п.). А в файлах модели наверное без неймспейсов будет немного неудобно. В модели я бы оставил неймспейсы. Автолоад с нейспейсами удобно создать с помощью spl.
    Ответ написан
    Комментировать
  • А что почитать на тему "Объектно-ориентированный анализ и проектирование"?

    thestump
    @thestump
    программист PHP
    Также интересные книги по DDD. Они углубляют понимание ООП и позволяют на порядок поднять его уровень.
    Ответ написан
    Комментировать
  • PHP ООП синглтон, как правильно использовать статические методы?

    thestump
    @thestump
    программист PHP
    Наверное вы хотели сказать что класс хороший, однако небольшой рефакторинг его улучшит. Вы правы - еще есть над чем поработать для завершения этого класса. Думаю что направлением рефакторинга может стать проработка предметной области. Например User содержит имя, фамилию, адрес, пр. думаю что такие поля должны быть в класс
    class User 
    {        
        public $name;
        public $family;
        public $address;
    }

    User что-то делает и оперирует с данными, значит у него должно быть поле data и в системе User может быть только один:
    class User 
    {        
        public $name;
        public $family;
        public $address;
    
        private $user_data;     
        
        private static $_instance; 
    }

    Поля могут быть и еще, но пока остановимся. Подумает что класс может делать!? Пользователь может быть загружен и может быть сохранен
    class User 
    {        
        public $name;
        public $family;
        public $address;
    
        private $user_data;     
        
        private static $_instance; 
    
        public function Load(){}
        public function Save(){}
    }

    Может загружать данные из БД и выгружать данные в БД:
    class User 
    {        
        public $name;
        public $family;
        public $address;
    
        private $user_data;     
        
        private static $_instance; 
    
        public function Load(){}
        public function Save(){}
    
        public function LoadData(){}
        public function SaveData(){}
    }

    И т.д. Потом рекомендуемо написать юнит-тест для одного из методов и с помощью тестирования и рефакторинга написать код этого метода, потом следующий и т.д. до завершения класса. Работу вынести в область ORM и пр.
    Ответ написан
    Комментировать
  • Как разрабатывать нетиповую архитектуру?

    thestump
    @thestump
    программист PHP
    Я считаю, что при проектировании не типовых составляющих проекта надо обращать внимание на предметную область. Как вы писали в вопросе при типовых составляющих информацию о предметной области доступна и при некоторых случаях доступна реализация предметной области которую можно подсмотреть. А когда предметная область еще не изучена то лучшим советом будет изучение предметной области и обсуждение с заказчиком того, какое представление будут иметь фрагменты предметной области.

    Проработка абстракций для сущностей, маппинг сущностей в не типовых случаях исходят из предметной области, а уж подводные камни и будущий рефакторинг чаще всего исходит качества проработки и понимания нетривиальной предметной области.

    В качестве литературы тут думаю подойдет любая литература про разработку через предметную область (DDD).
    Ответ написан
    Комментировать