• Props или State, если будет только одно обновление?

    Хорошим решением будет сделать некоторые компоненты вверху дерева как Controller-View, которые будут иметь state и получать данные, а в остальном старайтесь делать компоненты stateless (док).
    Ответ написан
    Комментировать
  • Вернуть результат из AJAX без callback'ов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Синхронный запрос
    var responce = $.ajax({async: false, ...}).responceText;

    Но на время выполнения запроса будет блокироваться браузер.
    Ответ написан
    Комментировать
  • Как сконвертировать pdf в jpg?

    sHinE
    @sHinE
    веб-разработчик, php/js/mysql и сопутствующее
    В своё время была такая же потребность. Да, как уже выше сказали, можно через утилиту convert из imagemagick, но у меня несколько лет назад не получалось настроить dpi - банально игнорировался параметр.
    Я тогда использовал ghostscript. Команду сейчас не помню, но судя по гуглу - как-то так.
    Ответ написан
    Комментировать
  • Как собрать статистику по одностраничному сайту?

    Конкретно по Piwik не подскажу, но, думаю, там такое должно быть: с Google Analytics я бы просто добавил отправку события по клику на выбранный филиал с отправкой названия этого филиала
    Ответ написан
    2 комментария
  • Можно ли создать сайт который сам себя улучшает?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Комментировать
  • Как вы бы организовали хранение видео и аудиофайлов?

    ptchol
    @ptchol
    Linux system administrator
    1. Купите несколько машинок в hetzner, поставьте CEPH.
    2. Возьмите сторадж от runabove https://www.runabove.com/storage/object-storage.xml
    3. Купить у этих https://www.transip.eu/vps/ ребят vps, и аттачить к ней их же сторадж https://www.transip.eu/vps/big-storage/ относительно не дорогой.

    CDN который советовали выше, обычно как бы не про хранение, а про быструю отдачу.
    Ответ написан
  • Как задать перемешивание массива относительно коротким числом параметров?

    Наиболее быстрым в Вашей постановке мне кажется использование ГПСЧ на основе
    линейного конгруэнтного метода с условиями:
    1) m=2^L (где L - округл.вверх от log2(N+1))
    2) a mod 4 = 1
    3) c mod 2 = 1
    (это приведет к перебору всех чисел от 0 до m-1 строго по одному разу)
    и игнорированием всех чисел, больших чем N
    (a, c, X0 - параметры, определяющие перестановку).

    Вот пример работы для N=21 (m=32)
    A=25 C= 3 X0=22: 9;4;7;18;5;3;14;1;10;6;20;2;21;16;19;17;12;15;13;8;11;
    A= 9 C= 9 X0=17: 2;5;15;16;10;3;4;13;1;18;11;12;21;6;9;19;20;14;7;8;17;
    A=17 C=21 X0= 2: 17;11;16;5;10;4;19;13;18;7;12;1;6;21;15;20;9;14;3;8;2;
    A=17 C=25 X0=12: 5;14;7;16;9;18;11;20;13;15;17;19;21;2;4;6;8;1;10;3;12;

    Есть методы с сортировкой, но они потребуют объемов памяти, равных N. Могу описать, если интересно ...
    Кстати, каков порядок и верхняя граница N ?
    Ответ написан
    2 комментария
  • Метод execute. Можно ли отправить массив как один аргумент?

    @Gromadchuk
    Увы, но передать массив нельзя. Раньше уже подымался такой вопрос, где был предложен вариант решения такой ситуации, он очень интересен, но отнимает половину возможностей execute. Еще немного, и execute может превысить время исполнения.

    UPD: Привел нормальный пример в другом вопросе.
    Ответ написан
    1 комментарий
  • Как пр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 комментариев
  • Как оптимально найти подмножества в наборе данных многие-ко-многим?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Есть простое решение за (число сообществ)*(число связей "пользователь-сообщество").

    Для каждого сообщества Y:
    - заводим массив R[C], где C - число сообществ
    - для каждого пользователя X из сообщества Y:
    - - для каждого сообщества M, в которое входит пользователь X: R[M]=R[M]+1
    - для каждого сообщества M: если M!=Y и R[M] > 1, то пара (Y,M) - ядро.

    Быстрее пока не получается.
    Ответ написан
    Комментировать
  • Как оптимально найти подмножества в наборе данных многие-ко-многим?

    @SeptiM
    Для начала рассмотрим произвольный граф. Каждая вершина будет сообществом, а на каждое ребро посадим по два юзера. Юзер принадлежит сообществу, если его ребро касается соответствующей вершины. Для такого примера будет Omega(C^2) ядер, все различные. Это накладывает некоторые нижние оценки на алгоритм.

    Тривиальный способ будет работать за O(C^2 U) + сортировка юзеров в каждом сообществе. Понятно, что сравниваем сообщества попарно, и ищем пересечение за линию по отсортированным спискам.

    Можно улучшить алгоритм через минхэш (en.wikipedia.org/wiki/MinHash) заплатив точностью. Минхэш позволяет считать символ Жаккара -- размер пересечения двух множеств делить на размер объединения. Можно отсеять только крупные пересечения.
    Ответ написан
    Комментировать
  • Как оптимально найти подмножества в наборе данных многие-ко-многим?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Храните сами "ядра" в классической реляционной базе "многие ко многим". Три таблицы - пользователи, группы, связи.
    строки в таблице связи: ид пользователя, ид группы.
    Ответ написан
    9 комментариев
  • Как оптимально найти подмножества в наборе данных многие-ко-многим?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Стоит подумать о том что бы преобразовать структуру в граф, что бы была связь не только между сообществом и пользователем но и наоборот. Так перебор будет уже эффективнее. Так же если данных много можно вооружиться neo4j
    Ответ написан
    1 комментарий
  • ВКонтакте: как узнать, что пользователь удалил iFrame приложение?

    @bondeg
    Достаточно получить токен для своего юзера и с его помощью обойти всех через users.isAppUser. Это если id приложений одинаковый. Иначе надо подключить iframe приложение как сайт и для себя сделать токен.
    Ответ написан
    Комментировать
  • Каков алгоритм и суть работы реально существующего скрипта 100% предсказания результата, загаданного человеком?

    winordie
    @winordie
    Лучшая документация -- исходники
    Трюк чтобы произвести впечатление на девушку при знакомстве:

    1) Говоришь что ты эксрасенс и умеешь читать мысли.
    2) Просишь ее загадать число от 1 до 100.
    3) Дальше в силу вступают твои актерские навыки, о том как себя ведут экстрасенсы можно узнать из многих фильмов или передач.
    4) Называешь рандомное число.
    5) Profit!!!

    PS сработает, конечно, с одной из ста, зато какой эффект
    Ответ написан
    Комментировать
  • Как добавить метод объекту, чтобы его не было видно при переборе объектов?

    @GeraldIstar
    Frontend
    Для старых версий JS, а точнее ECMAScript 3, тот что в IE8:
    Расширить объект, без того, что бы добавляемые свойства не были перечисляемыми - не выйдет.
    В таких случаях, да и вообще при использовании for ... in обычно каждое свойство проверяется на hasOwnProperty
    for (var key in testObj) {
      if (!testObj.hasOwnProperty(key)) continue;
      //Тут мог быть ваш код 
    }

    Как-то так вроде бы.
    Вот тут есть информация по этой теме:
    learn.javascript.ru/native-prototypes

    UPD: для более-менее современных барузеров
    Если не нужно старые браузеры поддерживать, есть Object.defineProperty()
    Object.defineProperty( Object.prototype, 'count' {
        value: function count() { /* тело функции */ },
        enumerable: false
    });

    Дескриптор enumerable позволяет в зависимости от значения, делать свойство перечисляемым или нет, при обходе объекта в цикле for ... in.
    habrahabr.ru/post/150571
    Ответ написан
    1 комментарий
  • Какие области человеческих знаний/навыков/способностей скорее всего можно формализовать?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Можно формализовать навык "пить пиво":) А если по сути можно формализовать лишь те задачи, которые можно полностью осмыслить и описать опираясь на ограниченный, минимальный набор терминов, если удастся описать базовый набор и логику их взаимосвязи то формализация удалась и можно строить алгоритм. Где именно это используется можно найти гуглом по тексту "для чего нужны экспертные системы"
    Ответ написан
    Комментировать
  • Какие области человеческих знаний/навыков/способностей скорее всего можно формализовать?

    @DancingOnWater
    Формализовать и алгоритмизировать это разные понятие. Формализовать можно все, а вот алгоритмизировать - не факт.

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

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

    EndUser
    @EndUser
    Медицина, диагностика.
    Экспертов - как носителей компетенции, так и аналитиков - полно, окончательное мнение во многом однообразно, хотя по некоторым вопросам эксперты согласия не имеют до сих пор. Тем не менее, на 80% все согласны друг с другом. Если не считать молодых идиоток, вроде посоветовавшей расположить меня вверх ногами, чтобы мокроту обычного гриппа выкашлять.
    Сложность? Ну, IBM Watson начинает потихоньку справляться.
    Что касается любопытства, то вам его дешевле реализовать единично заплатив профессиональному гитаристу-художнику за исполнение в чужой манере заказанного вами сюжета. Практического (возврат инвестиций) в вашем любопытстве я не обнаруживаю.
    Ответ написан
    Комментировать