Вывод

Я стал лучше понимать проблемы начинающих программистов. А также тех, кто меняет технологии, например, осваивает новый язык программирования или расширяет область знаний (fullstack).
Отзывы только положительные.
Нашёл новые способы помощи. И новые техники совместной работы.
Усиливаю навыки устной и письменной речи на английском языке.
Спасибо всем, кто следил за целью.

Pavel Volyntsev, мы с вами уже в вк добавились и в скайпе переписывались:) я из 1с-ков
Дневник цели
Комментарии

Уже все кто только может зарабатывают на том, что втирают людям, что они могут стать программистами. Либо человек может сам во всем разобраться, либо он программистом не станет. А если станет, то привыкнет к другим разрабам за помощью бегать и быстро с работы вылетит. От них пользы никакой, только более опытным разработчикам работать мешают.

Да у новичков вообще завышенные ожидания. Хотят за год научиться программировать и устроиться работать. Это реально конечно если есть определенный талант или база в виде технического вуза, в противном случае, за год не реально, даже на стажировку попасть без связей. Сам 3.5 года учился прежде чем работу найти да и то на крошечную зарплату.

Просто из-за всей этой АЙТИ пропаганды люди думают, что работа программиста является панацеей от всех проблем. На деле же ты пахаешь по 12 часов без выходных чтобы успевать за технологиями(ибо JS для хипстЕров, у нас тут модные тренды видите ли), гробишь здоровье и не можешь найти время на личную жизнь.

Lev, я прошу - найди время отдохнуть. Оно точно есть. :) Хотя бы отойти от компа и посмотреть в окно. Там лето и зелень, свежий воздух, солнце. Может книгу прочитать какую-нибудь?

Все проведённые консультации, в том числе бесплатные, заношу в реестр. По результатам
за февраль - 20 консультаций, часть не успел записать, возможно и больше
за март - 40 консультаций, из них 70% платные.
за апрель (неполный) - 30 консультаций, из них 85% платные
По окончании прошу курсантов оставлять положительный или отрицательный отзыв. На codementor просить нельзя, но там и так оставляют. И отзывы все положительные.
Считаю, что тенденция положительная. На этом цель может быть завершена.

Видео-ответ на тостере: https://toster.ru/q/308309
Можно ли написать балансировщик на PHP?
Я правильно понимаю, что вы планируете использовать несколько серверов с приложениями на PHP для upload файлов?
В этом случае балансировка для POST запросов аналогичная той же, как и для GET запросов, но каждый из серверов будет сохранять файлы в своей временной директории для загруженных файлов. Если пользователю вернуть URL на такой файл, то может случиться ошибка при отображении файла, когда при повторном прохождении через балансировщик будет выбран другой сервер.
Три варианта решения:
1. Возвращать пользователю ссылку на конкретный файловый сервер, чтобы раздавать обратно в обход балансировщика
2. Использовать центральное сетевое файловое хранилище, чтобы раздавать файлы с него
3. Использовать распределённое облачное хранилище, возможно с использованием CDN
Немного шевелящихся картинок :) https://www.dropbox.com/s/cznrr4xzuw442g6/shared_u...
---
Попал или не попал - не знаю, но решения проверены на практике.

У меня 11 сессий на codementor.io - это моё достижение.
Сегодня было две консультации на английском, одна на 88 минут. Я к концу еле языком ворочал.

