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

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Всё что до секции
    <?php
    нее выполняется в PHP, а значит у вас нет переменной outArray, тем более вы не можете написать так:
    $work=(outArray);
    .

    Сверху у вас javascript который выполняется в браузере, снизу у вас PHP который выполняется на сервере (до того как страница доберётся до браузера). Дальше сами.
    Ответ написан
    Комментировать
  • Как правильно грузить данные на клиент?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Разделите на три части:
    • первый экран - critical css, critical js, critical data - всё необходимое что бы показать первый экран в браузере максимально быстро
    • основной контент - то что в любом случае понадобится для второго экрана и вспомогательных элементов
    • всё остальное - рекламные баннеры, графики, аналитика и прочее


    Более подробно посмотрите здесь:


    Так же можно добавить 4 часть - это то что возможно понадобится потому что это горячие данные (например новости, список активности друзей и так далее)
    Ответ написан
    Комментировать
  • Стоит ли так делать?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    len([]byte("string")) // <-- количество байт

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

    По этому размер "таблицы" или "базы данных" в каждом случае считается по своему.

    Из in-memory баз данных с гарантированным сохранением на диск сейчас активно пиарят Tarantool, там как раз все данные в памяти, но при записи они становятся доступными только когда произошла запись в лог на диск. Если есть достаточное количество оперативки то хороший выбор, на нём живёт множество сервисов "большого" русского интернета.

    Если оперативки мало (500 мегабайт например), то больше подойдёт классическая база данных с кешированием горячих данных.
    Ответ написан
    Комментировать
  • Как элегантно реализовать задания на сайте?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    https://play.golang.org/p/NJ-X38UrWC

    В дополнение к комментарию на другой ответ.
    package events
    
    import (
      "sync"
    )
    
    var events *Events
    
    type Events struct {
        sync.RWMutex
        list map[string]func(ps []string)
    }
    
    func NewEventsList() (list *Events) {
        list = new(Events)
        list.list = make(map[string]func(ps []string))
        return list
    }
    
    func init() {
      events = NewEventsList()
    }
    
    func Add(name string, callback func(ps []string)) {
        events.Add(name, callback)
    }
    
    func Call(name string, ps []string) bool {
        return events.Call(name, ps)
    }
    
    
    // Подписка на событие
    func (l *Events) Add(name string, callback func(ps []string)) {
        l.Lock()
        defer l.Unlock()
        l.list[name] = callback
    }
    
    // Вызов события
    func (l *Events) Call(name string, ps []string) bool {
        l.RLock()
        defer l.RUnlock()
        if f, ok := l.list[name]; ok {
            go f(ps)
            return true
        }
        return false
    }
    Ответ написан
    Комментировать
  • Как продавать ПО?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Если выдаёте ключ - значит лицензия на использование. Если делаете кастомизацию, настройку или установку - добавляете ещё и услугу.
    Ответ написан
    4 комментария
  • Как исправить объявление на Freelancim о поиске веб-разработчика - сейчас совсем нет откликов?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Вам стоило составить конкретное и точное описание ТЗ по задаче, что бы программист не ломал голову где начинается одно и заканчивается другое.

    Например. Заголовок "Python-Django - сделать авторизацию и сервис вопросов, постоянное сотрудничество"

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

    Задача: Сделать шаблонный сайт на django:
    - авторизация
    - регистрация
    - логаут
    - восстановление пароля
    - смена пароля

    - функционал "вопросов и ответов"
    -- создание вопроса - ввод само текста вопроса, плюс от 2 до 5 вариантов ответа
    -- сохранение, просмотр, редактирование и удаление вопроса
    -- отправка вопроса в мобильное приложение в требуемом формате

    Для оперативной работы напишите по скайпу: {ваш скайп}
    Ответ написан
    2 комментария
  • Что делать когда только начинаешь изучать веб но уже нужна работа?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Делаете что умеете - если компания из тех где принято выращивать своих сотрудников то будут смотреть на то как шёл ход мыслей и чему человек научился пока делал задание. Если же компания крупная и не заинтересована возиться с новыми сотрудниками то такие задачи отшивают не подходящих сотрудников.

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

    Так же при найме на работу учитывается возраст, точнее его соотношение с тем что знает кандидат. Если человеку лет 35-40-45 и позиция "начинающий js/html" то вероятность получить отказ очень высокая - способ этого избежать - спозиционировать себя как специалиста который что-то конкретное может и тем самым невилировать фейл с возрастом, ну и не претендовать на очень начальные позиции.
    Ответ написан
    Комментировать
  • Какое идеально оно - ТЗ для веб-дизайнера, веб-верстальщика, программиста?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Вам бы определиться с тем что вы хотите, а там уже и форма появится. К примеру очень удобно когда от ТЗ сущий формализм и определение тех мест где можно или нельзя проявлять творчество.

    К примеру, сделать:
    1. эту штуку
    2. эту штуку
    3. вот эту штуку
    4. а вот тут не понятно - предложить варианты
    5. а вот наш макет, на нём подчеркнуто это и вот это


    Впрочем, это скорее похоже на бриф когда обсуждаются дитали. В конечном счёте должно получиться:
    • вы точно понимаете что и как делать (если вы исполнитель)
    • вы точно понимаете что и как вам сделают и по каким пунктам проверять, сделают-то по любому не то что вы "видите в голове", но пройдя по формализованному списку вы сможете принять работу и составить новый, улучшающий продукт


    В остальном можно указать (а точнее договориться заранее)
    • какой этап сколько стоит
    • как передаются материалы
    • как происходит оплата, последовательность этапов


    Пример этапов:
    1. демонстрация на стороне исполнителя (на его сервере)
    2. оплата (способы которые устраивают обе стороны, причём заказчик по факту сможет выбрать вариант уже в момент оплаты)
    3. отправка результата заказчику (как, куда, входит ли в стоимость установка, развёртывание чего-либо)
    4. поддержка (как, сколько, когда, при каких обстоятельствах, платно или бесплатно и прочее в таком духе)
    Ответ написан
    Комментировать
  • С чего начать программирование?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Запишись на курсы в школе, там будет Borland/Turbo Pascal и много аглоритмов... ну или Си/Си++ и опять таки много алгоритмических задачек. Но если хочешь быть странным и продвинутым школьником - начни с golang.org и изучения английского.
    Ответ написан
  • Наше доменное имя и сайт 18+ тематики, как поступить?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Отличный повод для PR. Слоганы такие "Мы не порно-сайт, но сайты делаем не менее интересными:)". Вообще от вас зависит что вам удобно или нравится. Проведите анкетирование у клиентов - предложите им пять-шесть других доменов и названий. С другой стороны - всё равно у кого там какой домен похожий на ваш - если ваш товар или услуга того стоит то ничто не помешает.
    Ответ написан
    Комментировать
  • Как организовать развертывание(deploy) проекта?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Вариантов множество.

    1. делайте настройку для каждой группы использования (production, testing, dev, ...) и просто в коде определяйте какой блок настроек использовать в зависимости от окружения.

    Не всегда целесообразно раскрывать данные (о паролях, логинах и прочих настройках которые используются в production) тем кто работает с кодом в других окружениях (dev, testing, ...) По этому:

    2. хранить настройки для production и testing отдельно (можно во втором репозитарии) и при деплое загружать данные от туда.

    3. вынести настройки за пределы проекта, в результате настройки остаются, а проект обновляется. Обновление настроек на каждой среде - отдельная задача. При автоматизации развёртывания нужен комплект настроек под каждую среду, в идеале сам код проекта ничего об этом знать не должен и должен корректно стартовать с любыми входящими конфигами.
    Ответ написан
  • Что за язык Go, и где его можно хостить?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Хостить можно где угодно. Но чисто шаринг-хостинги полноценно не подойдут.
    1. на шаринг-хостингах почти никогда нельзя открыть порт для входящих соединений (веб-сервер на Golang уже не запустишь, точнее работать-то он будет, но порт не откроет)
    2. на шаринг-хостингах часто нельзя вызывать fork(), тобишь создавать процессы, что бы Golang самопроизвольно не падал - нужно в коде сознательно запретить вызов fork(), посмотрте описание библиотеки runtime
    3. на шаринг-хостингах Golang можно запустить как и любой другой бинарник, достаточно иметь доступ по консоли, возможность что-то запустить через cron или разрешённый вызов exec и его аналоги в PHP

    С другой стороны, стоимость отличного VPS с SSD на 22 гигабайта, полноценным ядром процессора и 512 мегабайтами оперативки стоит в DigitalOcean 5$...

    В качестве первого языка стоит посмотреть на школьную программу:
    1. Turbo/Borland Pascal
    2. Си/Си++
    3. Лого Миры
    4. Delphi
    5. Ничто не мешает в этот перечень добавить Golang, он отлично вписывается, ведь главные составляющие там есть.
    Плюс обучение программированию - это ещё и алгоритмы и подходы, а никак не фреймворки и hello world странички в интернете... Так что Yii, Drupal и прочие радости PHP мира тут явно не в тему.
    Ответ написан
    Комментировать