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

    kumaxim
    @kumaxim
    Web-программист
    У меня в одной из заметок есть следующая форлума "функционал = количество часов = количество денег". . Она означает, что конкретный функционал, например, интеграция сайта с facebook я делаю условно за 1,5 часа для стандартной CMS. Час моего времени стоит 600 рублей, значит, я эту задачу я должен взять с клиента 900 рублей = 600 руб/час * 1,5 часа.

    Расписывай максимально детально свой функционал, т.е. что ты делаешь. В любом случае есть какие-то общие детали, которые ты делаешь из проекта в проект. Выведи за них время на основе своего опыта, добавь в свой личный список. Потом, когда клиент тебе говорит мне нужно один, два, три - достаешь свой перечень и говоришь на его основе сумму. Можешь добавить к итоговому ценнику коэфиценты. У меня, например, их два: копание в самописном движке + 40% и оплата сразу 100% суммы контракта -10%. Можешь для себя также сделать за сумму договора, за лояльность к клиенту, за то, что он привел друга к тебе... Это ограничивается только твоей фантазией.

    Про договор ТЗ и растягивание сроков.
    Все чего нет в ТЗ делается за дополнительную сумму. Если ты неправильно понял ТЗ - это твоя проблема, надо было уточнить, дописать формулировку в договор/приложение. Хочет человек что-то сверху оговоренного ранее - нет проблем, за доп.плату сделаем. Подписал человек акт - работа закончена, возобновление только по новому контракту.

    Бесплатные правки и мелкие моменты...
    В свою ставку я кладу 10% на вот такие мелкие доработи по ходу или в конце. Получается, что если общий договор у меня на сумму в 10 часов, то где-то час я могу потратить на все эти "Мне синий не нравится, давайте сделаем зеленый" или "Поменяйте эти два блока местами, а то смотриться как-то плохо" и т.п. Если все это дело выходит за 1 час, причем выходит уже сильно, тогда очень прозрачно намекаешь человеку что либо пускай останавливается, либо платит сверху.
    Ответ написан
    Комментировать
  • Как в browsersync перезагрузить только изменённую часть кода, а не рефрешить всю страницу?

    kumaxim
    @kumaxim
    Web-программист
    Если изменяйте html, особенно если он внутри php-файлов - тогда никак, только обновление всей страницы. Если изменен какой-нибудь css/js и нужно обновить изменения, тогда добавьте browserSync.stream(). Мой пример сборки bootstrap-sass в gulp
    gulp.task('bootstrap-sass', function() {
    	return sass(src.bootstrap.source, {
    			style: 'compressed'
    		})
    	    .on('error', sass.logError)
    	    .pipe(rename(src.bootstrap.dest.name))
    	    .pipe(notify('File ' + src.bootstrap.dest.folder + '/' + src.bootstrap.dest.name + ' was compiled'))
    	    .pipe(gulp.dest(src.bootstrap.dest.folder))
    	    .pipe(browserSync.stream())
    });
    Ответ написан
    2 комментария
  • Оптимизация скорости wordpress?

    kumaxim
    @kumaxim
    Web-программист
    Много запросов к БД за 1 цикл и/или тяжелая не стандартная бизнес-логика в каких-то плагинах. Ничего не зная о сайте сложно что-то более сказать.
    Из стандартны решений могу порекомендовать два, которые в большенстве случаев помогают:
    1. Ставь любой плагин кэширования. Мне лично нравится super cache
    2. Выноси всю статитку на CDN. Через JetPack на Phantom это, помоему сделать легче всего(могу заблуждаться)
    Ответ написан
  • Как сделать модуль "создать страницу" по типу cms?

    kumaxim
    @kumaxim
    Web-программист
    В Wordppress то что Вам нужно называется "Custom post type". Далее добавляйте к своей странице парочку "meta box", в которых создаете поля, требующиеся в Вашем шаблоне.
    Собственно все.
    Ответ написан
  • Что подразумевается под "знанием особенностей высоконагруженных проектов"?

    kumaxim
    @kumaxim
    Web-программист
    Лично я бы переформулировал "опыт и знание особенностей высоконагруженных проектов" в "Умение пользоваться Blackfire Profiler".
    В подавляющем большинстве "типа высоконагруженных" проектах просто нужно сесть и отрефакторить узкие места, например:
    1. 11 вложенных друг в друга циклов
    2. Ассоциативный массив на 27 уровней вложенности
    3. Привести наконец-таки БД в 3-ю нормальную форму
    4. Не хранить огромную тучу настроек в БД как json-строку и т.п.


    Сейчас, конечно, мне могут сказать, что под высоконагруженные сервисы нужно проектировать отдельную архитектуру приложения, настраивать репликацию БД, ставить два и более сервера приложений и балансировать нагрузку на них через DNS и т.п. Я соглашусь с Вами, что это реально и есть highload, однако, в подавляющем большинстве проектов, с которыми работал, настоящими высокими нагрузками и не пахнет... Просто какой-нибудь junior, студент 3-го курса не столичного ВУЗа в силу отсутствия опыта и диких криков проджект-менеджера о просроченном дедлайне писал код с опухшей головой в 3 часа ночи под 4-й банкой энергетика...
    Ответ написан
  • Возможно ли хостить ASP.NET WebAPI приложение на Linux?

    kumaxim
    @kumaxim
    Web-программист
    Для начала - возможно все!
    Другой вопрос на сколько это будет эфективно.

    ASP.NET технология Майкрософт и лучше использовать весь комплект Майкрософт для ее поддержания: Win Server + IIS + NET и т.п. Давно я работал с их стеком...

    По сабжу - можно, но это изврат, имхо. Если очень сильно хочется - гугли по слову Mono - это порт NET Framework на Linux.
    Ответ написан
    Комментировать
  • Кто может помочь с подключением сторонних шрифтов?

    kumaxim
    @kumaxim
    Web-программист
    Вот здесь и далее ошибка
    src: url("ProximaNovaRegular/ProximaNovaRegular.eot");

    Браузер не может твой шрифт найти, потому что ты указал ему неверный путь. Переходя к вопросу как нужно.
    Если папка ProximaNovaRegular в корне сайта
    src: url("/ProximaNovaRegular/ProximaNovaRegular.eot");

    Если путь от текущей папки(например folder - папка твоего шаблона, и в ней папка ProximaNovaRegular где у тебя лежит шрифт. CSS с твоей инструкцией лежит в folder)
    src: url("./ProximaNovaRegular/ProximaNovaRegular.eot");

    Если твой CSS лежит в папке css, а папка ProximaNovaRegular находится уровнем выше
    src: url("../ProximaNovaRegular/ProximaNovaRegular.eot");


    Вообщем, твоя проблема, скорей всего, в пути к файлу шрифта.

    Если вдруг ты на 100% уверен что путь верный и шрифт там есть, тогда смотри не режет ли твой веб-сервер доступ к папке с этим шрифтом. Другими словами, можешь ли ты через браузер скачать файл шрифта по ссылке domen.com/ProximaNovaRegular/ProximaNovaRegular.eot Если упираешься в ошибку(403, 500, 502 и т.п.) - значит нужно разрешать через .htaccess доступ именно на директорию шрифтов.
    Ответ написан
    Комментировать
  • Где описаны стандарты безопасности в веб-приложениях?

    kumaxim
    @kumaxim
    Web-программист
    Первое - смотрите нормативные документы ЦБ. Прямо открывайте сайт cbr.ru(что нашел за 5 минут поиска).
    Далее, многострадальный 152-ФЗ "О персональных данных"
    Также не забываем про РД СВТ и РД АС(если писать код будите)

    PСI DSS - стандарт платежных систем Visa/MasterCard. Если у Вас банк с карточками не работает(например Вы только с расчетными счетами юр.лиц работаете), то он Вам не нужен.
    Ответ написан
    Комментировать
  • Стоит ли начинать учить Angular 1.x или дождаться 2.x и не забивать себе голову?

    kumaxim
    @kumaxim
    Web-программист
    Версия 2.х в любом случае будет базироваться на версии 1.х, поэтому ничего не вижу в том, чтобы начать учить пока то что есть.
    Ответ написан
    Комментировать
  • Подскажете стоящую книгу по пополной разработке web проекта?

    kumaxim
    @kumaxim
    Web-программист
    Может быть немного поздно, но все же... Почитайте Getting real от 37signals
    Ответ написан
    Комментировать
  • Ребята, вопрос к умеющим, как лучше: сначало изучать теорию потом кодить когда она прочно закрепится в голове либо сразу начать кодить?(Html/css/js)?

    kumaxim
    @kumaxim
    Web-программист
    Любой язык, любой фреймворк, любую технологию лично я изучаю так:
    1)Ставится задача
    2)Под задачу находятся готовые решения
    3)Гуглятся проблемы и непонятные мне места
    4)Что-то пишется, возможно пятое колесо, возможно очередной велосипед, но это работает
    5)Написал п.4, осмыслил. Погуглил на тему похожих решений. На этом шаге в голове уже появляются правильные слова(термины, название библиотек) для гугла
    6)Либо нашел свой идеал в чем-то готовом, либо написал "совершенный" код(на текущий момент)

    Шаги 1-6 повторяются бесконечно. Алгоритм выше я активно использовал, когда после PHP учил Ruby.
    Ответ написан
    3 комментария
  • Какой язык/фреймворк выбрать для web-интерфейса сервера?

    kumaxim
    @kumaxim
    Web-программист
    Если хочешь по хардкору, тогда С++
    Ответ написан
    Комментировать
  • Self hosted web-archive?

    kumaxim
    @kumaxim
    Web-программист
    Сделать подобие своего GitHub.
    Ответ написан
    Комментировать
  • Как организовать безопасную связь между своими серверами?

    kumaxim
    @kumaxim
    Web-программист
    Как уже выше рекомендовали, одно из возможных решений - организовать VPN меж серверами и Вашей админской машиной. Ключевое слово для гугла OpenVPN, далее голова + руки Вам в помощь.

    Как второй вариант, если тематика "темная", то скорей всего требует повышенной защиты от Вашей деанонимизации. Здесь присмотритесь к сети Tor и его луковичной маршрутизации. Технически - поднимайте relay-ноду(это слово для гугла) на Ваших серверах и будет Вам счастье. Здесь только одна загвоздка - Ваш ресурс будет виден только в onion-пространстве.

    Насчет портов - да вообще-то веб-сервер и OpenVPN можно посадить на любые порты. Детали не подскажу, но к примеру apache со стандартного 80 порта почти все хостинг-провайдеры выносят на 8080, а на сам 80 ставят nginx. Для остальных приложений аналогичное проблемой не должно быть.
    Ответ написан
  • Программа или облачный сервис для ведения финансов веб студии?

    kumaxim
    @kumaxim
    Web-программист
    Вам нужна либо Контур.Эльба, либо Бухгалтерия.Контур.

    Первая для Вас, если Вы в бух.учете не в зуб ногой. Вторая - если разбирайтесь на среднем уровне. Вообще бух.учет вещь полезная, стоит выучить, если Вы собирайтесь серьезно заниматься бизнесом.

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

    kumaxim
    @kumaxim
    Web-программист
    Как сказал Артемий Малков смена DNS серверов занимает до 72 часов.
    Цифры из личного опыта: зона .ru - 6 часов, зоны gTLD(.com, .org, .net и т.д.) - 24 часа. Это цифры для РФ. Так что, если Вы сейчас сменили NS-севера в панели у регистратора, ложитесь спать(у меня 0:30 ночи), на утро все будет в порядке.
    Ответ написан
    2 комментария
  • Какие технологии стоит освоить?

    kumaxim
    @kumaxim
    Web-программист
    Если будешь копать именно в веб - начни освоение с Ruby и его замечательного фреймворка Ruby on Rails.

    PHP с Yii можешь взять, здесь порог вхождения ниже, но если ты берешь это первым ЯП, то с большой вероятностью ты станешь очередным говнокодером. Rails тебе этого сделать просто не позволит.

    В универе учат всех писать на C# & ASP.NET, но лично я из этой технологии ушел, т.к. фреймворк проприетаренный и на Linux в то время работал крайне плохо.

    Если бэк-энд технологии не потянешь, тогда или в сторону фронт-энд.
    Языка CSS, HTML, JavaScript. Фреймоворки Angular(javascript) и Bootstrap(css)
    Ответ написан
    3 комментария
  • Информационная безопасность или чему учат в ВУЗах?

    kumaxim
    @kumaxim
    Web-программист
    Алгоритм примерно такой:
    1.Первым делом тебе нужна компания. Найди через знакомых человека, который тебе может подписать акт внедрения. На край мне стукни на почту,
    2.Далее делаешь какую-нибудь маленькую CRM-ку.
    Например есть магазин, часть клиентов вносят предоплату, и организация за это дает им скидку в 10-20% от розничной цены. С такими клиентами заключается договор, подписываются накладные и т.д. Поскольку в договоре содержатся персональные данные, в соответствии со 152-ФЗ их нужно защищать
    3.Открываешь РД "Средства вычислительной техники", читаешь, и подгоняешь эту CRM-ку под 5-й класс защиты, выше тебе не нужно
    4.По тексту своей работы ты пишешь, что мол я разработал систему защищенного обмена информацией на основе (... думай дальше сам чего....)
    5.Итогом ты будешь иметь клиент-серверное приложение(СУБД в облаке, окошки на ПК) на C#/Java, данные между клиентом и сервером шифруются, вход осуществляется с использованием токена.

    После защиты, как происходит в 90% случаев, свою работу ты выбросишь и получишь бумажку под названием "ДИПЛОМ", причем сейчас в дипломе даже не пишут что ты получил высшие образование, просто ДИПЛОМ... И вот, получив его ты становишься безработным.... Профит :-)

    P.S.: пособие по безработице для выпускников ВУЗов составляет 850 рублей...
    Ответ написан
    Комментировать
  • Пишу online web игру, хочу одновременно ее монетизировать и сделать open source, возможно ли такое?

    kumaxim
    @kumaxim
    Web-программист
    Open Source проекты не монитизируются, однако, монетизируется время его разработчика.

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

    Про профит в репутации и нивелировании проблем с поиском работы я молчу.
    Ответ написан
  • Как внедрить ms excel на сайт?

    kumaxim
    @kumaxim
    Web-программист
    А таблицами в Google Docs не легче воспользоваться?

    UPD
    Есть на GitHab репозиторий PHPOffice, где собраны библиотеки для работы с документами MS Office. Сам лично зал от туда PHPWord, мою задачу она решала(собирать из формы данные в документ). Попробуй использовать оттуда же PHPExel
    Ответ написан
    1 комментарий