Сегодня я взял интервью у 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. Как родственники относятся к Вашим занятиям, и женаты ли Вы? Родственники толком не знают, чем я занимаюсь, знают только что я что-то там программирую. Нет, не женат и в обозримом будущем не собираюсь.
Одно из Ваших увлечений-фотография. Поделитесь той, которая нравится. Это и будет эпилогом к нашему разговору.
Такую ошибку я получил сегодня. После многочисленных компиляций, я установил ошибочно старую версию dbus, и он мне поломал зависимости, и испортил конфиги. В систему было невозможно войти, после окна входа с вводом ника и пароля, появлялось окошко с надписью "Невозможно соедениться с сервером. Нарушен сокет". В ответ на это, я вошёл в интернет через смартфон, и с сайта Ubuntu Packages скачал deb-пакеты. Вот эти: (Это пакеты 32-бит, если у вас 64-бит архитектура, то найдите такие же через поиск на сайте)
После этого подключаем смартфон через кабель, входим в нашу систему, нажимаем 1. Ctr+Alt+F1 2. В открывшейся тестовой панели (терминале) вводим ник и пароль. 3. После этого вводим
Код:
startx
4. Оказавшись в системе (если "иксы" не стартанули, перемещайтесь по папкам с помощью команды сd) войдите в папку смартфона, и установите пакеты из списка выше через стандартную утилиту GDebi, или из терминала
Код:
dpkg -i /путь к пакету
5. Заходим в Synaptic. Вводим в строке его поиска dbus 6. Удаляем все лишнее с названиями dbus, однако смотрим на зависимости-пару основных пакетов dbus "утянут" при удалении пол-системы. Будьте внимательны, их трогать не надо. 7. Очищаем сведения о системе
Код:
apt update
8. Жмём на перезагрузку, либо в терминале пишем
Код:
reboot
9. В меню Grab выбираем режим Safe Mode (режим восстановления). И проходим по всем пунктам, особенно по пункту "Восстановление соеденения". Это может длиться несколько минут-наберитесь терпения. 10. Снова входим в систему, интернет должен появится. 11. Открываем терминал и пишем по очереди:
Код:
sudo apt-get clean
Код:
sudo apt-get autoremove
Код:
sudo apt-get -f install
Код:
sudo apt-get update&&sudo apt-get upgrade
всё. После этого проблеммы с интернетом у меня исчезли. Надеюсь, и вам поможет.
Позвонили с каких-то "быстроенег", и сказали, что я, оказывается. стал поручителем по займу денег Я не отрицал, мне оправдываться не в чем, меня это даже забавляло Какие-то нелепые угрозы, глупости, и прочий коллекторский бред. Но потом эти шлемазлы поставили меня на автодозвон Подняв звонков 5, я понял, что это надо искоренять. И решение оказалось простым. Дело в том, что для своих обзвонов коллекторские агенства применяют онлайн-сервисы, где за деньги арендуется сотня-другая онлайн номеров, и путем перебора, с разных, атакуется телефон "жертвы". Но у этих номеров есть кое что общее. Первые три цифры номера. У меня это были "251 .. .. " Вот их то и будем блокировать. Для этого не надо сторонних программ. Эта функция есть в вашем телефоне с Android.
1. Открываем список вызовов. Внизу слева жмём на "решетку". 2. В меню выбираем "Черный список", и в черном списке нажимаем "+" 3. Нажимаем "Добавить префикс". Вносим первые цифры досаждающего номера, и сохраняем вверху справа.
Всё. Список заблокированных вызовов набрался около 50, и коллекторы перестали делать попытки звонить, ибо все их попытки сбрасывались. Помог? Переходите на главную сайта, пресоеденяйтесь к общению http://tef.co.ua/
Не так давно вышла новая версия Linux Mint 18.2 Sonia, и я решил обновиться, тем более что "под убил" свою 18.1 частыми эксперементами с компиляцией и "перебором" необходимых библиотек для неё. Я это сделал без команд терминала. Понимаю, что какая-то часть пользователей Линукс "застёгнута" на использовании терминала, и бла, бла, бла, но не открою великий секрет, если скажу, что управляющая программа для обновлений даёт ядру системы те же команды, что и вы, через терминал. В конце концов, мы живём в 21-м веке, и на этапе использования консоли "всегда и везде, Торнальд не одобрит" не стОит... Итак, пока лютые поборники терминала пошли пить валериану, мы откроем программу обновлений:
Картинка:
Знімок екрану_2017-08-12_06-20-05.png
Затем выберем "Змiни" (по-русски это "Правка") и увидим пункт "Обновиться до новой версии" Нажимаем, и видим сервисное меню. Жмём
Картинка:
Знімок екрану_2017-08-08_22-25-08.png
Как видим, не хватает пакета, и мы жмём, чтоб установить его.
Картинка:
Знімок екрану_2017-08-08_22-25-35.png
После этого ждём, пока скачаются все пакеты.
Картинка:
Знімок екрану_2017-08-08_22-26-57.png
Картинка:
Знімок екрану_2017-08-08_22-53-39.png
Всё, видим, что программа окончила это задание, и предлагает перезагрузиться.
Картинка:
Знімок екрану_2017-08-08_23-01-08.png
После перезагрузки вас встретит ваша система в полностью актуальном состоянии, в котором и должна быть-в обновлённом. Также напомню, что перед обновлением системы следует сохранить все важные файлы в месте ином, чем жесткий диск вашего компьютера. на этом обновление закончено. Для любителей "всётакитерминала" даю список команд: