• Как сделать таймер в однотипных елементах с разным временем?

    w999d
    @w999d
    Web-developer
    $('.add_time').each(function(){
        var self = $(this);
        var iv = setInterval(function(){
             var v = parseInt(self.attr('value'), 10);
             self.attr('value', v+1); 
             if (v > 3600){
                  self.text('Добавлен более часа назад');
                  clearInterval(iv);
             }else{
                  var m = Math.floor(v / 60);
                  var s = v - m*60;
                  self.text('Добавлен ' + m + ':' + (s>10?'':'0') + s +' мин назад');
             }
        }, 1000);
    });


    исправленная версия - чтобы не сбивалось время при долгом просмотре
    var start = new Date().getTime();
    $('.add_time').each(function(){
        var self = $(this);
        var sv = parseInt(self.attr('value'), 10);
        var iv = setInterval(function(){
             var now = new Date().getTime();
             var v = Math.floor(sv + (now - start) / 1000);
             // self.attr('value', v);
             if (v > 3600){
                  self.text('Добавлен более часа назад');
                  clearInterval(iv);
             }else{
                  var m = Math.floor(v / 60);
                  var s = v - m*60;
                  self.text('Добавлен ' + m + ':' + (s>10?'':'0') + s +' мин назад');
             }
        }, 1000);
    });
    Ответ написан
    2 комментария
  • WP Network - Поддомен не видит сеть?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Что значит "хранится в 2х разных папках"? Такого не может быть. Сам концепт WordPress Multisite в том, чтобы у вас была одна папка с одной установкой WP, а все домены/поддомены сети - это уже внутренняя архитектура. Физически на сервере - это все в одной корневой папке. Это первое.

    Второе - изначально надо выбрать один из вариантов сети - поддомены или "виртуальная папка". Оба варианта одновременно невозможны.

    Третье - все домены должны вести на один и тот же IP сервера. Поддомены в DNS-панели создавать вручную и направлять куда-то не надо, нужно один раз настроить wildcard-поддомены (*.example.com). А уже на уровне сети WP происходит маппинг.

    Четвертое - недостаточно инфы для понимания проблемы. Конкретизируйте, отредактировав вопрос.
    Ответ написан
    3 комментария
  • С чего начать написании игры 2048 на JavaScript?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Всю игру оборачиваете в отдельную сущность.
    Геттеры: кол-во размерностей игрового поля, размер соответствующей размерности, текущее состояние поля.
    Методы: создание новой игры(массив размерностей), применить вектор движения(вектор)

    Это всё что вам нужно. В итоге вы получаете не унылую игру в поле 4на4, а абстракцию над ней с возможностью игры в любом кол-ве размерностей.

    UPD Ещё наверняка понадобится геттер состояния игры (игра продолжается или игра закончена)

    UPD2 Получился банальный пример ответа на вопрос "Зачем линейка/математика программисту" :D
    Ответ написан
    Комментировать
  • Что можно написать на Node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js

    Часто применяется для:

    1. Локальные приложения и утилиты командной строки
    • Сборщики и трансляторы
    • Пакетная обработка и сценарии отложенной обработки
    • Скрипты, CLI (интерфейсы командной строки)
    • Генерация документации, отложенное формирование отчетов
    • Сценарии тестирования для других систем

    2. Серверы
    • Серверы веб-приложений и SPA
    • Серверы и API для мобильных приложений
    • Любые другие веб-API (RPC, JSON, REST)
    • Серверы сообщений и трансляция событий (чаты, игры, интерактив)
    • Заплаты на уже готовые системы, написанные на других языках, для реализации вебсокетов, SSE, лонг-пулинга и т.д., т.е. для затыкания дыр, для решения проблем в узких местах уже работающих систем.

    3. Клиенты
    • Оконные приложения (nw.js, node-webkit)
    • Кравлеры, парсеры и сбор данных

    4. Железо
    • Программирование микроконтроллеров (arduino, espruino, tessel)
    • Промышленная автоматизация

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

    И плохо подходит:
    • Вычисления и моделирование, со скоростью математических операций нода и JS, как не типизированный язык, не дают хороших показателей
    • Научные приложения (по тем же причинам)
    Ответ написан
    10 комментариев
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Я думаю на ресурсе полно действующих фрилансеров желающих получать >3К евро работая в сильной команде над интересными проектами. Иметь оплачиваемый отпуск, пенсионный стаж, мед. страховку, кофе печеньки и уборщицу в комфортабельном офисе, участие в профильных конференциях, хорошую запись в резюме и при этом время на семью. Рискну предположить, что это смахивает на мечту любого(ну почти любого) российского фрилансера. Есть еще хозяева дворовых веб студий, клепающих как семечки мусорные landing page и конвейерные your very own and truly original web site из пяти шаблонов. Для последней категории мечта неосуществима ввиду слабого профессионального уровня. Работу, которая у вас есть(если не лукавите) я бы стал менять только на лучшую или на собственный instagram, telegram, moneygram etc. Фриланс в вашем случае на мой взгляд просто шаг назад. Работа на дядю (даже паскудного) не такая уж трагедия.
    Ответ написан
    2 комментария
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    kumaxim
    @kumaxim
    Web-программист
    Для начал ответь сам себе на вопрос "А чем тебе неудобна текущая золотая клетка"? Можешь не писать здесь, но определись для себя.

    Далее нужно осознать, что фриланс - это подвид бизнеса. Есть книжка Р.Киосаки "Квадрант денежного потока". Там всех людей, работающих в экономике разделяют на 4 части:
    1. Р - наемные работники
    2. П - предприниматели
    3. Б - бизнес
    4. И - инвесторы

    Фриланс - это сегмент П. Ты работаешь один, возможно зарабатываешь больше чем работая по найму, но вот ты заболел, продуло тебя где-то, температура 38.5.... Сомневаюсь что ты из стали сделан и сможешь в таком состоянии писать код.
    Сегмент П очень хорошо охарактеризовал г-н Залогин из Локус Медиа. Он сказал примерно так: "Вы человек-велосипед - пока крутите педали - едите, как только перестали - упали"

    Переходя к твоему вопросу о выходе из зоны комфорта.
    Первое что рекомендую перед началом своего бизнеса - оплати все долги. Закрой ипотеку, погаси автокредит, все потребительские заемы и т.д. В случае если ты провалишься(первый блин, обычно, комом) по крайней мере ты со своей семьей не под мостом окажешься.
    Второе - содержание семьи. Никакие твои заработки не должны влиять на твою жену/ребенка. Твои родные, как минимум, должны иметь крышу над головой + еду на столе. Посчитай сколько ты платишь за комуналку + еду. Далее умножаешь эту сумму на 24 месяца. Это финансовая подушка твоей семьи.
    Третье - планирование. Бизнес без бизнес-плана - это не более чем хобби. С 16 лет стремился зарабатывать в сети. Продавал ссылки на sape.ru в 2008-2009, работал с трафиком в 2010-2012, продавал китайские безделушки с 2013-2014... Сейчас ушел в разработку одного SaaS-решения. Первые пару месяцев оптимизм из ушей хлещет, думаешь "Да все будет, да это фигня, преодалею...." Но вот начинаются черные полосы: ТИЦ сайта в планируемый апдейт не вырос до нужного значения, твой сайт на 9 месте в выдаче, вместо требуемой тебе 3-4 позиции, товар из Китая на таможне завис.... Да я могу до бесконечности перечислять проблемы, которые возникали у меня... А время - деньги: тебе нужно платить аренду, зарплату, рекламу, кредиты и т.д. Не платишь - начинается ругань, из Максима Александровича я сразу превращаюсь в мошенника, кидалу, сволочь... эх, во общем суть ты понял. Думай на 2 шага вперед, вот что я хочу сказать
    Четверное - не делай бизнес с полного нуля. Перт Осипов(проект Бизнес Молодость) в каком-то из видео говорил, что мы не ценим самое ценное что у нас есть, мы воспринимаем это как должное, когда для других людей это может быть сравни бриллианту среди кучи стекляшек. Вы не первый день работайте в ИТ по какой-то специализации, так ведите эту специализацию и дальше. Занимайтесь своим любимым делом.
    Пятое - не пытайтесь все делать сами. Когда я запустил свой самый первый интернет-магазин по Китайским безделушкам я все делал сам: рисовал дизайн, верстал его, настраивал рекламу, обзванивал клиентов, носил товар на почту.... В общем занимался вообще всем! Причем за всей этой рутиной я не видел, что мой сайт работает не эффективно, я упускаю из виду 20% горячих клиентов, 10% моих бандеролей исчезают в глубинах Почты России... Вы как первое лицо компании должны знать все процессы своего предприятия, иначе Вы не сможете им управлять, но Вам не нужно все процессы делать самому. Отдайте часть на аутсорс или делегируйте наемному сотруднику.
    Шестое - я на этом очень сильно обжегся около 3-х лет назад.... Ставьте своим сотрудникам четко достижимые KPI(ключевые показатели эффективности). Например, есть у меня форма заказ обратного звонка на сайте. Человек пишет туда своего Имя и номер телефона, после чего эти данные попадают в CRM. Для менеджеров, которые у меня обрабатывают вызовы клиентов один из KPI звучит так: перезвонить клиенту в течении 15 минут после поступления от него заявки, если она поступила в рабочее время. Причем все KPI Вы должны сформулировать максимально точно и подробно. Я сам с KPI работаю так: есть у человека базовый оклад и базовый набор KPI, которые ему необходимо выполнять. Если он их выполняет - получает оклад, выполняет лучше - получает оклад + премию. Причем оклад у меня сам небольшой, около 6 т.р., но нижняя з/п у меня примерно в 2,5 раза выше.

    Первые 4 пункта - это как мягко выйти, вторые два - как не свалиться.

    В целом о бизнесе в РФ могу сказать что его делать относительно легко. Достаточно просто делать что-то хорошо и по человечески относится к своим клиентам. Примерно за 1 год Вы нарабатываете определенную базу контактов(поставщики/партнеры/клиенты), которые Вас знают и доверяют Вам. А далее главное все это не растерять.

    Вам могут все Ваши родные/коллеги/друзья говорить "Да ты что, сейчас санкции, налоги, коррупция..." Поверьте, все это херня! Под прессом можно работать и зарабатывать, причем когда его снимут - Вы получите взрывной рост. А все эти отговорки про санкции, коррупцию, высокие налоги... Да просто у кого-то очко играет!
    Ответ написан
    14 комментариев
  • Что должен знать middle PHP разработчик?

    bboytiwst
    @bboytiwst
    Очень интересную вакансию получил на днях, на мой взгляд она в какой то мере описывает то, что должен знать мидл.
    - писать хороший код на PHP от 2 лет;
    - знаешь для чего нужны интерфейсы в PHP
    - у тебя есть опыт проектирования MySQL, понимание механизма оптимизации реляционных баз данных этого типа;
    - используешь концепции ООП, а не пишешь лапшекод;
    - знаешь основные паттерны проектирования
    - умеешь разбираться в чужом коде;
    - знаешь о замыкании в JavaScript и как красиво написать рабочий код;
    - применял AJAX и периодически его используешь;
    - знаешь как писать юнит-тесты и когда их писать целесообразно;
    - знаешь о dependecy injection и почему он нужен для повторного использования, масштабирования и тестируемости;
    - понимаешь, чем ActiveRecord со связями отличается от традиционного, фаулеровского, ActiveRecord


    IMHO то что надо
    1. знать большинство отличий/нововведений 2-3 последних мажорных версия PHP (и уметь их правильно использовтаь)
    2. знать один из фреймворков (ZF2, Symfony2, Laravel4/5) на уровне полного понимания внутренней работы фреймворка (на каких паттернах построена та или иная часть системы, почему именно на них, как это все взаимодействует и т.д)
    3. знать как работают реляционные СУБД т.е понимание JOIN'ов не только, что куда лепить, а и как это происходит внутри, ну и с остальными функциями так же
    4. ну и в конце то концов разобраться с SPL, что бы не было ситуаций как на PHP UK Conf.
    5. JS - понимать как там все внутри крутиться, вертится. Желательно знать еще какой то фреймворк (Angular, backbone, etc)
    6. HTML, CSS - по вкусу (не считаю, что php программист должен быть крутым верстальщиком, но одно другому не мешает и если нравится то это только плюс будет)
    7. Знать English, что бы стыдно на митинге не было
    8. быть адекватным, вменяемым человеком
    Ответ написан
    6 комментариев
  • Недостатки Ruby on Rails?

    @iliyaisd
    Я РНР-разработчик, не так давно решил разобраться с рельсами. Сейчас я назову несколько абсурдных вещей, которые в общем-то являются достоинствами, но есть некоторые проблемы...

    Для клиента:
    1. Нету вордпресса. Да! Как только вордпресс перепишут на руби, его сразу начнут использовать все, кому не лень:)
    2. А можно мне сайт на джумле? Просто у нас контент-менеджер уже привыкла к её админке.
    3. А почему хостинг стоит 200 рублей? У меня сосед по офису вон за 40 купил.
    4. "Нет уж, лучше я найму этого пацана за 3 доллара в час, который мне всё сделает, чем вон того говнюка за тридцатку, который говорит про какой-то руби, что это вообще такое? Мне просто нужен сайт на вордпрессе."

    Для программиста:
    1. А где фигурные скобочки?
    2. Магия. Очень много магии. Оно всё делает "само", вплоть до квази-версионирования базы данных по датам. К этому надо привыкнуть, что не все готовы делать.
    3. У меня заняло два дня, чтобы смочь подключиться к mysql. Возможно, я не самый опытный программист, но обилие вопросов на stackoverflow и не только наводит на мысль, что половина желающих отсеялась на этом этапе и пошла ставить вордпресс.

    Нувыпонели. Недостаточно популярная (чтобы с энтузиазмом приниматься заказчиками) технология с непривычным для многих подходом и вообще синтаксисом языка (чтобы с энтузиазмом приниматься программистами). И ещё на ней нет вордпресса.

    А, кстати.
    Почему еще НЕ ВСЕ сайты делают на Rails?

    Просто на них вордпресса нет.

    P.S. ненавижу вордпресс, если что.
    Ответ написан
    3 комментария
  • Как seo-продвинуть сайт без денег?

    XXX
    @XXX
    Решение где-то рядом
    Alexander-K
    • Проведите аудит сайта на предмет косяков (инструменты вебмастеров Вам в этом помогут)
    • Если сайт еще не добавлен в гугл и яндекс вебмастер, то добавьте.
    • Исправьте косяки, sitemap, robots.txt, meta-теги, описания страниц, заголовки, оптимизация содержимого страниц, перелинковка и т.д.
    • Скормите карту сайта поисковикам
      http://google.com/webmasters/sitemaps/ping?sitemap=ссылка на Ваш sitemap
      http://www.bing.com/webmaster/ping.aspx?siteMap=ссылка на Ваш sitemap

      Для того чтобы яндексу карту отправить, придется зайти на страницу вебмастера. И до кучи можете воспользоваться сервисом пинга в 40 поисковиков.
    • Если сайт региональный, то задайте регион.
      В яндекс вебмастере задается в настройках сайта, География сайта → Регион сайта
      В гугловских инструментах вебмастера, Поисковый трафик → Таргетинг по странам и языкам → Страна
    • Составьте семантическое ядро
    • Напишите SEO тексты заточив под ключи по которым будете двигаться
    • Если сайт не статичный, зарегайте его в соц сетях и постите туда новости со ссылками на свой сайт
    • Регайтесь на крупных форумах, с ссылками не закрытыми от индексации и напишите там про Ваш сайт
    • Оставляйте комменты в dofollow-блогах


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

    @onepavel
    Консультация и разработка мобильных приложений
    Ответ написан
    Комментировать
  • Какие учебники лучше C# для начинающего?

    AnnTHony
    @AnnTHony
    Интроверт
    Предложу несколько вариантов, а Вы уже подберете для себя более подходящий:
    из того что читал:
    - Шилдт, не знаю как другие его книги, но эта нудновата (многи за это его не любят, по мне автор хороший);
    - Троелсен, мне понравилось, подробно и доступно описано, приятно читать;
    - Рихтер, о самой платформе (фреймворке), читать обязательно;

    не читал (но многие рекомендуют):
    - Стиллмен, из серии "Хэд-фёст", издания славятся уровнем подачи материала;
    - Албахари, как альтернатива Троелсену;
    - Нейгел, для "противников" Троелсена;
    - Гриффитс, нужен неплохой начальный уровень.

    Успехов!

    upd: чуть не забыл. В Visual Studio есть русский мануал по C#, с ним тоже рекомендую познакомиться.
    А про книги отзывов и мнений очень много разных.
    Ответ написан
    1 комментарий
  • Какие существуют способы защиты стилей CSS?

    opium
    @opium
    Просто люблю качественно работать
    мне кажется мания величия затмила ваш мозг глупейшими проблемами, вместо того чтобы код красиво оформить и выкладывать на гитхаб и делиться им, вы решили его зачем то прятать, просто задумайтесь, что хорошего вы сделали в жизни и почему не выкладываете его на гитхаб?
    Ответ написан
    11 комментариев
  • С чего начать и как писать Unit-тесты для проектов на PHP?

    janson
    @janson
    PHP-разработчик
    1. установить PHPUnit
    2. научится запускать тесты на PHPUnit. Самые банальные по мануалу. Просто запускать и понять, как они срабатывают.
    3. опробовать подход на небольших учебных задачах (всякие code-kata подойдут, задачи типа FizzBuzz, конвертёр температур из шкалы Цельсия в шкалу Фаренгейта, любые простые, алгоритмизируемые задачи с проверяемым результатом).
    4. После понимания сути тестов, заводим tests/ в реальном проекте, и начинаем думать, как это всё завести. В первый раз достаточно сложно сообразить как всё это добро соединить. Постепенно прикручиваем тесты, осваиваем технику работы со стабами (Stub) и моками (Mock).

    В процессе освоения шага №3, опробовать TDD: до написания кода, решающего задачу, пишем тесты для будущего кода. Это потребует в процессе написания теста продумать, как будут называться классы, методы, функции, какие граничные условия для прохождения тестов и проч.

    Очень вероятно, что с первого раза не всё будет понятно и просто. Пробуйте.

    Как пища для размышлений и осваивания методологии TDD, подборка задач:
    codekata.com

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

    Вам бы книги писать. Такой талант пропадает.
    Ответ написан
    Комментировать
  • Как правильно учить Javascript?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Вы наверное слышали, что каждый уважающий себя программист обязан написать несколько велосипедов? И JavaScript-программисты тоже так делают и еще как! Так вот в этом нет ничего плохого, это отличное самообучение.

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

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

    Ogra
    @Ogra
    Прогресс персонажа:

    Вариант 1. Постоянный рейт — т.е. всегда 1000 XP на уровень
    Вариант 2. Арифметическая прогрессия — 1000 XP + 100 * N на уровень
    Вариант 3. Геометрическая прогрессия — 1000XP * (1.1)N

    Прогресс XP, получаемый за выполнение игровых задач
    1. Постоянный — время, затраченное на достижение нового уровня, всегда одинаковое
    2. Уменьшающийся — чем выше уровень, тем больше требуется опыта.
    Пример: пусть кол-во опыта на уровень постоянно: 1000 XP.
    XP убийство моба = 100 * (10 + LVL моба — LVL игрока)/(10 + LVL игрока). На первом уровне нужно убить 10 мобов своего уровня, на десятом — двадцать.

    Я советую вам взять любую простой вариант. Скажем, геометрическая прогрессия (формулы известны со школы). И начать экспериментировать с коэффициентами.
    Ответ написан
    2 комментария