Wednesday, December 20, 2023

✍👀 Первая работающая программа на Yii 🤖😆

Итак, Yii установлен, инструкция по тому, как справляться с ошибками Composer при его установке переведена со США-мериканского на русский. Можно начинать писать программный код: 🙈

Первая программа на Yii 2

Интересный факт:

Традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году. 🙀

Ещё один интересный факт для тех, кто программировал процессор на ассемблере (тот я):

В среде программирования микроконтроллеров при отсутствии дисплея простейшей программой «Hello, world» является программа «blink», реализующая мигание светодиода на одном из выходов микроконтроллера. Цель такой программы является успешная компиляция программы (при изучении нового микроконтроллера или новой среды разработки), прошивка программы в микроконтроллер и демонстрация работоспособности самого микроконтроллера. 😵

Менее интересный факт:
Книга красного цвета в твёрдой обложке и кто по ней что-то писал и компилировал на Си, тот тоже я. 😺

Что же дальше? А дальше, как обычно:

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , , , , , , , ,

Tuesday, December 19, 2023

🙈🦍 А обновлять ли Windows? А такое возможно? 🙀💣

Зачем нужны Windows обновления? Если предположить, что для того, чтобы программы на нём работали быстрее, то почему обновления выходят так часто? Если для того, чтобы закрыть уязвимости... то сколько же их в этой операционной системе? 🙀

Центр обновления Windows. Что нужно знать про обновления Windows(Windows Update).

Мне тут люди пишут на почту (и не лень же им), что обчитались публикаций у меня на сайте про Инстаграм (запрещённый в РФ). Обчитались и посчитали, что я именно над ними издеваюсь. 🙈

Спешу заверить. Я не ставлю себе целью над кем-то поиздеваться. Просто я иногда дурачусь. Кому не нравится моё дуракаваляние - это же дело вкуса. Не вкусно, - проходим мимо. Не надо себя насиловать и пытаться схавать то, что не нравится... Ведь в Интернете столько вкусного на любой вкус, цвет и сложность! 😜

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , ,

Sunday, October 8, 2023

🐞 Национальные особенности охоты на жуков 🤺

Для того, чтобы программа работала, нужно не только её написать и включить защиту от дурака 🤪, нужно ещё придумать все варианты, которые тот самый дурак может попытаться сотворить в этой программе. И для этого... с некоторых пор в программирование были занесены определённые действия, связанные с созданием тестов:

Тестирование кода программ на Yii 2

Ну и, во всяком уважаемом себя сообществе программистов, в Yii 2 также не обошлось без того, что тест должен быть написан! Во что бы то ни стало. Для того, чтобы можно было по крайней мере отсеивать всех, кто приходит на собеседование на получение зарплаты. 👻🦵

В общем, php программисты уже не так увлечены Yii, но, для того, чтобы считаться профи, нужно знать не только про то, что такое ООП, но и уметь писать тестовые программы для написанных рабочих программ... Причём, на сколько я знаю, по фен-шую тесты пишутся раньше самих программ... но это не точно! 🤣

Что точно, так это то, что...

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , , , , ,

Friday, October 6, 2023

~~~~ Linux под Windows - миф или реальность? 👻😝 ~~~~

Итак, для того, чтобы можно было вести локальную разработку (на самом деле, просто кодить), требуется примерно идентичная среда этой самой разработки. Если на примере, то код на C++ нельзя скомпилировать компилятором языка программирования Ада (несмотря на его грозное название). Ну или нельзя выпить бензина и начать бежать со скоростью 100 км/ч. 😎

И так как ноут у меня с системой Windows, то программы, работающие на сервере, на котором стоит Debin запускаться не будут... Нужны решения... и решение есть! Это WSL - Windows Subsystem for Linux.

Что это такое - в другой раз. В этот раз о том, как этого зверя установить к себе на Винду:

Инструкция по установке Linux в Windows с помощью WSL

Всё реально ставится и "Пингвин в Окне" очень даже заводится и работает. Проверено на практике. ✌😆🏴‍☠

Для тех, кто не в теме, а очень хочется загнать этого самого Пингвина в Окна, читаем, пробуем, делаем... и будет всем счастье! И конечно...

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , , , , , ,

Monday, October 2, 2023

~~~~ Есть ли жизнь в программе? ~~~~

Самое сложное в чужом коде - это найти место, в которое нужно внести изменение для того, чтобы исправить ошибку или добавить какой-то функционал. И для этого требуется знать то, как и куда направляются данные в программе для получения конечного результата. И это работает везде, даже в Yii 2:

Обзор обработки запросов в Yii 2

Как не странно, документация по Yii 2 содержит исчерпывающий ответ на данный вопрос: Куда что идёт и чем занимается?

Ну и для того, чтобы найти необходимое место для исправления и/или внедрения своего кода в чужую программу, нужно просто разобраться в том, как работает так называемый "Жизненный цикл запроса".

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

Что там и как - это вопрос о том, как глубоко Алиса хочет падать в кроличью нору! 🙀🙈👻

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , , ,

Sunday, October 1, 2023

~~~~ И снова о прекрасном. 👻 СПАМ (!^&*P8) ~~~~

Итак, есть прекрасная программа для того, чтобы организовывать рассылки не отходя от кассы используя свой (или чужой) сайт:

Документация acyMailing от Acyba на русском языке

acyMailing от Acyba позволяет организовать email рассылку как уведомлений (о чём-то очень важном), так и просто рассылать информацию о новостях в виде дайджестов или сплошным потоком.

Хорошо это лили плохо?

Смотря то, как на это посмотреть. Если пользователь сайта добровольно подписался на рассылку, подтвердил свой e-mail... в общем, осознанно решил следить за проектом, - это хорошо. 
 
Но, я, как Вебмастер могу написать бота, который пройдётся по злачным местам, соберёт базу данных с адресами электронной почты, залить эту базу в acyMailing и.... понеслась душа в рай! 😜 
 
В общем, любые грабли можно приспособить для поддержания порядка, а можно с теми же граблями учинить такие беспорядки, что вокруг воцарится упадок и разруха. ✌👻🏴‍☠

Продолжение преследует! ✌😸🏴‍☠

Labels: , , , , , , , ,

Sunday, September 10, 2023

~~~~ Веб-[ло]мастер и Композитор ~~~~

Работа с любой программой начинается не с чтения мануалов, просмотра видосиков на YouTube, и даже не в покупке какого-нибудь курса (даже с получением сертификата об его окончания). 

Работа в любой программе начинается с её установки и каких то осмысленных (но чаще, бессмысленных) действий в этой программе.

А для этого её нужно установить. И как же установить Composer к себе на сервер? Оказывается, что не так уж и просто (но и не запредельно сложно):

Установка Composer и Bower на удалённый сервер

Читаем, сразу ставим, и сразу начинаем пользоваться! 
Ибо выполнение какой-то инструкции, вовсе не означает, что при других обстоятельствах, не потребуется получение новой инструкции. Для того, чтобы быть готовым к новым ситуациям, нужно понимать, почему написано именно так в данной инструкции... А это требует более глубокого изучения вопроса!

✌😺🏴‍☠

Labels: , , , , ,

Monday, September 4, 2023

~~~~ Котиков (с мурашиками) в ленту! 😸✌ ~~~~


В этом видео рассмотрим частую задачу, возникающую при программировании на BASH. Это задача обмена данными между скриптами, написанными на BASH.

Функции на BASH. Как передать значение скрипту BASH и получить значение переменной из скрипта BASH?

Часть требуется не просто линейное выполнение команд, а какие-то компоненты, которые можно запускать из разных частей кода, которые могут: 
1. Просто что-то выполнять и потом возвращать управление в основной скрип на BASH, который их вызвал. (Выполнение без приёма входных параметров и передачи полученных данных.) 
2. Получать параметры при их вызове, используя их в своей работе. 
3. Выполнять какие-то вычисления и преобразования, при этом возвращая управление в скрипт BASH, их вызвавший, значения полученных в результате работы переменных. 
 
Решить эти задачи оказывается важным, если требуется многократное выполнение однотипного кода из разных частей программы. И конечно, часто бывает важно принять полученные данные из отработавшего скрипта BASH (и желательно напрямую в виде значений переменных, а не через текстовые файлы). 
 
Также бывает важно запускать один и тот же кусок кода, но с разными параметрами. И тогда возникает необходимость в передаче вызываемому скрипту, написанному на BASH входных параметров, которые он сможет использовать при выполнении своей программы. 
 
В начал видео производим дополнительные действия, автоматизируя часть работы с запуском написанных программ на BASH. 
 
При создании ролика были допущены ошибки в коде (которые я потом убрал), но не стал вырезать эту часть (чтобы было понятно, как вообще пишутся реальные программы). Комментарии в процессе видео, подскажут путь решения возникших ошибок, если кто-то столкнётся с подобными ошибками: при операции присваивания переменной значения НЕЛЬЗЯ ставить пробелы до и после знака =, иначе интерпретатор воспринимает имя переменной в качестве команды, коей конечно переменная не является. И вываливается ошибка с сообщением, что команды с таким именем не найдено 
 
ПОЛЕЗНЫЕ ССЫЛКИ НА СТАТЬИ С ПОДРОБНЫМИ ИНСТРУКЦИЯМИ: 
 
1. Статьи по программированию на Bash - https://mb4.ru/programming/bash.html 
2. Статьи по Unix (на примере Debian) -  https://mb4.ru/operating-system/unix.html
3. Статьи про PuTTY -  https://mb4.ru/programms/programs-for-hosting/putty.html
4. Для тех, кто решил взять себе собственный сервер -  https://mb4.ru/hosting/firstvds.html
 
Для сотрудничества: https://mb4.ru/support.html

Labels: , , , , , , , , , ,

Sunday, August 27, 2023

~~~~ Хозяйке на заметку о 10k часов ~~~~

Что отличает "профессионального" программиста от "новичка"? Ну конечно как минимум 10k часов написания собственного кода. И, когда мы посмотрим на код одного и другого обнаружим очень странные вещи.

Там где код новичка будет простынкой на 10 строк кода, у профи будет написано 100 файлов с кусками какого-то кода, раскиданных в 20 разных папок. Хотя... Хотя результат работы будет совершенно одинаковым(!)

Нонсенс! Как бы да. Но, когда потребуется чуть-чуть усложнить этот код, новичок убьётся головой об монитор, а профи, допишет 101-й файл в 21-й папке и всё будет продолжать работать так, как требуется.

Вот ещё пример того, как самые ленивые программисты поступают. Берут 100500 строк кода из различных чужих наработок, сваливают всё в кучу и получают собственную кучу, которая умеет и песни петь, и мусор убирать и, пока программист рубится в Кваку или Тетрис, рассылает письма новичкам, чтобы те срочно всё у себя поправили, а то что-то они мало написали, и это не соответствует высоким стандартам!

Линтование и исправление кода Laravel с помощью Duster

И чем ленивее программист, тем больше он будет писать кода для самой простейшей операции в своей программе. Выглядит не логично, но по факту - именно это и являет подъёмом в иерархической лестнице от простейшей ко всё более сложной абстракции.

Labels: , , , , ,