Сегодня я взял интервью у 4X_Pro, программиста-самоучки, человека во многом неординарного,ведущего разработку на РНР. Самое значимое его "детище"-это движок сайта (сайт на основе форума-Intellect Board. Также его "рук дело" и замечательная (мне очень нравится) CMS Text CMS, прекрасно подходящая под сайт для блога или новостной сайт. У 4X-Pro интерестные взгляды на жизнь и окружающую действительность. Например, он считает себя Истинным Непразднующим, т.е, не признающим ценность праздников (для себя) окружающих людей, и Живущим в Сети. Я посчитал нужным обратится к нему, и задать несколько вопросов. Вот наша беседа: ************************************************************ Начнём с лёгкого вопроса. Помните ли Вы свою первую работоспособную программу? ("Привет мир!"-не считается ) Нет, не помню. Более того, довольно сложно определить, что следует считать таковой, т.к. на начальном этапе я часто брал программы из книг, а потом что-нибудь в них переделывал, чтобы посмотреть, что будет. Вы пришли в программирование, потому что это было целью, или Вас внезапно поглотило это увлечение? Дело было так: когда отец купил мне первый компьютер, это было для меня настолько большим событием, что я хотел знать и уметь все, что с ним связано. (Отчасти потому что компьютер оказался территорией, где я был полностью свободен от контроля взрослых.) В том числе, конечно же, и программирование. А когда (уже спустя несколько лет) выбирал ВУЗ и специальность, связанную с программированием, то делал это по принципу "занимайся тем, что получается лучше всего". Мне известно, что свои разработки Вы ведёте сами. Есть незначительная доля участия двух модераторов во 2-й версии IntB, есть несколько патчей, и стиль от посетителей форума, не более того. Насколько тяжела для Вас разработка больших проэктов, и есть ли при этом какое-то планирование дня? Или Вы садитесь за компьютер безсистемно, в любое время суток? Целенаправленного планирования дня у меня нет, но обычно все складывалось так: утром выхожу в Интернет и провожу время там, а движком занимаюсь вечером или даже ночью. Обычно тяжело начать делать какой-либо новый модуль, но если уже появилось что-то, результаты работы чего можно увидеть, то дальше мотивация на то, чтобы доделать и усовершенствовать, появляется сама собой. Бывали ли курьёзные случаи в процессе с разработки IntB? Да. Незадолго до релиза я написал инсталлятор, стал его тестировать, прошел все этапы установки, зашел в Центр Администрирования, и убедился что все работает как надо, включая автоматическое удаление инсталлятора после окончания установки. Был очень доволен, пока не осознал, что удаленный файл инсталлятора был его единственной копией, и теперь инсталлятора у меня нет. К счастью, в IDE, которую я тогда использовал, есть локальный контроль версий, с помощью которого я все быстро восстановил. Каким Вы видите Интернет, и вектор развития CMS и серверов (PHP, Apache, SQL) в будущем? Полагаю, протокол HTTP и языки HTML и CSS в будущем сильных изменений не претерпят: слишком уж повсеместно они используются, и какие-то скачкообразные изменения тут маловероятны. Развитие будет эволюционым: постепенно появляться новые теги или свойства, и все, а также активнее внедрятся микроформаты. А вот PHP в качестве серверного языка может быть частично потеснен NodeJS. Скорее всего, будут активнее и больше использоваться базы данных типа NoSQL вместо привычных реляционных. Что касается CMS, предполагаю, что рано или поздно наберет популярность такой вариант: основной контент страницы (скажем, текст статьи, пост в блоге, тема на форуме) сохраняется после создания/редактиования в статические файлы, которые отдаются сервером напрямую, без использования PHP вообще, а вспомогательные элементы (например, список тегов или список сейчас присутствующих на сайте пользователей) догружаются асинхронно с помощью Javascript. Это позволит отображать сайты быстрее и с меньшей нагрузкой на сервер, а также сделает их более дружественными к поисковым роботам. Работа программистом-это Ваш основной способ зароботка, или иными словами-чем Вы зарабатываете на жизнь? До 2012 года был основным, потом появились другие источники дохода.
3-я версия IntB довольно удачна. Насколько широко Вы планируете развивать её функционал в следующих релизах? Как минимум, планирую добавить несколько видов модулей (новости, статьи, фотогалерея) и задаваемые поля в профиле пользователя. Также есть мысли о том, чтобы сделать возможность внешней авторизации, чтобы можно было интегрировать с другими сервисами. Ваши пожелания и рекоммендации начинающим PHP-программистам? Быть любознательными и готовыми "заглянуть под капот", т.е. изучать не только PHP и SQL, но и держать в голове картину происходящего при выполнении скрипта в целом, т.е. как происходит обмен между клиентом и сервером, как работает HTTP-протокол, как порождаются процессы для обработки запроса на сервере, как и для чего нужны различные виды кеша и т.п. Еще бы посоветовал не кидаться сразу изучать frameworks, а сначала написать пару-тройку небольших программ на чистом PHP. Как родственники относятся к Вашим занятиям, и женаты ли Вы? Родственники толком не знают, чем я занимаюсь, знают только что я что-то там программирую. Нет, не женат и в обозримом будущем не собираюсь.
Одно из Ваших увлечений-фотография. Поделитесь той, которая нравится. Это и будет эпилогом к нашему разговору.
Проверяю сейчас ее работу на сабсильвере и первая проблема которую наблюдаю, так это:
Пытаюсь фото вставить в сообщении темы. У меня при вставке ББ-кода -галерея - Вылетает вместо изображения миниатюра с запретом: http://joxi.ru/1A5zq3YIN79YrE
Говорит не авторизованы для просмотра фото?
Права вроде выставил. Даже когда как админ вхожу, все равно действует это нехорошее дело?
В Debian встречаются ошибки при работе из терминала, и одну из распостраненных мы расмотрим сейчас:
1. Ошибка "Is not in the sudoers file" возникает, когда файл /etc/sudoers составлен некорректнно, и ваш ник в системе в него не вписан как суперпользователь. Нужно редактировать этот файл. Доступ к его редактированию можно получить, написав в терминале su, и введя пароль sudo. После вводим:
Код:
visudo
Попадаем в файл в режиме редактирования. Дописываем с любой новой строчки: имя_юзера ALL=(ALL) ALL -так мы добавляем своё имя в категорию sudo. Либо: %sudo ALL=(ALL) NOPASSWD: ALL имя_пользователя ALL=(ALL) NOPASSWD: ALL так мы вообще запрещаем спрашивать у нас пароль sudo в терминале. Как видите по картинке, я вписал в ходе проб и так и так в файле. И сейчас на любую команду происходит сразу ее выполнение, безо всяких паролей. После того, как внесете эти строки, нажмите Ctrl O, и Enter, это сохранит изменения в файле. Затем Ctrl X. Это сочетание вернет вас из файла обратно в терминал.