• Как узнать реальные цены на создание сайта?

    viktorvsk
    @viktorvsk
    А если заказчик пока сам ни в зуб ногой чего там будет в итоге, но цену хочет знать сейчас?

    Не перестает умилять :)

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

    Совет, которому явно не последует 99% заказчиков: если сами не располагаете большим опытом в управлении веб-проектами, но хотите сделать серьезный продукт (ориентировочно, планируете потратить на все-про-все не менее 5000 $, например), то самый дешевый способ это:
    1) Очень четко уяснить идею. Прописать в уме и на бумаге всевозможные сценарии. Придумать "персонажей" и юзерстори. Поделиться с друзьями и найти первую сотню изъянов, недочетов и не соответствий в задумке.
    2) После того, как идея более-менее оформлена и вы смогли донести ее суть до нескольких человек, нужно попробовать составить "блочное" тз (например, пользователи могут регистрироваться. через соцсети. только контакт и ФБ. Пользователи могут приглашать других пользователей. Пользователь может загрузить 10 картинок. Следующие - платно". Такое ТЗ тоже можно попробовать составить самому и с друзьями.
    3) После этого нужно найти человека, у которого есть более-менее нормальный опыт в разработке или управлении подобных систем и заплатить ему, например, четверть бюджета, что вы хотели вложить изначально, когда искали отклики подешевле на фрилансе, что бы он помог вам грамотно составить функциональное ТЗ.
    4) После этого с функциональным ТЗ нужно определиться со стеком технологий. Тут можно найти разных исполнителей и попросить их аргументировать, какие технологии лучше использовать и почему.
    5) Опросить этих исполнителей о примерном времени, которое может потребоваться на реализацию каждого блока (не функции). Посмотреть, есть ли серьезные различия в оценке в разных командах и стеках.
    6) Самое сложное - из тех, кто дал самые адекватные оценки (скорей всего, совершенно не самые минимальные), выбрать тех, к кому просто больше доверия.
    7) То время в часах, которое они укажут умножить на 2 и ориентироваться на эту сумму (про себя). Так же быть готовым к х3-х5 сумме.
    8) Задачу лучше всего разбить на мелкие независимые этапы, что бы лучше понимать, укладываются ли исполнители в сроки и что б всегда безболезненно для обоих сторон можно было прекратить работу.

    Иначе (если взять тех, кто обещает быстрее, дешевле и готов работать за заранее оговоренную сумму, а не time + materials) будет очередная Сиднейская опера

    Конечно, если бюджет на приложение 500 долларов на приложение, то единственный вариант - найти леприкона с горшком на фрилансе, отдать ему сразу все деньги, и молиться.
    P.S. Средняя цена приложения на западе (среднего, но законченного) - $100 K
    Ответ написан
    2 комментария
  • Как установить флаг в таком условии?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Информацию об объекте лучше хранить в нём же самом. Для этого используем data() (это не совсем одно и то же, что dataset). То есть все найденные позиции мы сохранили data('position', 'найденное_значение'). Цикл по уже когда-то найденной коллекции LI.

    Куда же сохранить флаг об изменении элемента?)) Я думаю, вы уже догадались — например, data('changed', true).

    var li = block.find('li'); //Нашли только 1 раз
    
    $(window).on('scroll', function (e) {
    	var scrollTop = $window.scrollTop(); //Вычислили только 1 раз
    
    	li.each(function () {
    		var $item = $(this);
    
    		if($item.data('position') >= scrollTop){
    			$item.addClass('active');
    		} else {
    			$item.removeClass('active');
    		}
    	});
    });

    Вы производите много абсолютно лишних действий:
    — постоянно определяете прокрутку (надо только 1 раз)
    — постоянно находите LI в цикле (надо только 1 раз)
    — в каждой итерации пробегаете по всем найденным LI, меняя класс им всем (итого на круг выходит LI в квадрате)
    Ответ написан
    6 комментариев
  • Практическая часть изучения ЯП и web технологий?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Не можете придумать идею - воруйте. Просто напишите клон чего-либо что вы используете. Напишите клон того же тостера из того что попроще.
    Ответ написан
    Комментировать
  • Разница двух результатов ширины браузера?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Ширина окна (учитывает скролл)
    window.innerWidth
    Ширина области просмотра (не учитывает скролл)
    document.documentElement.clientWidth

    Дополнение — о появлении прокрутки можно судить по
    document.documentElement.clientHeight < document.documentElement.scrollHeight
    Ответ написан
  • Есть альтернативы БЭМ?

    @Quilin
    Full-stack разработчик
    Странное ощущение, что это троловопрос. Тем не менее.

    Вы же понимаете, что методология БЭМ именования классов касается лишь постольку поскольку? Никто из тех, кто пользуется БЭМ в жизни не пишет все эти названия классов вручную, код на выходе может быть тяжеловесным, но та его часть, с которой работает разработчик - лаконичная и адекватная. Хотя, конечно, это зависит от вашего навыка проектирования и разработки. В самом Яндексе, уверяю, далеко не всегда код симпатичный и удобный.

    Если вы собрались переводить ваш сайт с одного подхода на другой, вы так или иначе встанете перед дилеммой: переписывать все или переписывать не все. Другой вопрос, что двойственный подход может стоить вам куда больше полной переписки.

    Исключительно в ваших силах не превращать все в выгребную кучу. Я, например, пользуюсь совершенно тривиальным подходом в верстке, который на достаточно серьезных проектах так и не скатился в тартарары.
    1. Побольше частичных представлений данных. Конечно, не на каждый чих, но на каждую более-менее абстрактную часть модели.
    2. На каждое частичное представление - свой css-файл.
    3. Каждый элемент взаимодействия с пользователем - свой js-компонент.

    Обычный todo-mvc превращается с таким подходом вот в такую структуру:

    todo/
    todo.view
    todo.css
    todo.js
    todo_test.js
    todoitem/
    todoitem.partial
    todoitem.css
    todoitem.js
    todoitem_test.js

    Каждое представление состоит из маленького куска верстки, редко больше 50 строк. Каждый css- и js-файл - аналогично. Последний проект, который я делал по такой схеме пережил два года, примерно 10000 коммитов верстки, представлял собой мастер оплаты, веб-приложение и три админки к нему, и до сих пор адекватно функционирует и изменяется.
    Ответ написан
    Комментировать
  • CSS-компилятор (собрать все стили подключаемые через @import) ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать
  • В чем отличие промисов от монад?

    AMar4enko
    @AMar4enko
    Promise это не цепочка вызовов. Promise (в переводе "обещание") - функция вам говорит, что в данный конкретный момент она не может вам вернуть результат, но она ОБЕЩАЕТ, что через некоторое время она вам его вернет. Или вернет ошибку. Promise это инструмент, который позволяет более-менее сносно существовать асинхронному коду.
    Ответ написан
    Комментировать
  • Почему летит верстка при уменьшении ширины?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    А почему нельзя использовать min-width?
    jsfiddle.net/quw4acm7/1
    Без него — только с использованием display:inline-block и white-space: nowrap
    Ответ написан
    3 комментария
  • Какой язык программирования подходит для заработока?

    Bandicoot
    @Bandicoot
    Вась-программист
    Сначала русский, потом английский. Куча грамматических ошибок. Не мог спокойно пройти мимо
    Ответ написан
    3 комментария
  • Какой язык программирования подходит для заработока?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Какой язык программирования подходит для заработока?

    Любой, кроме наверное, эзотерики типа брэйнфака.

    пофрилэйнсить

    бр...

    посоветуйте на какой язык перейти

    вы бы хоть сказали какая сфера интересует, WEB, мобильщина, все... а так... смотрите на вики любой язык программирования на ваш вкус. Мэйнстрим сейчас это java, c++, php, ruby, python, javascript...

    Java к сожалению не дается... Слишком она уж тугая после C# и справка на английском меня убивает....

    Может быть проблема в вас? Или вы хотите сказать что по Java, одному из самых популярных языков программирования в мире, мало литературы на русском?

    p/s: реально ли в ИТ сфере без английского?)

    Реально но тяжко. Так или иначе придется освоить.
    Ответ написан
    8 комментариев
  • Можно ли выкупить красивый IP в личное пользование и использовать его вместо домена?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Продам 192.168.1.0. Недорого. К лотку приучен. Жрёт мало.
    Ответ написан
    Комментировать
  • Как копировать тени, градиенты и т.п. из PSD в CSS3?

    Плагин CSS Hat попробуйте для фотошопа.
    Ответ написан
    Комментировать
  • Как протестировать почтовую рассылку в различных клиентах?

    @remaora
    Litmus. Дают одну неделю для "попробовать" бесплатно.

    На том же ресурсе есть сообщество а-ля StackOverflow, но касательно почтовых рассылок.
    Ответ написан
    3 комментария
  • Как сдавать шаблон под джумлу заказчику?

    Trow_eu
    @Trow_eu
    Я делал пару сайтов на джумле с дизайна до продакшена и реально не представляю, как делая несложный шаблон (не проф шаблон под джумлу, а конкретный макет в конкретный сайт) сделать его без самостоятельной настройки на итоговом серваке.
    Так что либо беритесь за натягивание и делайте модули сами - долго, скучно, с костылями, либо договаривайтесь только на верстку.
    Ответ написан
    2 комментария
  • Как сохранить пропорции размеров всех элементов при изменении размеров родительского элемента?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Используйте или media запросы, или новые единицы измерения, например: vw, vh.
    Пример использования: codepen.io/iiil/pen/pIHCG

    Советую ознакомиться shpargalkablog.ru/2013/03/px-em-calc.html
    Ответ написан
    Комментировать
  • Чем отличается breackets от eage code?

    srko
    @srko
    JavaScript / HTML / CSS
    Edge Code идет сразу с некоторыми сервисами Adobe (типа Kuler). Других отличий, вроде бы, нет.
    Emmet для Brackets.
    Ответ написан
    Комментировать
  • Как отключить слежку Google?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Очередной одуревший от собственной значимости юзер хочет бросить вызов системе.
    Ответ написан
    4 комментария
  • Как взломать видеокамеру?

    ghaiklor
    @ghaiklor
    NodeJS TechLead
    Уже успели поиграть в Watch Dogs?
    Ответ написан
    3 комментария
  • Кто начинал программировать с 20-ти лет и старше?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    У меня первый комп появился в 19 лет. Думаю, у Вас есть шансы )

    upd
    Навеяно ответом @Mintormo

    Уже вижу сообщения на детских форумах: Здравствуйте, моему малышу уже 6 месяцев. Не поздно его отдавать в программирование?
    Ответ написан
    1 комментарий