• Кто нибудь может сказать что это? За мной следят? У меня паранойя?

    27cm
    @27cm
    TODO: Написать статус
    Предположу, что вы кот и ваш хозяин купил лазерную указку)
    Ответ написан
    Комментировать
  • В чем различия этих конструкций в JavaScript?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Краткий ликбез по JS: Как работает прототипное наследование: при обращении к свойству оно ищется сначала в самом объекте, потом, если не найдено, в том объекте, который указан как прототип (скрытое свойство [[Prototype]]) для исходного, потом в прототипе прототипа и так далее, пока прототип не null. Что происходит, когда мы вызываем new SomeFunction(): создается новый объект у которого [[Prototype]] ссылается на SomeFunction.prototype, в контексте этого нового объекта вызывается SomeFunction (как если бы через apply или call), полученный объект возвращается.

    1) В первом варианте у вас в конструкторе лишняя операция. А если таких методов 10? А если надо создать 10000 таких объектов?
    2) Во первом варианте у вас каждый инстанс будет непосредственно иметь ссылку на getName. Во втором — каждый инстанс будет иметь ссылку на прототип, в котором уже будет ссылка на getName. Значит, первый вариант будет жрать поболе памяти (однако обращение к методу getName будет работать чуточку быстрее).
    3) Можно так делать, если очень надо переопределить getName для данного объекта. Но с точки зрения архитектуры — не стоит, лучше создать отдельный класс или фабричную функцию, которая будет возвращать объект с нужным getName. Причина: black magic, который задолбаешься искать по коду.
    4) На данный момент времени, можно, наверное, начинать писать на ES2015 с нативными классами, чтобы не придумывать велосипеды с колесами из костылей:)
    Ответ написан
    6 комментариев
  • Как людям удается столько зарабатывать на фрилансе?

    copist
    @copist
    Empower people to give
    Создать новостной портал с дизайном, адаптивной версткой и посадить все это дело на Drupal за 4000р.


    Займи позицию победителя. Распиши задачу по этапам, оцени в часах, пересчитай в рубли, выставь встречный счёт. Могут испугаться и отказать. Могут оценить серьёзность подхода и согласиться.

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


    И какой-нибудь CMS надо владеть. Какая архитекрута, как конфигурируется, что в штатной поставке, какие бывают плагины, где купить темы? Приготовить сборки под типовые решения. Можно в ответ на задачу предложить решение с использованием другой CMS - иногда заказчики не в курсе, что есть и другие.

    Нужно иметь актуальное портфолио, из которого будет видно, чем и как ты занимаешься. Все выполненные работы регулярно вноси в портфолио.

    Не пробовал удалёнку поискать? Аутсорс? (на сайтах вакансий искать "удалённо", "неполный день", "по совместительству"). И попутно ещё разовые заказы брать на биржах.

    А ещё есть биржи труда для стартапов, там бывают неплохие предложения по удалённой работе.

    и другие ресурсы по фразе стартап поиск команды
    Ответ написан
    9 комментариев
  • Как попасть в backend-разработку?

    yucom
    @yucom
    Ruby on Rails Developer
    У вас хорошая база. Я бы посоветовал написать небольшое приложение на Django с использованием методологий TDD и Gitflow, например, микроблог - пользователи, сообщения, подписка. И выложите код на github, чтобы показывать работодателям. Интерфейс можно сделать просто на bootstrap. Потом ищите проект на фрилансе или в офис, где в команду требуется джуниор на бекенд и начинайте решать поставленные задачи, смотрите как работают другие. Изучайте теорию и функциональное программирование. Так от простого к сложному дорастете до сеньора и высоких нагрузок.
    Ответ написан
    2 комментария
  • Существуют ли какой нибудь сборник интересных задач и алгоритмов?

    ruddy22
    @ruddy22
    Спасение утопающих — дело рук самих утопающих
    От себя могу добавить, что стоит прочесть книгу Data structures and algorithms with JavaScript. А потом, если интересны алгоритмы, то брать книгу Томаса Кормена, Алгоритмы: анализ и построение.
    Ответ написан
    6 комментариев
  • Как эффективно взаимодействовать между классами?

    gadfi
    @gadfi
    https://gamega.org
    класс кнопки который что то сортирует, другой класс кнопки что то выводит .....если эффективно то переписать этот ужас.
    Кнопка это кнопка, она не должна все это делать, вы можете навесить на нее слушателя и отловить событие, а вот по этому событию что то делать.
    Логика и ui должны быть максимально слабо связаны.
    Ответ написан
    Комментировать
  • Какой использовать алгоритм сортировки, если требуется сложность не более O(n) и максимальная производительность?

    @bromzh
    Drugs-driven development
    Во-первых, есть строгое доказательство, что сортировка произвольного массива не может быть выполнена быстрее, чем за O(n*log(n)) операций (log тут по основанию 2).
    Во-вторых, у сортировок есть много параметров: время в лучшем/худшем/среднем случае, доп. память, стабильность.
    QuickSort имеет время O(n log n) в среднем и лучшем, а в худшем - за O(n^2). Ещё она нестабильная и требует O(n) памяти. В обычных условиях это устраивает, но худший случай в ней - её слабое место.
    Есть модификации быстрой сортировки, позволяющие уменьшить время худшего случая до O(n log n).
    В языках программирования встроенные сортировки - это обычно либо быстрая сортировка с улучшениями, либо какая-нибудь стабильная сортировка, какой-нибудь merge sort.

    Так что либо бери родную, либо пиши сам. Самая простая модификация быстрой сортировки, при которой худшее время станет O(n log n) - это сделать случайный выбор опорного элемента.

    Ну и читай https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D...
    Ответ написан
    3 комментария
  • Для чего используется golang?

    XXX
    @XXX
    Решение где-то рядом
    К ответу Артема можно добавить, что например Go активно используют такие компании как digital ocean, на хабре есть интервью с Моисеем Урецким, сооснователем и директором Digital Ocean, он очень хорошо отзывается о Go.

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

    В общем, мы убили кучу времени на то, чтобы перестроить код и перепланировать всю архитектуру. И вот тогда в наше поле зрения и попал Go, потому что это очень быстрый, новый язык, в котором много интересного. Думаю, это большая редкость — иметь идеальную тестовую площадку для таких вещей. А когда у тебя тысячи серверов, рассредоточенных по всему миру, Go очень естественно ложится в эту распределенную систему.

    По сути, мы прошли через все муки роста, наша работа не ограничивалась созданием новых фишек и допиливанием продукта. Например, планирование выглядело следующим образом: мы оценивали свои масштабы, умножали их на десять и уже на эту цифру опирались, работая со своей архитектурой. И почти каждый раз, когда мы практиковали это «упражнение», Go вписывался идеально. К тому же люди, которым интересен Go, как правило, очень хорошие разработчики, и им интересны те проблемы, над которыми работаем мы. Благодаря этому мы смогли набрать большую команду отличных инженеров, готовую как поддерживать существующие продукты, так и делать новые.
    Ответ написан
    1 комментарий
  • Для чего используется golang?

    @mamkaololosha
    Go это такой серверный/сетевой С++, если вам не охото в java/С#, не хотите стрелять в ногу и нет жесткого С-легаси.
    Ответ написан
    Комментировать
  • Для чего используется golang?

    artem_kovardin
    @artem_kovardin
    Go отлично подходит для сетевого программирования. Сравнительно небольшие усилия нужны для написания довольно приличного клиент-серверного приложения (consul, etcd).

    Кроме того, скорость и маленькое потребление памяти позволяют применять Go для обработки большого количества информации, подсчета статистики, написания парсеров/кравлеров. Тут очень сильно способствует возможность простого распараллеливания.

    Go применяется для написания девопс и админских инструментов (Docker, CoreOS) которые легко использовать, так как все компилируется в один бинарник и линкуется статично.

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

    gbg
    @gbg
    Любые ответы на любые вопросы
    Теоретически, кодер по заранее готовому алгоритму записывает программу на языке программирования.

    Программист же обычно сам разрабатывает алгоритм, а затем выполняет работу кодера.

    Но зачастую эти понятия смешивают и получается непойми что.
    Ответ написан
    5 комментариев
  • Что использовать для соединения двух игроков?

    Недавно запустили игру. Использовали node.js в качестве comet-сервера(для постоянного соединения игроков). Читал про socket.io, вычитал, что при большой нагрузке ведет себя плохо, не справляется, поэтому сделали на tcp-сокетах.
    Ответ написан
    Комментировать
  • Что использовать для соединения двух игроков?

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

    maxaon
    @maxaon
    Можно использовать ngSwitch, можно ngIf.
    Если надо сделать без вотчеров и тип не будет изменятся, можно редактировать шаблон во время стадии компилирования директивы.
    Ответ написан
    Комментировать