• Где взять базу слов русского языка?

    https://github.com/danakt/russian-words
    Использовал данную базу для написания инструмента для проверки орфографии. В файле скомбинировано несколько найденных мной баз, содержит русские слова во всех формах и русские имена. Так же есть файл со списком русских фамилий.
    Ответ написан
    1 комментарий
  • Куда жаловаться о СМС-спаме?

    спам-смс идут, как правило, через организации-партнёры опсоса, предлагающие такие услуги на рынке. У них есть бд номеров с признаками интересов и они торгуют рассылкой по этой бд. Соответственно, можно прийти в офис опсоса и тщательно проинструктировать их о том что не хочешь получать смс, рассылаемые подобными сервисами.

    Меня одно время внезапно начали спамить новинками ночной жизни дефолт-сити (хотя я не представляю, как мой номер попал в эту базу, т.к. моя ночная жизнь проходит или в кровати, или в серверной). Я зашёл в мегафоновский офис, десять минут убеждал младшего помощника старшего дворника, потом разозлился, дошёл до старшого и внятно объяснил, что у них варианты или оставить всё как есть, а я буду искать способы испортить хотя бы имидж мегафону, или напрячь булки и сделать так, чтобы в 00:02 мне не валились смс о том что дима иблан где-то выступает. Старшой согласился сделать всё что в его силах.

    Больше спама нет.
    Ответ написан
    Комментировать
  • Как реализовать фоновую задачу когда приложение выключено?

    doublench21
    @doublench21 Куратор тега Swift
    НЕЛЬЗЯ! И вполне правильно, если я закрыл приложение, я должен быть уверен, что оно не будет работать от слова совсем, иначе это уже какое-то Ведро выходит.

    BackgroundFetching - это только про свёрнутое приложение.
    Ответ написан
    6 комментариев
  • Шаблонизатор на PHP

    chetzof
    @chetzof
    Раньше считал что самый лучший шаблонизатор это PHP и жутко спорил со всеми кто не был с этим согласен, после того как пришлось попользовать Twig, кардинально переменил свою позицию. Очень удобный, конструкции твига намного короче аналогов на php, есть поддержка в IDE, например PhpStorm. В плане производительности, практически никакого оверхеда, они компилируются в php код при первом запуске.
    Ответ написан
    Комментировать
  • Как посмотреть, что занимает место на диске linux?

    shambler81
    @shambler81 Куратор тега Linux
    cd /
    du -sh *
    как то-то так ?
    Ну или так
    du -sh * | grep G
    ( только гигабайты)
    Ответ написан
    3 комментария
  • Twig vs Smarty

    Попробовал twig и в новых проектах отказался от «нативного шаблонизатора», хотя всегда был его горячим сторонником. Основная причина — в twig по умолчанию включено экранирование вывода и {{user.name}} куда короче (и понятней верстальщику), чем <?php echo htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8') ?>. Плюс для удобного использования хелперов и переменных (хотя бы замены htmlspecialchars($user.name, ENT_QUOTES, 'UTF-8') на escape($user-name), а в идеале просто $user->name), требует вторжения в глобальную область видимости, что может привести к трудно улавливаемым глюкам.
    Ответ написан
    Комментировать
  • Как сделать автопубликацию в канал Telegram из rss?

    Pur1taN
    @Pur1taN
    Телеграм официально представил сервис, через который все это можно сделать. Вот инструкция по настройке репоста: https://antonov.work/73-ifttt-avtomaticheskiy-repo...
    Ответ написан
    Комментировать
  • Может глупость спрошу но всеже: Возможно ли загрузить программу с виниловой пластинки?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да можно! Принцип, например, тональной передачи сигнала с избыточным кодированием, как в модемах.
    Да же можно посчитать, сколько на 42-х минутную пластинку поместится. 64 килобит/с * 42 минуты ~ 17 мегабайт на сторону или 34 мегабайта на двухстороннюю пластинку.
    Ответ написан
    Комментировать
  • Как вставить на сайт видео с youtube без названия?

    berezuev
    @berezuev
    #define TRUE FALSE
    showinfo=0, например:

    https://www.youtube.com/embed/ffiJNSy8CBA?&theme=dark&autohide=2&showinfo=0
    Ответ написан
    Комментировать
  • Как лучше поступить с лишними записями в трудовой?

    rework
    @rework
    Помог ответ? В благодарность отметь его решением
    Вы IT специалист? Какая нафиг трудовая? Никто не будет в неё смотреть при вынесении решения брать вас на работу или нет, смотрят только на ваши знания
    Ответ написан
    4 комментария
  • Какой шаблонизатор для PHP выбрать?

    zooks
    @zooks
    Frontend
    Подтверждаю, Twig хорош. Если вы используете Laravel, но лень прикручивать Twig, тогда Blade.
    Ответ написан
    Комментировать
  • Какой шаблонизатор для PHP выбрать?

    DevMan
    @DevMan
    Где можно выиграть по скорости (и нужно ли)?
    по скорости быстрее будет чистый пых.
    только быстрее он будет совсем незначительно: чтоб шаблонизатор стал узким горлышком надо очень сильно постараться набыдлить.
    иными словами - аспект скорости можно вообще не рассматривать.

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

    какой использовать - дело вкуса. я предпочитаю django-подобный синтаксис, поэтому использую twig.

    ну и если из шаблона можно дропнуть базу - это что угодно, только не шаблон. это к вопросу "нужен ли шаблонизатор".
    Ответ написан
    4 комментария
  • Доменная зона .io — что я пропустил?

    Один из омонимичных доменов:

    .am — национальный домен Республики Армения, созвучен с диапазоном радиостанций AM или как зона AMerica.
    .cd — национальный домен Демократической республики Конго (иначе — Заира), совпадает с сокращением для компакт-диска.
    .dj — национальный домен Джибути, совпадает с сокращением «диджей».
    .fm — национальный домен Федеративных Штатов Микронезии, созвучен с диапазоном радиостанций FM. Пример: last.fm.
    .im — национальный домен Острова Мэн. Совпадает с сокращением Instant Messaging («мгновенные сообщения»).
    .io — национальный домен Британских территорий в Индийском океане. Совпадает с сокращением Input Output («ввод/вывод»).
    .is — национальный домен Исландии. Совпадает со словом is, формой третьего лица единственного числа английского глагола to be. Пример: who.is
    .it — национальный домен Италии. Совпадает с сокращением IT (информационные технологии), а также с английским местоимением it («это»). Пример: ok.undo.it
    .md — национальный домен Молдавии. Совпадает с сокращением аудионосителя MiniDisc и с сокращением Must Die. Также совпадает с сокращением от англ. medical doctor, используемым повсеместно в англоязычных странах. Например, известный американский сериал «Доктор Хаус» в оригинале называется House, MD.
    .me — национальный домен Черногории. Совпадает с местоимением «меня», «мне» в английском и других европейских языках.
    .net — общий домен верхнего уровня, совпадает с русским словом «нет», из-за чего обрёл в России (и не только) дополнительную популярность. Часто используется с доменными именами в виде транслитерированных русских слов. Примеры: mozga.net, lishnih.net.
    .nu — национальный домен острова Ниуэ, созвучно со словом ню.
    .tm — национальный домен Туркменистана, совпадает с аббревиатурой «™» (англ. trade mark — торговая марка).
    .tv — национальный домен Тувалу, совпадает с аббревиатурой «Телевидение».
    .ws — национальный домен Западного Самоа, совпадает с аббревиатурой Web Site.
    .in — национальный домен Индии, с английского языка переводится как предлог «в».
    .li — национальный домен Лихтенштейна. Совпадает с окончанием глаголов и имён существительных в русском языке. Используется с доменными именами в виде транслитерированных русских слов. Примеры: zadolba.li, zastuka.li, vaf.li, gus.li, yas.li.
    .pro - общий домен верхнего уровня для профессионалов в своей области.
    Ответ написан
    3 комментария
  • Где прочитать подробнее про оператор "!!"?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    Это не оператор !!
    Это двойной !
    Т.е. отрицание.
    В итоге происходит что-то вроде конвертации в bool.
    Но это не точно.

    В общем для проверок где нужно что угодно проверить на true/false
    Ответ написан
    Комментировать
  • Как ИП без расчётного счёта принять оплату по договору подряда?

    kumaxim
    @kumaxim
    Web-программист
    Во-первых тебя ждет крайне неприятный сюрприз - за все время, когда у тебя свидетельство о регистрации ИП лежало на полке ты обязан заплатить взносы в пенсионный фонд. Да, свидетельство о регистрации ИП такая бумажка, которая просит кушать...

    Поэтому, если ты сейчас откроешь р/с в банке, то вероятность того, что в самое ближайшее время на него прилетит постановление от ПФР или ФССП очень велика.

    Во вторых: как произвести оплату за сайт наличкой? Варианта два:
    • Твой клиент физ.лицо - нужно делать и регистрировать БСО либо кассу
    • Твой клиент ИП/ЮЛ - просто выписываешь ему ПКО


    Второй вариант(детали).

    Два ИП решили расчитаться наличной за что-либо
    Сумма обязана быть менее 100 тыс.рублей в рамках всего договора
    Если сумма больше 100 тыс. рублей, договора можно разбить, но нужно растянуть это дело во времени, иначе ФНС может придраться и оштрафовать за превышение лимита
    Оба ИП обязаны соблюдать кассовую дисциплину, что означает наличие у обоих журнала кассовых ордеров, составление приходных/расходных ордеров при работе с наличкой

    Схема взаиморачетов:
    1. Вы подписывайте договор с клиентом ИП/ЮЛ
    2. В договоре пишите мол, оплата осуществляется наличкой
    3. Когда дело доходит до денег, Вы выписывайте клиенту приходных кассовый ордер от своего имени, что означает: "Я ИП Иванов И.И. принял 25 000 рублей от Сидорова К.К."
    4. Зарегистрируйте кассовый ордер в своем журнале
    5. Ваш клиент выписывает расходный кассовый ордер от своего имени, что означает: "Я ИП Сидиров К.К. отдал Иванову И.И. 25 000 рублей"
    6. Клиент регистрирует расходный ордер в своем журнале
    7. Далее, у Вас в кассе нарисовалась сумма в 25 т.р. Для того чтобы ее взять на личные нужды, Вы делайте расходный кассовый ордер в духе "Изъято из кассы 25 000 в личный доход предпринимателя". С 25 т.р. потом уплатите 6% налога по УСН или на какой Вы там системе работайте
    8. Можете идти и тратить свои деньги


    Все бланки книги учета приходных/расходных кассовых ордеров можно без проблем нагуглить в сети. Также почитай выдачу по ключу "Кассовая дисциплина ИП в 2017".

    Одно рекомендую тебе сделать заранее - проверь себя на сайте ФССП. Если на тебя есть исполнительное производство и ты проводишь белую сделку, то у приставов могут возникнуть к тебе вопросы, на которые ты отвечать бы не хотел, поверь мне на слово.
    Когда именно они у них возникнут? Когда ты сдашь декларацию о доходах за 2017 год плюс пару месяцев, возможно, больше.
    Ответ написан
    6 комментариев
  • В каком месте MVC-концепции веб-приложения нужно фильтровать HTML-спецсимволы?

    miraage
    @miraage
    Старый прогер
    Защита простая (всякие csrf итд не упоминаю)

    1) перед ставкой в базу экранировать данные от SQL инъекций
    2) перед выводом в браузер экранировать данные от XSS атак
    Ответ написан
    Комментировать
  • В каком месте MVC-концепции веб-приложения нужно фильтровать HTML-спецсимволы?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Не думаю, что у Вашего вопроса, если безусловный и едино правильный ответ. Прежде всего, всё зависит от фреймворка, которым Вы пользуетесь, соответственно, в разных фреймворках есть разные реализации таких механизмов.

    Например, в Symfony2/3 есть такая штука как "DataTransformers", которая преобразует данные при сохранении/извлечении по заданной формуле. В Laravel 5.x - есть "Мутаторы", которые произволят аналогичные манипуляции с полями модели. Так же в зависимости от фреймворка, могут быть разнообразные фильтры, преобразователи и так далее.

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

    Но, давайте рассуждать логически. Вам когда-нибудь будет нужен текст 100% оригинал? То есть, такой текст, который бы сохранил все теги, которые ввёл пользователь, все пробелы (в том числе и лишние), регистр этих тегов и пр. подробности/особенности того, что пользователь ввёл?

    Если да, но эти данные Вам будут нужны редко, для какой-то статистики например - то сохраняйте их в каком-то отдельном поле в БД, типа "user_text_original".

    Если да (данные нужны в 100% оригинальной консистенции), и эти данные Вам будут нужны часто - фильтруйте их там, где Вам позволяет фреймворк или там, где они нужны уже отфильтрованные. Если они Вам зачем-то нужны в отфильтрованном виде внутри контроллера - фильтруйте их в контроллере, до того, как они там понадобятся, либо до того, как они попадут в контроллер (в модели). Если они Вам в контроллере не нужны и Вы можете фильтровать данные внутри View'шки - фильтруйте их там, без проблем.

    И, самый вероятный вариант:
    Если же, данные в их оригинальном виде Вам не нужны в 99% случаев, а нужны Вам уже отфильтрованные данные, с которых вычищены все лишние HTML-теги например, то возникает резонный вопрос: зачем постоянно гонять фильтры туда-суда, сохраняйте сразу отфильтрованные данные в БД, в соответствии с возможностями и механизмами Вашего фреймворка (как я уже писал выше, это могут быть DataTransformer'ы, Мутаторы и т.д.). Так как Вы удаляете из данных теги - их объём сокращается (это плюс), и так как Вы дёргаете фильтр всего 1 раз, сокращается нагрузка на систему (это так же плюс). Но такой расклад будет работать только в том случае, если сохраненные данные будут получаться чаще, чем сохраняться. То, например, если Вы выводите на страницу комментарии, то каждая независимая единица комментария, должна быть показана хотя бы 2 раза. То есть, если у Вас есть 1000 комментариев всего, то обработаться/отобразиться за всё время жизнедеятельности сайта, должно не менее 1000 комментариев, иначе фильтр будет убыточен с точки зрения производительности (такой вариант мало вероятен, но гипотетически возможен, что у Вас данные добавляются чаще, чем отображаются/обрабатываются хотя бы раз).

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

    P.S. Я бы конечно мог расписать всё ещё более подробно, но и так много получилось...
    Ответ написан
    2 комментария
  • В каком месте MVC-концепции веб-приложения нужно фильтровать HTML-спецсимволы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    В этом месте:
    на представлении при вставке текста в HTML;

    Аргументация: потому, что данные могут быть абсолютно любыми и их нужно обработать, а проблема может возникнуть только при выводе в браузере пользователя.

    Если более детально: вот схема. (блоки "Подготовка выходных данных модуля" и "Подготовка выходных данных приложения")
    Ответ написан
    6 комментариев
  • Есть ли способ сделать canvas адаптивным?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Задай переменную в которую отправляй ширину экрана, и от этого пропорционально уменьшай элементы.
    Ответ написан
    6 комментариев