Разбираемся в теории и практике социализма
13 постов
13 постов
12 постов
Так получилось, что я был задействован на этапе подготовки к ремонту. Ничего особенного, монтаж гипсокартона, пошпаклевать, кое где покрасить, ещё сантехника и совсем немного кафеля. Нужно было собрать цены и найти исполнителя.
Стали обзванивать всех кого нашли – одиночки сразу сливались, не по их силам был том масштаб, а фирмы/ предприятия выдавали слишком большой разброс цен и сроков. С такими непонятными расценками идти к руководству было глупо и пришлось влезть в тематику. Профиля, марки, фирмы, гипсокартон, их толщины и размеры, крепления и крепёж.
Собрав такую информацию, стал более детально узнавать, что фирмы предлагают. На ремонт средства были забюджетированы с большим запасом, и я не искал самого дешёвого, только нужно было объяснить за что происходит оплата. Вот в этом моменте и происходил слом – приезжавшие прорабы не могли этого рассказать. Они говорили - «цена за квадрат такая, мы так работаем».
И устав от глупых разговоров, я за примерно за три часа написал калькулятор по расчёту ремонта – в табличку забиваем размеры помещения, выбираем размеры и марки материала, и программка выдаёт результат – гипсокартона нужно столько, саморезов таких столько то, других саморезов столько то, крепежа такого вот столько. И при этом точно знаем что нужно просверлить под крепление столько то отверстий и сколько раз загнать саморез шуруповётом. Раз знаем количество соединений, то можно и посчитать время ремонта. И даже можно распечатать, как монтировать гипсокартон, куда уйдут куски, как смонтировать профиля. И знаем какие остатки будут по материалам.
И это за несколько секунд ввода данных. Удобно.
После этого разговоры пошли бодрее, и исполнитель быстро определился. А для меня был сюрприз, что владельцы фирм по ремонту, являясь неплохими профессионалами, не задумывались о разработке такого калькулятора. А если такие мысли им приходили в голову, то они этого не делали. То есть материалы они считали на глазок, время наугад, остатки непрогнозируемые, воровство материалов могло быть не замечено. А это всё конкурентные преимущества, из этого складывается прибыль.
Потом, на заказ, я делал другие калькуляторы по расчёту ремонта и это всегда хорошо сказывалось на бизнесе. Не было ошибок менеджера, при звонке клиента ему называли стоимость в течении того же разговора, без обычных слов «мы посчитаем и перезвоним», уменьшалось количество жалоб и всё остальное тоже в плюс.
И ставил калькуляторы на сайт, что бы посетители сами могли подобрать вариант и узнать стоимость. Часто так бывает, что сперва говорят хотим вот так и сколько это стоит? а потом спрашивают - «А если вот так, то сколько стоит?». Ну менеджер обычно путается и сбивается, это если есть выделенный менеджер, может же его и не быть и тогда вообще плохо заканчивается – фирма теряет заказы, а клиент разносит негативную информацию о фирме.
И поскольку начал с калькулятора, а закончил сайтом, то вот несколько примеров заблуждений о сайтах, для собственников бизнеса, хотя и сотрудники могут принять эти аргументы. Это из моего скромного опыта, на сайте у меня конечно больше материала.
Сайт сам продаст товар – Нет, сайт – это ваше представительство в интернете, такого же свойства, как и здание. Само здание ничего не продаёт, для этого и нужен персонал.
Сайт самостоятельно привлечёт клиентов. – Нет, это площадка, которую вы можете показать клиентам. Только действие исходит от персонала.
Сайт работает самостоятельно, раз настроили и забыли. – В таком случае ничего не получится. Сайт нужно обновлять и актуализировать материалы.
Сайтом может заниматься только привлечённый сотрудник. – Тоже неправильно, без внимания владельца ни один сайт не получал нормального развития.
Нам сайт не нужен, мы рекламируемся на досках объявлений. – В таком случае, вы развиваете чужой бизнес, а своим вообще не занимаетесь.
Вот купим рекламу и клиенты повалят на наш сайт. – Реклама не поможет, нужно планомерное развитие сайта, иначе поисковики уменьшат рейтинг сайта вне зависимости от рекламы. И от рекламы не всё зависит, есть ещё много факторов, которые нужно учитывать.
Бот сайта сам найдёт нужные товары, зальёт на сайт и останется только позвонить клиенту. – Поисковики живо распознают такие сайты и никаких клиентов вы не получите.
Мы сделали лендинг, а клиентов нет. Почему? – А потому, что яркая визуализация рассчитана на на один единственный товар или «событие» и нужна мощная рекламная поддержка. Если этого нет, то нужен сайт.
Мы можем обойтись без сайта – не можете, если вам нужно круглосуточно продвигать ваш бизнес, то сайт необходим. Даже если у вас несколько человек на круглосуточном дежурстве, то тем более он нужен. Сайт ничего не забывает и не путает, только правильно внесите информацию.
Лендинг или сайт? – Лендинг – это когда нужно быстро продать один, только один единственный товар. И срок работы лендига пару недель, потом его нужно менять. Если же у вас более крупный бизнес, чем единственное предложение, то заказывайте сайт.
Нам сделали сайт, а он не приводит клиентов. Почему? – Сайт всегда работает и безусловно он приводит клиентов, просто цикл осознания этого гораздо больше.
И так могу продолжать очень долго, это всё из вопросов клиентов.
И есть бизнесы, где в современных условиях без сайта бизнес не запустится. Это в стоматологический кабинет можно заглянуть и сразу всё понятно, а если вы юрист или риэлтор или инженер и ищите клиентов? Как вам показать свою компетентность и свои предложения? Простой понятный путь – это сайт. Есть ещё варианты, это доступно по ценам и просто в понимании.
Немного отклонюсь от линии своих постов и напишу о заказах сайтов.
Я уже делаю и сайты, и доработки и много парсинга. Первое и второе под заказ, а остальное больше для себя и по работе. То есть по парсингу вообще экспертиза на собиралась, только и за сайты могу написать.
Все сравнивают cms и фреймворки с точки зрения программиста, а давайте посмотрим с точки заказчика. Сейчас напишу о самых простых ошибках.
Обращается по телефону – нужен сайт вот по такому заданию. Читаю задание и понимаю, что могу сделать такой сайт. Озвучиваю цену. И тут мне говорят, что готовы заплатить много, много больше (что такое много больше изучают в курсе математики), только сайт должен быть сделан на Laravel. Почему на ларке? - А вот такое наше желание. Полчаса говорил заказчику, что у него довольно простая задача, сейчас рано делать такой сайт, давайте сделаем минимальную версию под ваши требования и если нужно будет, то доработаем под реалии. Не согласился – только laravel, это хорошо для сео. Потом ещё раз кратко пообщались – его кинули, что делать.
Звонят какие-то хлопчики – взяли заказ на разработку магазина на laravel, говорят – «мы делали – делали и не получается». Вы можете сделать? А можете, так вот сделайте магазин, мы заплатим 3 500 грн, на ларавеле сделайте, просто денег больше не осталось.
Ещё такие хлопцы, прислали код. Нужно сделать магазин по техническим требованиям. Цена за всё 3500 грн. Внутри wordpress, его знаю отлично и в общем то могу сделать, только задание бредово сформулировано, нужно общение с заказчиком. Предложили общаться через менеджера, менеджером оказался дизайнер – маркетолог (так он сам представился). Через пару часов наше общение прекратилось – так очень непросто общаться, ничего хорошего не получится,
Был звонок от владельца бизнеса и ему сеошники так мозги повредили, что просто не верится. Якобы какая-то программа, которая будет работать у них, она сильно повысит конверсию сайта если через неё прогнать тексты. И он им платит. А ещё они переведут его клиентов на мобильный, это он так сказал. Посмотрел на его сайт - показатели отвратительные, на сайте критическая ошибка и она гробит сайт, мобильной версии нет, вёрска кривая. Но им он верит, а мне нет – нехорошо на его сайт клеветать, люди им пользуются и не жалуются.
И ещё заказ на React, обязательно реакт, им так сказали. Это на обычный лендинг.
Или какая нибудь редкая cms, вот хотят именно её, и тогда их бизнес взлетит. Не взлетит, но объяснять бессмысленно.
В итоге – все хотят чудес, хотя их не будет. Cms никак не влияет на показатели сайта, от неё не зависят рейтинги на поисковиках, это не влияет на сео и от её выбора зависит только удобство облуживания сайта. А удобство можно измерить в деньгах – если на wp я обучаю людей меньше 10 минут, то другие варианты — это часы. А с учётом текучки персонала, это становится бессмысленным.
И следующий пост сделаю - это заблуждения о сайтах.
Где-то на последних курсах университета нам неожиданно дали ещё семестр высшей математики, обычно это делается на первых курсах. Математику почти всегда дают вначале, что бы студент мог разбираться в материале других дисциплин, всё-таки высшее образование предполагает отличие от научно популярного изложения.
И вот на самом первом занятии, я уже не вспомню как правильно назывался этот предмет, да и не важно это, хотя до сих пор помню материал этого раздела математики, один из моих одногрупников спрашивает убелённого сединами преподавателя – «А вот лично вам пригодился в вашей жизни этот раздел математики?»
- Да, пригодился. Когда моя в будущем жена поступила в аспирантуру, то она вместе с научным руководителем выбрала тему научной работы, а вот аппарата решения этой задачи на тот момент не существовало. Транспортная задача, то есть графы, сводящиеся к системам дифференциальных уравнений. И вот она за полгода выучила именно вот этот раздел математики, на первых этапах и я помогал, потом хорошо разобралась в теме и за следующие полтора года выполнила кандидатский минимум. Защитилась, а это уже другая ставка оплаты, другие учебные часы, другая должность, мы стали гораздо увереннее смотреть на жизнь и окружение и это позволило нам завести ребёнка.
Не знаю насколько это впечатлило однокурсников, мы тоже чувствовали себя довольно уверенно – ведь скоро дипломирование и возможно из-за этих чувств на экзамен явился я один и даже получил четвёрку по пятибальной системе.
Это было вступление, а теперь обещанное в прошлом посте. Очень часто довольно неплохие программисты громко заявляют – «Что бы программировать математика не нужна». И это говорят люди, у которых вся жизнь в математической учёбе – от физико-математической школы в подростковом возрасте до мат. образования в лучших университетах страны, где группа студентов до 12 человек. И если так говорят люди с такой подготовкой, что взять с других, которые перескочили в программирование с другим образованием, часто вообще ничего об этом не знающие, ведь программа - это перевод на язык машины простых человеческих действий, повторяющихся многократно. Можно это делать и без знания математики, где здесь математика, в чём она?
Когда первокласника приводят в школу, то там сразу же есть предмет математика. И первоклашку долго учат складывать один плюс один, потом один плюс два и рисуют ему яблоки, груши, зверющек и чего угодно чтобы только заложить в его мозги - если мы ставим плюс, то это больше, а если минус, то меньше. То есть если подходить формально - это закладывается понятие об отношении объектов. А через полгода говорят – если нужно сложить много одинаковых чисел, то есть умножение. Потом деление. И вот это всё и есть математика. И когда программист набирает на клавиатуре плюс, то он пользуется математикой, скобки – это тоже математика и продолжать можно долго.
И вообще, если вы сейчас полистаете школьные учебники математики, то даже если вы её сильно подзабыли, вам хватит недели восстановить знания. И для многих будет шоком, что на уроках математике нас учили очень простым правилам - как вынести за скобки, упростить, разложить, логарифм как замена умножению, алгоритму решения квадратного уравнения и прочим простейшим вещам, и это заняло десять лет. А задачи на уроках математики это уже из предмета «физика».
Подумайте ещё раз – вычислить скорость движения тела это относится к математике или к физике? Только в математике это тело называется лодка или автомобиль и даются такие задачи для закрепления материала. Просто иначе это вообще не зацепится в мозгах, вот и всё.
А почему тогда заголовок статьи так популярен? Здесь несколько составляющих, каждую нужно разбирать по несколько постов. И я вообще не затронул вопрос – а зачем же математика в программировании, теперь уже чуть сложнее школьной, продолжу на следующей неделе.
И вот я пишу парсеры. На php. Есть функционал в стандартной установке, есть библиотеки для парсинга, есть примеры. Да вот неприятность – владельцам сайтов и хостингов сильно не по душе, когда их парсят и борются с этим всеми средствами. И почти сразу же меня начали блокировать. Я перебрал несколько вариантов, добавлял куки, агентов, настройки, разные варианты и подходы – не получается. Вернее, не получается стабильно.
От парсера требуется совсем немного – нужно получить страницу, построить DOM дерево, получить элемент и его вывести, иногда обработать и записать куда ни будь, обычно в текстовый файл в разных кодировках. Есть неприятные моменты, это то, что в учебниках даются самые простейшие примеры и есть всего два русскоязычных автора по видео, где парсеры именно объясняются как их писать и ещё одно видео школьника, этот школьник умеет писать парсеры, а вот объяснить не может – он ещё не знает терминологии.
Стал искать другие варианты – одни для меня тогда были сложные, другие непонятно как сделать, остановился на питоне (так посоветовали). Попробовал учебные примеры – получилось. Стал писать парсер для моего случая и ничего не получается. Отложил в сторону парсеры, взял учебник питона и стал его листать. Я уже учил этот язык лет десять назад, половину прошёл и забросил, тогда у меня не было для него практического применения. Стал учить заново.
Учебные примеры довольно простые, только какие-то пустые – ну зачем мне срезы, стринговые операции, операции с кортежами? Стал мучать именно парсеры; библиотека BS4 для парсинга рекомендуется во всех статьях и есть несколько видео её применения. Через пару недель по вечерам первый успех – стало собираться со страниц учебных примеров именно то, что мне нужно. И приступил к нужным мне сайтам – тут опять неприятность – на каких-то сайтах получается, на некоторых вообще ничего не получается. То дизайн на сайтах такой, что никак за элемент не зацепится, то пагинация настолько оригинальная, что работает только через стрелки пагинации, разные проблемы.
Мне опять подсказали - нужно использовать Selenium. А это много сложнее, с моими скудными знаниями это было сложно. Только это хоть и медленный и очень непростой вариант, но именно он помог мне получать данные почти с любой страницы. Язык пришлось очень сильно доучить, ушло больше полугода и это на базис. Сейчас нормальные курсы предлагают обучить базе языка за 2,5 года, думаю это реальный срок. Я учил быстрее, под практическую задачу, только у меня от этой учёбы были постоянные головные боли и полное непонимание как что работает.
С тех пор я написал почти сотню парсеров на BS4, и больше 400 парсеров на selenium и до сих пор не всё получается. То с кодировкой проблемы, то с очисткой данных проблемы (так вот зачем в книгах по питону столько места на первый взгляд бесполезного материала ), то не пишется в базу или не могу получить элемент. Вот сейчас опыт больше 500 парсеров, постоянно учу и практикуюсь и не всегда получается написать простой парсер.
И питон на первый взгляд простой язык, на деле оказался настолько же простой, как и php. Во многом они пересекаются, по другому и быть не могло, и всё таки они для разных целей.
И немного попробовал python для модных ныне вещей – распознавание текста, фото, нейронные сети, обработка текста и многое другое. Делал это на основе того, что я неплохо знаю математику и много прикладных вещей, включая статистику. Даже сделал пару небольших сервисов, массово они не взлетели. Тут не всё однозначно, с учётом моего опыта судить сложно, но есть что показать и рассказать. Не пробовал только веб разработку на питоне, на мой взгляд на пыхе это делать проще и выгоднее. И ещё удобно делать математику на python, я напишу что думаю о тех, кто говорит – «программисту математика не нужна». И последнее нужно довольно долго объяснять, продолжу на следующей неделе.
Итак я стал учить php. Я не знал вообще ничего из него – ни истории создания, ни применения, ни что это серверный язык – вообще ничего. Мне просто нужно было поправить тему сайта и везде писали, что это делается через этот язык.
Быстренько подобрал учебник попроще на русском языке и так же быстро его пролистал – да вроде всё понятно, зачем это авторы столько страниц водой забили. Взял другой учебник, тоже русский - а всё понятно, ну там есть какие-то непонятные моменты, но мне вроде они не нужны и так справлюсь.
Открыл тему и я в ступоре. Это когда читаешь учебник оно понятно, а в реальном коде это бессмысленный набор символов. Да ещё и объектно – ориентированное программирование, в реальности всё на нём написано, а я уже и забыл, что в книжках написано.
Вернулся опять к учебникам – для начала взял совсем простой переводной и стал изучать более внимательно и вдумчиво. Потом я читал, что php это очень простой язык, школьник справится. А у меня высшее образование и я ничего не понимаю. Прошёл этот простой учебник полностью без пропусков и ничего в голове не отложилось. Вернулся к первому учебнику, он более подробный. Теперь стало проясняться, а зачем один термин авторы на две страницы растянули, перед этим не понимал. Прошёл и этот учебник, немного понял, только именно что немного.
Этого хватило, чтобы немного поправить шаблон сайта. Плюс модули, пробовал по рекомендациям, из двух десятков удавалось запустить один и этому радовался.
И как-то так получалось, что все модули и плагины требуют именно ту тему, которую делал автор или нужно эти модули самостоятельно дорабатывать. Вот и мне понадобилась доработка плагина, нужен javascript, а я его совершенно не знаю – один язык не получается нормально выучить, куда там ещё что-то учить. С горем пополам доработал я свою тему и успокоился. Даже начал учить новое по своей основной работе и всё стало получаться гораздо лучше.
Только прошло совсем немного времени и мне опять понадобились доработки сайта. Полез на форумы, там объясняли, что нужно лезть в движок, по-другому никак. А в движке ООП, которое я не знаю – опять присел за учебники.
Если бы у меня был ментор или по русскому наставник, то конечно мои сроки обучения были бы в разы меньше, я бы учился по другому и может быть вообще всё было бы другое, только наставника не было. Я за свою трудовую деятельность выучил нескольких людей профессии, именно они теперь работают на заводах, до этого они и мечтать об этом не могли. И именно потому, что я знал, что нужно в первую очередь, а что может и не понадобится вообще никогда, их я учил быстро и очень эффективно.
Итак, я стал заново учить язык и учить ООП. Учебники выучил, знаний почти не добавилось – ну как-то слишком всё упрощено и выхолощено. Стал разбирать реальные примеры, правильно сделанных движков очень мало, это я потом понял.
Мучался долго, наконец начало получаться. И может хорошо, что сразу не получилось по советам с форумов – в движок влазить нельзя, для того ооп и существует. Доработал тему и погрузился в свою основную работу.
Ненадолго расслабился – а потом по работе мне понадобилось собрать материал для работы, это гигабайты информации и вручную собирать, так поседею раньше, чем соберу сотую часть. Залез в интернет и там узнал, что мне нужны парсеры. Знаний у поэтому вопросу никаких, но пишут, что на php это можно делать. Ну php я «немного» знаю, должен справиться. К тому моменту я уже понимал, что php я знаю вообще поверхностно, какой баран написал, что это очень простой язык? Ну приступил и сразу обломался.
Продолжу на следующей неделе.
Я всегда работал на крупных производствах, долго, успешно и не очень, с повышениями и переводами. Образование соответствующее и применить его можно на крупных масштабах, соответственно и работу нужно искать масштабную. Ну у нас в городе есть несколько крупнейших в мире производств, поэтому вопросов трудоустройства не возникает.
Потом случился ряд событий, и я поменял работу. Почти на такую же, только ответственности меньше – вроде как решил отдохнуть, сделать перерыв.
И вот сижу я вечером над чертежами оборудования, разгадываю замысел советских конструкторов и попутно перевожу части чертежей в 3d модели, тут же строю математические модели работы оборудования. И у меня навязчивая мысль - нашей фирме нужен сайт, портал, веб страница - что то такое нужно обязательно.
Немного объясню, зачем нужны модели – оборудование проектировалось довольно давно, чертежи чертились на кульманах, которые сейчас не выбрасывают только если нужно что-то закрепить на том же кульмане и перенести чертёж на компьютер. И у этих конструкторов в качестве расчётного устройства был калькулятор, конечно электрический, килограмма на полтора (трансформатор много весил), на четыре основных действия математики и ещё может корень вычислял. Для 60-х годов и это было как чудо. Иногда у конструкторов встречаю обычные счёты, не смейтесь, они в ходу у закалённых в боях – сейчас уже то ли окно подпирают, то ли страницы в журнале придавливают, но не выбрасывают. Выбросишь и больше никогда и нигде их не купишь, лучше на стену повесить. Так вот, сейчас скорость расчёта увеличилась многократно, можно просто проверить вес оборудования, прочность узлов, нагрузки и что нужно, то и проверяешь. Любые расчётные величины, без проблем. Вот потому и делал немного больше того, что требовалось по работе.
И понадобился мне для работы сайт – самый простой. Знаний у меня никаких, даже на уровне «на ютюбе видел». Ну простой, значит html в помощь. Открыл учебник html полдня просидел и закрыл – вообще ничего не понятно. Взял другой учебник – вроде сразу учат сайт делать. Дней несколько над ним пыхтел - сделал какое-то чудовище, локально отображается, даже чертёж в виде рисунка вывелся. Только больно страшный сайт.
На таком сайте работать нельзя – нашёл готовый портал, стали там работать. Работать стали, только это не то, что нужно – чужой сервис, чужие правила и ничего поделать нельзя. Нужен свой.
Стал учить как сделать сайт на популярно cms – я работал на основной работе и по вечерам, и в редкие выходные по видео с ютюб и с каких-то статей пытался что-то сделать. Учебников в общем то нет, если что-то есть, то это то объяснение каких узких мест, а у меня то вообще не было никаких знаний. Статьи очень разрозненные, никакой общей картины не складывается. Пробовал курсы – тоже не подходят, но это уже отдельное объяснение нужно, размером на страницу.
За довольно короткое время я выучил одну cms – натяжка с нуля до готового сайта. Попробовал на нескольких макетах – получилось. И попутно вёрстку осваивал – совсем немного, для необходимого минимума. Сделал макет, немного корявый, поскольку тогда фреймворками не пользовался, и стал натягивать на движок. Конечно заглядывал в статьи и тут у меня мысль – а почему это я в статьях выискиваю – а сделаю ка я себе шпаргалку, всё в одном месте. Я же умный, всё уже выучил, так что за пару часов справлюсь, и потом работа пойдёт быстрее. Ну это я так думал – фактически это заняло для основы 5 дней, потом ещё многократно дополнял. Получилось в первой версии больше 40 листов А4, потом до сотни дошёл, а сейчас многократно больше. И это просто справочная шпаргалка, краткий вариант, основы движка.
Сделал сайт – сильно похожий на стандартный, но всё же то, что мне нужно. Я был сильно доволен результатом. С помощью видео поставил на хостинг – тоже большой успех. И вот через пару месяцев понадобилось мне доработать сайт – да не проблема, вот десятки тысяч плагинов и модулей уже готовых, статьи и туториалы на любой вкус – ну так доносилось с каждого утюга.
И я радостно приступил к осваиванию к доработке сайта. И что – то пошло не так, опять делается то, что сделали разработчики модулей, а мне то нужно мелочь, но совсем другое. Сколько я перепробовал готовых решений – много, очень много и всё меня не устраивало. Надо осваивать язык программирования, движок написан на php, значит нужно учить его. А поскольку мне нужна самая малость по доработке, вывести немного, убрать лишнее, то много времени мне не понадобится. Ну так я думал – типы данных не нужно, всякие хитрые конструкции тоже не нужно, в движке же вроде они есть, ни паттерны, ни алгоритмы, ничего не нужно. И я приступил.
Если зайдёт, то продолжу.