Не могу массово привлекать народ. С каждым провожу первую консультацию, чтобы выяснить уровень знаний, цели, интересы, мотивацию. Если ко мне обратится слишком много человек за одну неделю, то неделя будет ужасно сложной.
Моя рабочая неделя 35 часов.
Несколько курсантов
Несколько первичных консультаций
------------------------------------------
Итого 60ти часовая рабочая неделя.
Поэтому выбрал для себя вариант очень щадящий - не чаще раза в неделю сканирую группы в вКонтакте и вопросы на тостере, чтобы выдавать ответы, косвенно указывающие на мои программы поддержки. В итоге воронка конверсии изначально имеет низкий входной поток. Коэффициент конверсии пока считать не научился. Думаю, что около 1%.. Повышение входного потока или конверсии убьёт меня :(

Обнаружил вот такую сложность: иногда для ответа на вопрос требуется больше времени, чем заранее планировалось.
Пример 1
Для того, чтобы объяснить, как настраивается отображение фрагментов веб-страницы при использовании AngularJS и ui-router, пришлось разобраться самостоятельно (я до этого пользовался только https://docs.angularjs.org/api/ngRoute) и в процессе составления учебного примера я столкнулся с тем, что если я выдам 100% готовый пример скрипта, то из-за особенностей построения приложения на Angular, курсанту будет совершенно ничего не понятно. Ну то есть вообще ничего. Нельзя сразу отдавать готовый результат. Человеческий мозг не в состоянии принять слишком много абстракций за один раз. Соединять абстракции с реальным миром надо постепенно.
1. Введение, самое простое, на примере того, что можно скопировать прямо из документации http://plnkr.co/edit/wSz7T1?p=preview скучно, хотя и просто. Показывает, как показываются фрагменты страницы при клике по разным ссылкам.
2. Добавил к примеру чуть чуть данных, про которые хотелось знать курсанту http://plnkr.co/edit/D8v1K7?p=preview и мир стал ближе, потому что абстракции пересеклись с реальной задачей.
3. Ещё одна абстракция и пример стал имитировать реальную работу веб-сайта http://plnkr.co/edit/I3l4Bh?p=preview
4. Ещё одна абстракция http://plnkr.co/edit/nnHRWJ?p=preview которая настолько близко подошла к задаче курсанта, что дальше он может разобраться сам.
На составление четырёх примеров ушло почти 4 часа экспериментов. Во время встречи я успел все четыре шага объяснить за 35 минут (часть я показал в документации, часть показал на примере, часть времени ушло на дополнительные вопросы). Какую сумму в итоге выставить курсанту? За 4 часа 35 минут включая подготовку и консультацию или только за 35 минут консультации?
Пример 2
Работал над задачей, где меня просили объяснить принципы построения сложного запроса SQL с использованием группировок и вычислимых функций, профилирования запроса и оптимизации модели данных.
На анализ данных (SQL с моделью и данными, 21 мегабайт), эксперименты с процедурами и запросами ушло 6 часов. Консультация длилась час, за это время мы обсудили принципы оптимизации данных и алгоритмы вычисления некоторых статистических значений. За сколько должен заплатить курсант: за 7 часов или за 1 час?

Моё рабочее место во время трансляции рабочего стола через внешнюю веб-камеру



Один из видео-ответов
Как настроить сервер, чтобы работало восстановление пароля?
Допустим у меня есть функционал, который при регистрации будет требовать активацию аккаунта через ссылку на почте или же восстановление пароля? Возможно ли это сделать на своей локальной машине? Я знаю, что есть такое расширение sendmail. В его сторону гуглить? Т.к. в будущем мне это пригодится не только на локальной машине, хочу в последующих проектах реализовать данную фишку.
1. Видео-ответ: https://www.dropbox.com/s/c693q09twubjymu/2016_04_02_17_15_34_1280x720_mail_sms.mp4?dl=0
2. Текстовая версия
Можно пользоваться функцией mail и если хостер включил поддержку mail и настроил отправку писем через sendmail или postfix, то письмо уйдёт.
Надо уточнить у хостера.
Вот так это настраивается http://php.net/manual/ru/mail.configuration.php
Много тонкостей с тем, что письма отправляются в спам. Нужно ознакомиться с правилами, по которым почтовые сервисы НЕ БУДУТ считать твои письма спамом.
Это касается как содержимого писем, так и настроек хостинга. Ключевые слова для поиска информации: SPF, DKIM, обратная зона DNS
https://mandrill.zendesk.com/hc/en-us/articles/205582267-About-SPF-and-DKIM http://www.nixp.ru/forum/software/11140.html http://www.nixp.ru/forum/software/11140.html
Пример реализации класса, рабочего, для отправки сообщения по протоколу SMTP https://github.com/PHPMailer/PHPMailer/blob/master/class.smtp.php
Сам когда то писал такие.
Более универсальной библиотекой является SwiftMailer http://swiftmailer.org/ документация http://swiftmailer.org/docs/installing.html
Есть расширение под Laravel https://laravel.com/docs/5.2/mail на русском https://laravel.ru/docs/v5/mail
Нужно найти HTTP SMS Gate и отправить запрос на его API
Пример
Например, smsglobal.com/http-api/#Sending_a_SMS
<code>curl "<a href="http://smartprogress.do/site/redirect/?url=http%3A%2F%2Fwww.smsglobal.com%2Fhttp-api.php%3Faction%3Dsendsms%26user%3D" target="_blank">http://www.smsglobal.com/http-api.php?action=sendsms&user=</a><логин>&password=<пароль>&from=<номер_от_кого>&to=<номер_кому>&text=<текст SMS сообщения>"
<code>curl "<a href="http://smartprogress.do/site/redirect/?url=http%3A%2F%2Fwww.smsglobal.com%2Fhttp-api.php%3Faction%3Dsendsms%26user%3Dtestuser%26password%3Dsecret%26%26from%3DTest%26to%3D61447100250%26text%3DHello%2520world" target="_blank">http://www.smsglobal.com/http-api.php?action=sendsms&user=testuser&password=secret&&from=Test&to=61447100250&text=Hello%20world</a>"