Задать вопрос
_
Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (41)

Лучшие ответы пользователя

Все ответы (50)
  • Бесплатный хостинг для проекта на nodejs + mongodb?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Сloud9

    + Бесплатно - один персональный проект, неограниченно - открытых

    + Домен свой можно прикрутить, а по-умолчанию на халяву - есть домен 3го уровня

    + своя IDE - можно рулить с планшета, не имея под рукой ничего кроме браузера, особая фишка - позволяет одновременную параллельную работу в несколько рыл

    + дружит с GitHub-ом, BitBucket-ом и Google Cloud Platform.

    + Виртуалки - Ubuntu c SSH (были, по крайней мере раньше) в который можно и не лезть - все рулится через веб-морду или код.

    UPD

    Всё, баста карапузики, кончилися танцы -- нет больше старого доброго c9. Теперь это Амазон со всеми прилагающимися. Однако, IDE осталась, кое-какие проверенные плюшки тоже остались. Появились Амазоновские заморочки и ограничение на бесплатное использование в 12 месяцев, помимо более жестких ограничений на ресурсы.

    Хорошей халявы (м-да, умею же сказать) тоже не осталось. Из надежных бюджетных решений могу порекомендовать облачный VPS для разработчиков от VScale (подразделение Selectel). Хороший и шустрый сервер с SSD, собственным ДНС и платой в месяц как 2 чашки кофе в придорожной забегаловке. 5 лет пользуюсь -- полёт нормальный.

    UPD 2021

    - netlify.com - 3 года кайфа
    -vercel.app- простота и мощнота
    - repl.it - есть ништяки про Питонов, Го и ещё куча всего. Крутота
    все умеют тащить в автомате с ГтиХаба, а Нетлифай ещё и с ГитЛаба и Битбакета: просто пушишь в master и, бам-бара-бам але хоп - вуаля! -- все в продакшене, всё на халяву, можно прикрутить свой домен у всех.
    и
    - конечно же -- VScale!!! -- полный контроль и -- 8 лет, полёт нормальный

    Welcome.
    Ответ написан
    2 комментария
  • Почему говорят что jquery не нужен?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Зона применения jQuery стала несколько уже, не стала меньше.
    Забывать про него пока рано.
    Да, благодаря тому же jQuery, "подрос" сам JS.
    Да, для сложных клиентских приложений придуманы фреймворки, но даже используя их, иногда проще что-то делать с jQuery.
    И да, подключить jQuery ради одного селектора сегодня уже нет необходимости, ка не было ее и 15 лет назад, когда jQuery только родился.
    Для каждого инструмента - свое применение, профессионала отличает правильный выбор инструмента и грамотное его использование.
    Уверен - jQeury еще поживет. Не знаю насколько долго, но в ближайшие 2-3 года ему еще найдется применение.
    Ответ написан
    Комментировать
  • Как реализовать быстрый поиск в массиве объектов по значению свойства?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Не сваливать все в объект, а сразу писать в IndexedDB, а необходимые для оперативной обработки данные, например выборку по городу, брать средствами работы с IndexedDB.

    Для браузеров не умеющих работать с IndexedDB есть библиотека PouchDB, менее шустрая, чем нативные встроенные в браузер реализации (UPD: если их нет, в противном случае - используются нативные), но даже на старых браузерах (IE7,8) будет выигрыш, как по удобству манипуляции данными, так и по скорости.

    UPD: обращение к IndexedDB НЕ блокирует интерфейс и может использоваться в воркерах (см. issues на странице).

    UPD: кстати, PouchDB :
    • сам использует IndexedDB, когда она доступна, в старых WebKit, в т.ч. на Android использует WebSQL, когда совсем плохо (старые IE) - тоже чего-нибудь придумывает, как минимум - localStorage;
    • дает возможность работать с серверными данными, как c локальными, когда они доступны, идеальное решение для снижения заморочек с созданием "оффлайн" приложения или одностраничника с "миллионом записей", проводя "репликацию";
    • все танцы с бубном вокруг индексов - фоновая, абсолютно прозрачная задача.
    • если поставить на сервере CouchDB или эмулировать ее Rest api - можно забирать всех "Вась из Омска" прямо с сервера одним вызовом
    UPD: И когда, наконец, народ научиться подбирать подходящий инструмент для работы, а не валить лес пилкой для ногтей и не вскапывать грядки карьерным самосвалом?
    Ответ написан
    1 комментарий
  • Как подписывать разработанные сайты?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Донести до заказчика, что твоя подпись - аналог подписи Рембранта, которая поможет другим, его коллегам, при выборе исполнителя.

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

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

    Самая лучшая защита - работать так, чтобы клиенты могли хвастаться: "смотри, кто мне сайт разрабатывал!" :)
    Ответ написан
    1 комментарий
  • Как вы боретесь с удалением папок node_modules в Windows?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Тема в интернетах давно и широко освещаема, народ давно прикурил, что не все так просто, как кажется на первый взгляд, и нет "серебряной пули".

    `RimRaf` - хорошо, но не очень: использовать можно либо из скрипта, либо вручную на каждый проект, т.е. перед массовым бэкапом можно использовать лишь в составе некое "подготовительного" инструмента. И таки да - есть проблемы на разных конкретных конфигурациях. "Platform independence" не получился. По сути тех же результатов можно получить делая `rm -rf node_modules` в оболочке `bash` или `rmdir /S node_modules` в `cmd`, причем `rmdir` в большинстве случаев не вспомнит про длину строки, даже если для этого есть поводы.

    `npm dedupe` - тоже очень хорошо, но также не очень. Это неплохо делать в каждом проекте после `install` или после каждого изменения зависимостей. В противном случае перекур на сутки - просто гарантирован.

    1.

    Если доступна оболочка Bash на основе CygWin (если пользуетесь Git, скорее всего она - оболочка баша - есть, но не факт) решение, которое лежит на поверхности:

    find . -name "node_modules" -exec rm -rf '{}' +

    плюсик в конце - так надо: автоматом подтаскивает завершение (перевод) строки, можно заменить на \;

    Попадался и такой вариант:

    #!/bin/bash
    
    delete-all-dep-folders() {
      # `-prune` prevents building up lists of `node_modules` inside `node_modules`
      find ${1:-.} -type d -name "node_modules" -prune -exec rm -rf '{}' \; -exec echo 'Deleted {}' \;
      find ${1:-.} -type d -name "bower_components" -prune -exec rm -rf '{}' \; -exec echo 'Deleted {}' \;
    }


    После запуска скрипта (можно просто скопипастить в окошко баша) можно без параметров запустить команду `delete-all-dep-folders` в нужной папке или первым параметром задать путь:

    $ delete-all-dep-folders /path/to/project-root

    Напомню: если `bash` под cygwin, только тогда ему плевать на длину пути. Насколько это так, вы должны знать сами - где и какую версию Гита/Баша вы брали, там и надо читать: в интернетах найдется куча версий баша, скомпилированных с использованием нативных библиотек Windows, которые не используют cygwin!!!

    2.

    PowerShell. Якобы та самая "серебрянная пуля" от МелкоСофт. Вроде бы, плевать он хотел на длину пути. Якобы.

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

    Вариант:

    Get-ChildItem -Path "." -Include "node_modules" -Recurse -File:$false  | Get-ChildItem -Recurse | Remove-Item -Recurse  -Force


    Вполне рабочий, НО версия PowerShell >4.0. Более старые версии даже с ключом `-Force` не могут удалить НЕпустые папки.

    Уточню: несмотря на то, что Remove-Item (он же del, он же ...) имеет возможность обозначать фильтры и работать рекурсивно, тем не менее необходимость конвейера (знак палки между командами) все-таки есть, и на эти грабли наступало уже очень много народу еще до того, как на ms-tech и в документации была признано и отмечено, что таки да, проблема есть и в качестве решения предлагается использовать конвейер, т.е. – через палку надо делать, и не делать тупо Delete.

    И таки да, я нарвался на случай, когда это не сработало - на USB диске (NTFS) лежал старый проект на `Meteor`. Актуальности никакой, для истории тоже не находка, но он единственный усиленно сопротивлялся 4 с лишним часа. После чего мне надоело доискиваться причин такой стойкости и старый (честно купленный еще в прошлом веке) добрый Total Commander справился со всем проектом полностью за 1.897s.

    3.

    Победитель конкурса - Total Commander с настройками дисковых операций с помощью собственных (НЕ системных) функций. Не верьте документации: Windows, начиная с Vista, выполняет при дисковых операциях значительно больше "левых" действий для красоты, чем Commander, посему операции "его" функциями выполняются быстрее, чем "её" функциями. Совсем хорошо, если отключить в командере поддержку файлов описаний содержимого каталогов. Также, когда-то давно, мне попадался на глаза подключаемый модуль для командера, который заменял/дополнял поиск файлов на другой, в котором используется другая библиотека для работы с регулярными выражениями и дисковые операции можно выполнять сразу над результатами поиска без перекладывания во временную панель.

    4.

    Или мы не программисты? Пишем свой велосипед по рекурсивному обходу каталогов и `rimraf`-им чего надо. При этом не забываем положить сей золотой ключик отдельно, чтобы мимоходом не прибить его зависимости, и делаем для него консольный вызов. Успешно выкладываем в NPM и собираем звезды на Гитхабе. Дерзайте, а я настоящий программист, мне - лень, когда все просто и понятно :)
    Ответ написан
    Комментировать