Ответы пользователя по тегу Веб-разработка
  • Какие есть системы учета данных (клиентов, заказов, выполненных работ)?

    Stac
    @Stac
    Я когда-то выбрал и купил https://codecanyon.net/item/freelance-project-invo...

    Но пользоваться так и не стал. Хотя по описанию он очень подходил под работу с клиентскими веб-проектами на фрилансе.

    Сейчас смотрю на вот это https://kanboard.net/ self-hosted, open source. (Есть форк с модным лендингом www.wheatbin.com )
    Ответ написан
    Комментировать
  • Как создать сервис временных почт?

    Stac
    @Stac
    Как происходит отправка письма:
    - отправитель делает запрос в DNS на предмет mx записи для домена - определяется сервер, который примет почту для адреса на заданном домене.
    - отправитель соединяется с найденным сервером по SMTP и передает письмо.

    все.

    Тут нигде нет почтовых ящиков в этом процессе. Обычный сервер при приеме почты проверит наличие у себя адреса и не примет письмо, если адресат не существует.

    Вам же не надо ничего проверять - принимайте все письма.

    Курите SMTP, пишите свой сервер или настройте один из существующих.
    Ответ написан
    Комментировать
  • Как правильно технически организовать веб-разработку?

    Stac
    @Stac
    Лучше задайте свои вопросы своим же разработчикам - чем и как они пользуются и что им будет интересно посмотреть и изучить.

    Пока у вас нет своих сложившихся best practices "написанных кровью", стоит ориентироваться на вкусы и предпочтения своих людей и себя лично. Вы же не хотите внедрить что-то, чем потом никто не будет пользоваться? Что будет снижать производительность труда и качество продукта?

    С другой стороны и у клиентов могут быть свои представления о процессе разработки. Теоретически вы можете давить и заставлять разработчиков следовать процессам и процедурам. С клиентами такое обычно не проходит.
    Придется быть гибким.

    Я бы не советовал вам использовать ничего из того, что вы лично не знаете и использование чего не можете четко и ясно обосновать.
    Ответ написан
    Комментировать
  • Как сделать сборку комплектации кухни на сайте?

    Stac
    @Stac
    Вот тут есть готовый конструктор кухонь.
    Мы планировали его использовать в одном проекте. Проект не состоялся, поэтому о реальном опыте работы с конструктором не расскажу.
    Ответ написан
    2 комментария
  • Что бы вы посоветовали будущему фрилансеру?

    Stac
    @Stac
    16 лет это рано для того, что фокусироваться на фрилансе. Личность не конца сформирована, в этом возрасте очень важно поддерживать формальные деловые связи с другими людьми (т.е. просто друзей недостаточно).

    1) Учиться-учиться-учиться, читать книги, поступить в университет (не обязательно заканчивать, 3 года должно хватить, но лучше закончить) ==> грамотная речь, в т.ч. письменная и навыки коммуникации, в т.ч. бизнес-коммуникации => навыки продаж (фриланс это всегда продажи себя как лучшего исполнителя).
    2) Пойти работать по найму (не в ИТ; работа не должна мешать учебе) => навыки бизнес коммунникации, понимание проблем бизнеса на своей шкуре (фриланс это всегда решение чьих-то чужих бизнес задач)
    3) Пробовать в свободное время делать проекты для себя, друзей, знакомых (бесплатно, но за долю с дохода от проекта) => понимание, что для вас ценно (работа или деньги), понимание ответственности, понимание бесперспективных проектов и бесполезной работы (чтобы потом этого избегать).

    Потом уже можно уйти с работы и заниматься полностью фрилансом: первые заказы будут идти от коллег, знакомых и их знакомых.

    Я фрилансю 6 лет (с 29), не работая по найму. Т.е. опыт есть, как положительный, так и отрицательный.
    Ответ написан
    Комментировать
  • Какой набор инструментов выбрать для реализации веб-проекта?

    Stac
    @Stac
    PHP, SQLITE

    Для озвученной задачи никакие фреймворки и сервера (кроме вебсервера) не являются необходимыми.
    Сответственно, если их не знаете, то и морочиться не стоит.

    Однако, посмотрите ASP.NET MVC, учитывая ваше знание C# может пригодиться.

    Если цель получить решение, а не реализовать его лично, то обращайтесь.. как раз недавно делал простой чатик "для себя".
    Ответ написан
    Комментировать
  • Какие книги по правильной организации удаленной работы можно почитать?

    Stac
    @Stac
    Для полноты картины (сам не читал):
    Ответ написан
    Комментировать
  • В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

    Stac
    @Stac
    Присоединюсь к aimp-programming.

    PHP класный язык, чтобы копаться в Wordpress и делать всякие плюшки и полезности для Клиентов с фриланса.
    PHP хорошо подходит для прототипирования и прочих задач, которые нужно сделать быстро.

    Есть странные ребята, которые пытатся притащить в PHP всякое из других языков, так в нем появился и развиввается ООП.

    Но вам-то это зачем, если знаете C#?
    1) Изучайте ASP.NET MVC - там все четко, строго и объектно-ориентирвоанно.
    2) Прокачивайте свои навыки бизнес-коммуникаций (деловое пиьмо, публичные выступления, презентации) - и сможете продавать свои знания и навыки Клиентам, большинству из которых плевать на стек и входящие в него технологии, есть лишь бизнес задача, которую надо решить.
    3) Если захочется именно в PHP развиваться - напишите свой фреймворк, CMS на нем и продайте несколько проектов. После этого появится какое-то понимание дальнейших действий.

    p.s. Пример: я недавно делал генератор XLS прайс-листа для сайта на Джумле. Никого особо не смутило, что Джумлу я не знаю, ни как пользователь, ни как разработчик (хотя, я, конечно, предупредил об этом). Главное - решение бизнес-задачи.
    Ответ написан
    1 комментарий
  • Как вникнуть в тонкости back end разработки?

    Stac
    @Stac
    Серверные скрипты в своем простейшем случае (PHP, Perl, CGI-скрипты на любых других языках) весьма похожи на неинтерактивные консольные программы (утилиты командной строки).

    Они принимают данные на вход через заголовки и тело HTTP-запроса, что-то быстро делают и выводят результат [в браузер].

    PHP или CGI-скрипт вызывается вебсервером (программой) в процессе отбработки входящего запроса (request) . Он же получает результат работы скрипта и фактичеки возвращает браузеру в ответном HTTP-запросе (response).

    HTTP-запросы это чистый текст с минимальной структурой, с которой имеет смысл ознакомиться.

    В некоторых технологических стеках сама прикладная программа и является вебсервером (например, node.js и Ruby On Rails - впрочем, не влададею эти технологиями, могу ошибаться).
    Но даже в этом случае прикладной программист не работает пакетами и битами (может, если захочет, но на практике это не нужно).

    Прикладная среда выполнения (вебсервер или фреймфорк), приняв запрос, дает программисту доступ к его элементам через глобальные переменные или объекты, в зависимости от того, как принято в конкретном языке программирования.
    Для PHP это глобальные переменные (ассоциативные массивы) $_SERVER, $_REQUEST и др. В первой можно найти некоторые HTTP-заголовки, кое-какие данные о сервере и удаленном клиенте (IP адрес, например). Во второй собраны все входные данные, переданные через URL (site.ru/page.php?key=value&key2=value2), в теле POST запроса, через куки (фактически HTTP-заголовки специального формата) и переменные окружения [операционной системы].

    Различные фреймворки могут иметь классы и объекты с именами типа Request.

    Для хранения данных на компьютере используются ... та-дам... файлы. Их можно писать и читать, и работает это достаточно быстро (файловая система сама обеспечивает буферизацию и кэширование).

    Если данных очень много и их не просто надо читать, но для начала найти какие-то фрагменты (конкретные строки таблицы, поля объекта) по каким-то критериям, а потом, возможно, как-то обработать, то можно использовать СУБД.

    СУБД бывают встроенные и клиент-серврные.
    Пример встроенной это SQLITE, которая встроена в PHP как модуль расширения. Она также используется в iOS, Android, браузерах Firefox, Chrome и многих-многих других программах.

    Клиент-серверные чаще всего это MySQL (даже чаще чем надо), PostreSQL, MS SQL Server, Mongo DB, есть куча других.

    Серверная часть такой СУБД работает как отдельный сервер (программа), возможно на отдельном сервере (компьютере). Клиентская часть это модуль в среде исполнения (расшириние PHP, библиотека функций) или может условно отсутствовать, если СУБД имеет HTTP API. В этом случае клиентскую часть пишет прикладной программист на своем языке.

    Случай с выделением хранилища данных на отдельный компьютер с возможным последующим масштабированием серверов или клиентов (один сервер - много клиентов, много серверов - один клиент, много серверов - много клиентов) это второй случай, когда реально стоит использовать БД (первый, напомню - необходимость хитрой выборки и обработки хранимых данных).

    В PHP-практике, наоборот, самый популярный сценарий это "один сервер - один клиент" и на одном компьютере. Так сложилось исторически.
    Так работают самые популярные CMS, так пишутся книги, проводятся курсы.

    Все операции на сервере происходят по необходимости, мы открываем соединение с БД по необходимости, принимаем запрос по необходимости, говорим что переменая имеет тип int unsigned исходя из необходимости.


    Нет какой-то абстрактной необходимости. Первопричина всего (на прикладном уровне) - входящий запрос. Вебсервер ожидает постоянно входящие запросы (слушает TCP-порт).
    Вот запрос пришел. Сервер согласно своим настройкам определяет, может ли он сам его обработать (например, "отдать статику") или он должен передать запрос другому обработчику по цепочке. Таким обработчиком может быть, например, PHP.
    Вебсервер запускает интерпретатор PHP и передает запрос ему.
    PHP определяет (в общем, по ссылке, которая есть в параметрах запроса), какой PHP-скрипт надо выполнить, ищет его и выполняет. Результат работы скрипта - HTTP-response (фактичеки это plain text, содержащий служебные заголовки, в т.ч. куки и тело с HTML / XML / JSON, etc. ) - отдается обратно вебсерверу, он возвращает его туда, откуда пришел запрос (на IP адрес и порт), часто в браузер.

    В других технологических стеках алгоритм обработки HTTP-запроса может отличаться от описанного. Как правило, чем больше он отличается, тем лучше этот стек, чем PHP (в смысле производительности).

    Мы, прикладные программисты, не опускаемся ниже HTTP-протокола. А используя фреймворки, даже HTTP можем не касаться, хотя знать и понимать его надо.
    Т.е. до всех этих TCP-портов и настроек сервера нам, как праивило, дела нет (пока все работает).
    Первое - удел скорее системных программистов, второе - сисадминов или модных ныне девопсов.

    Что почитать, чтобы лучше понять операции на бэке, которые не поймешь сразу ...


    Еща раз-два прочтите мой ответ. Если не помогло - возьмите любую книжку по PHP. В начале должно быть описано взаимодействие браузера и вебсервера. Потом и про язык можно чуть-чуть почичать.

    Сейчас PHP все еще самый простой путь в back-end разработку. А раз вы упоминаете про int unsigned, то вам будет привычен и его Си-подобный синтаксис. Типа данных такого, однако, в PHP нет.
    Ответ написан
    2 комментария
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    Stac
    @Stac
    Самое смешное, что знания чистого PHP вам скорее всего хватит, учитывая ваше знание JS.

    Нужно принимать запросы, читать данные из файлов или БД, писать туда же и отдавать HTML (или более интересный для вас JSON) в браузер.

    Дополнительно можете посмотреть т.н. микрофреймворки (slim,...) и что-то для работы с БД (redbean, notorm), хотя в PHP есть встроенный PDO, которого хватит для работы с mySQL и SQLITE.

    Имейте в виду, что SQL хотя и стандартизирован, реально отличается от СУБД к СУБД.

    И вообще, мало кто вам скажет, что чем меньше технологий используется в проекте, тем лучше.
    Ответ написан
  • Как начать уважать свой труд?

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

    Поэтому Клиенту говорите не сумму в рублях, трудозатраты в часах.
    Часовая ставка должна быть Клиенту обозначена заранее, и он должен с ней согласиться (это почти всегда будет значить, что его собственная часовая ставка больше).

    Видя цифру в часах проще проникнуться уважением к труду, т.к. очевидно, что это был именно труд, а не "плевое дело", "работа да 10 мин для профи".

    Пусть Клиент сам перемножат трудозатраты на часоввую ставку. Некоторым можно и помочь - написать, например: "Трудозатраты: 6 часов (6,6 тыс.руб.)."

    Считайте время это главное.
    Ответ написан
    Комментировать
  • Стоит ли сегодня переплачивать за сайт на ruby? Или сэкономить на php?

    Stac
    @Stac
    Осторожно! Не традиционный взгляд на вопрос.

    Любой сайт работает по схеме "HTTP-запрос - HTTP-ответ".
    Какая технология будет отвечать на запросы в целом не очень важно, а если для конкретных запросов это станет важно, ее можно заменить.

    Нужно продумать, как будет работать приложение с т.з. бизнеса и с т.з пользователя.
    Получите, условно, кучу запросов (url'ов с параметрами) и ответов (экранов, страниц), сгруппированных по функциям или как-то еще.

    Затем ищите ответственных людей и даете им на проработку и реализацию те или иные части проекта.

    Они сами выберут подходящую технологию. Вам зачем об этом думать?
    Оценивайте все с позиций денег, времени и качества.

    Что-то может обсчитывать Руби, другой функционал может быть сделан на PHP, потому что его можно сделать за 2 дня. Что-то вообще будет отдаваться как статика.

    Главное - это хороший проект (персонажи, сценарии, экраны, ТЗ) и люди на участках, будь это один человек или десять.
    Ответ написан
    Комментировать
  • Варианты реализации прочитанные/новые комментарии?

    Stac
    @Stac
    О, тут специально для вас написали топик про Last-Modified .

    У каждого комментария же есть timestamp. Браузер при запросе шлет заголовок If-Modified-Since.

    Если смена компов пользователями это реальный сценарий, который хотите реализовать, есть половинчатое решение — возле комментариев ставить ссылку типа «это уже читал», коорая будет помечать прочитанными этот и все более ранние коменты. Т.о. пользователь восстановит свою историю чтения за один клик.

    Правда, это не очень общепринятый метод, поэтому пользователей придется обучать.
    Ответ написан
    Комментировать
  • Нужно ли писать "здравствуйте" на сайте?

    Stac
    @Stac
    У каждой страницы на сайте есть своя цель. Как правило она заключается в ответе на какой-то вопрос посетителя или помогает ему решить какую-то проблему.

    И все содержание страницы направлено на достижение ее цели.

    Если приветствие служит достижению цели страницы — оно должно присутствовать.

    Но я, вот, не могу представить такой ситуации, разве что вы делаете сайт приветствий :)

    Скажем «До свидания!» сайтам говорящим «Здравствуйте»!
    Ответ написан
    Комментировать