• Как WEB-страница может получить текущее имя пользователя Windows?

    Jeer
    @Jeer
    уверенный пользователь
    если под какой-нибудь asp.net писать, то в IIS включаете галку "windows аутентификация", больше ничего не надо
    Ответ написан
    Комментировать
  • Память расширения растёт. Куда копать?

    dollar
    @dollar Автор вопроса
    Делай добро и бросай его в воду.
    А ларчик просто открывался.
    Решение

    С расширением всё нормально. Но самом деле потребление прыгает, но оно всегда не выше 50МБ.
    Проблема была в том, что инструменты разработчика кэшируют всё, что только можно - вывод консоли, сетевые соединения, тела принятых ответов с сервера через ajax и прочее. И вот эти тела и составляли основную как бы "утечку" памяти.
    То есть нужно закрыть консоль, перезагрузить расширение, - и нет проблем с якобы утечкой.
    Ответ написан
    Комментировать
  • Для чего используется Java в современном вебе?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Видимо, не очень глубоко вы погрузились. Для маленьких и средних, простых сайтов Python лучше Java, так как позволяет клепать их быстрее и проще. Здесь можно почитать объяснение этому. Но для крупных ресурсов, предъявляющих высокие требования к надёжности и низкой стоимости многолетнего сопровождения, таких как ebay.com, ничего лучше Java ещё не придумали.

    А уход android-разработчиков на Kotlin - это миф и хайп.

    Kysrj.png
    Ответ написан
    19 комментариев
  • Зачем hh.ru делает много запросов на 127.0.0.1 на разные порты?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Набросал тут на коленке сервер:
    import socketserver
    import threading
    
    ports = [5900, 6900, 5650, 5931, 5938, 5939, 3389, 8080, 51, 80, 443, 445, 5985]
    threads = []
    servers = []
    
    
    class RequestHandler(socketserver.BaseRequestHandler):
        def handle(self):
            binaryData = self.request.recv(1024 * 1024)
            print('server {} got data: {}'.format(
                self.server.server_address, binaryData))
            self.request.sendall("fuck you, hh.ru\n".encode())
    
    
    def worker(port):
        server = socketserver.TCPServer(('localhost', port), RequestHandler)
        servers.append(server)
        server.serve_forever()
    
    
    if __name__ == "__main__":
        for port in ports:
            print('server on port {} is starting...'.format(port))
            thread = threading.Thread(target=worker, args=(port,))
            threads.append(thread)
            thread.start()
    
        for thread in threads:
            thread.join()

    Он слушает все эти порты, принимает данные в бинарном виде и в ответ отправляет "fuck you, hh.ru". Вот что получил: https://pastebin.com/AwA2QqJP
    Wireshark в одном из запросов определил VNC.
    Ответ написан
    Комментировать
  • Javascript фреймворки - дань моде или быстрота и удобство?

    @maxbublik
    JS фреймворки уже несколько лет - это будни фронтэнда, и это не мода, и это никуда не уйдет. Также как никуда не уйдет традиционная верстка. Они будут жить вместе. Четкую границу между веб-сайтами и веб-приложениями провести нельзя, но суть вопроса автора вопроса понятна.

    Конечно же, делать простой лендинг на чем-то типа Angular/React - это клиника. Хотя если нужны интерактивные блоки, очевидно лучше использовать Vue, чем городить что-то на jQuery. Vue как раз хорош тем, что его можно задействовать только для отдельных виджетов, а весь остальной сайт продолжай писать как тебе угодно.

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

    Короче, если вы верстаете но на JavaScript ничего сложней jQuery вы не умеете, то вы в заднице. И каждый год вы все глубже.
    Ответ написан
    Комментировать
  • Используют ли сейчас сервлеты в Java?

    @helycopternicht
    Часто сервлеты используются "под капотом" современных веб фреймворков. Яркий пример Spring MVC.
    Ответ написан
    Комментировать
  • Зачем в хромиум-браузерах включили прерывистое подчеркивание текста и как его отключить?

    kreotech
    @kreotech
    Абстрактно-ориентированный программист
    Пример: https://jsfiddle.net/kreoTech/3Lro6kma/4/

    Не проверял работоспособность в разных браузерах, но в chrome(v64) работает

    UPD:
    Используемое свойство css: text-decoration-skip-ink

    Возможно получится получить эффект и от этого свойства: text-decoration-skip

    Для установки на разных сайтах можно попробовать это расширение - User CSS или другое со схожим функционалом.

    Хотя может есть и в настройках браузера где-нибудь флажок.
    Ответ написан
    Комментировать
  • Как устроена авторизация по паролю в web-приложениях?

    @Barmunk
    Как насчет jwt? stateless решение, нигде не нужно хранить сессии, сервер один раз выдал на определеннее время и забыл, а пользователь его уже продлевает по мере необходимости? Записывает там в куки или куда хотите
    Ответ написан
    1 комментарий
  • Какое максимальное количество строк кода должно быть в классе?

    Therapyx
    @Therapyx
    Data Science
    Есть обычные принципы, которые еще никуда не делись
    - связанность => Каждый класс должен делать только 1 заданную задачу. Эти задачи должны выполняться с помощью аттрибутов и методов этого класса. Поэтому в идеале надо добиваться сильной связанности этих аттрибутов и функций.
    - След за этим идет сразу же DRY-Принцын - Dont Repeat Yourself - Когда ты многие функции, аттрибуты раскидываешь как попало и переписываешь заного из-за малейшего изменения, так и плодиться уйма не нужного кода со слабой связанностью.
    - Возможность тестирования => мне очень интересно какой рак это тестить класс из 4000 строк...)))
    - И самое главное "Читабельность, Понимание" => Я конечно верю, что существуют проэкты или задачи, где 4000 строк это было бы норма для 1го класса, даже с идеальной проектировкой. Но я не думаю, что в этом случае это те самые исключения. Лично по моему скудному мнению, если класс уже с 1000-2000 строк, то надо хотябы задуматься о том, что что-то надо бы изменить или начертить UML диаграмму этой области(если ее нету).
    Есть конечно и остальные, но это основное, что касается 4000+ строк
    Ответ написан
    Комментировать
  • Как прийти от знаний уровня простых алгоритмов и стандартных библиотек Java к Java EE и Spring?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Просто берёшь учебники, читаешь и практикуешься.
    5a53ac08cf030078714128.jpeg
    Ответ написан
    Комментировать
  • Почему структура сайта у всех разная?

    longclaps
    @longclaps
    Разумеется есть - нужно всё упихнуть в один файл.
    Но разрабы ленятся и вываливают россыпь.
    Не будь таким.
    Ответ написан
  • Java ( с либами ) против Node.js, что выбрать для вебсервиса?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Крутость асинхронности - это, к сожалению маркетинг. Нода однопоточная, асинхронность - это так, чисто разделение вашего пользовательского кода и операций ввода/вывода. Да, есть форки, но это все равно отдельные процессы без общей памяти, да в es9 есть shared memory, но это на порядки более куцее решение, чем говорят о нем.
    Асинхронный код для нано сервисов может быть и не плох, исключительно за счет скорости имплементации, но на лонг ране - это домоклов меч. Банально, у вас в одном из промисов происходит исключение, как вы определите что не так? Только догадки, так как это произойдет в следующем тике, а там основная часть стектрейса уже потеряна. Я уже молчу про кровь из глаз при покрытии асинхронного кода тестами.
    Ответ написан
    7 комментариев
  • Как подключение Tomсat к intellij idea 2017 2.6?

    Conacry
    @Conacry
    Здравствуйте.
    У вас Intellij Idea Community? Если так, то поддержка JavaEE технологий в ней нет. Тут у вас два варианта:
    1. Купить Ultimate версию;
    2. Использовать Eclipse или Netbeans.
    Ответ написан
    1 комментарий
  • Как повторно использовать компоненты верстки в разных проектах?

    AlibekKulseitov
    @AlibekKulseitov
    Люблю верстать и писать музыку
    Чувак ты прям по адресу)) Я тоже таким болел и болею)) Вот как делаю я. Я создал для себя свои собственные компоненты которые наработал в ходе куча разных проектов. Когда надо их подключаю а когда не надо просто комментирую их. Выглядит это вот так:
    То есть в самой папке компонента я храню вьюшку компонента и его стили.

    5a3b8a0cb4cfc589655276.png
    <!-- breadcrumb -->
    <ul class="breadcrumb">
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link">Level 1</a>
        </li>
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link">Level 2</a>
        </li>
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link breadcrumb__link_is-active">Current page</a>
        </li>
    </ul>
    <!--/. breadcrumb -->

    //
    // Component: breadcrumb
    // --------------------------------------------------
    
    .breadcrumb {
        .nl();
        margin-bottom: 15px;
        margin-top: 40px;
        position: relative;
    
        &__item {
            display: inline-block;
            position: relative;
            margin-right: 5px;
    
            &:before {
                font-family: 'FontAwesome';
                font-size: 13px;
                color: #fff;
                content: '\f105';
                display: inline-block;
                vertical-align: middle;
                margin: 0 5px 0 0;
            }
    
            &:first-child:before {
                display: none
            }
        }
    
        &__link {
            font-size: 16px;
            color: #fff;
            text-decoration: none;
    
            &:hover,
            &:focus,
            &_is-active {
                color: @color-main;
            }
    
            @media(max-width: @screen-ms-max) {
                font-size: 14px;
            }
        }
    }


    В общем суть понятна да?)

    Что делать если начинаешь новый проект и все надо переносить?
    Ничего переносить не надо, у меня есть такая папка называется TARS BUILDER.
    Это получается Голый Tars только уже с моими компонентами и плагинами. Его походу дела и дополняю всегда.
    Например верстаю сижу и тут бац понял что тут можно удобно сделать так-то сяк-то, иду в папку Tars Builder и там же сразу делаю это улучшение. Короче говоря пока верстаю на поле боя я там понимаю как и что мне удобно и переношу эти апгрейды в свой фреймворк/шаблон TARS BUILED.

    Так же создаю походу дела свою миксины, переменные и тд.

    Таким способом я легко начинаю новый проект на TARS.
    Ответ написан
    Комментировать
  • Как повторно использовать компоненты верстки в разных проектах?

    edli007
    @edli007
    full stack, team lead
    React компоненты были созданы для этого, БЭМ - это костыль для табличной верстки которая все еще встречаеться в Яндексе. насчет TARS незнаю.
    Ответ написан
    33 комментария
  • Как правильно реализовать структуру бд для многопользовательской платформы?

    AlexanderYudakov
    @AlexanderYudakov
    C#, 1С, Android, TypeScript
    Раз вы задаете такой вопрос, значит задача вам явно не по зубам.
    Бросайте эту гиблую затею.
    Ответ написан
    1 комментарий
  • Как обеспечить соблюдение закона о персональных данных для сайта с обратной связью?

    gobananas
    @gobananas
    finishhim.ru
    номер телефона или адрес email, тоже подпадает под закон

    Верно

    Достаточно ли в форме обратной связи сделать предупреждение на согласие с публичной офертой и ссылку на эту оферту, в которой просто прописать, что данные пользователя нужны лишь для связи с ним?

    Даже 100500 галок где написано что пользователь на всё согласен не спасают вас.

    Можно ли эту оферту написать самому произвольным образом или надо по какой-то установленной форме и заверять ли нотариально?

    Можно самому

    Решает ли этот вопрос установка капчи от гугла или это просто защита от ботов?

    Нет

    Как сделать правильно?

    Если вы собираете персональные данные, то вы должны быть юрлицом и должны быть включены в реестр операторов персональных данных. А значит, хранить их на территории РФ.

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

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    На телефоне нет мышки и клика(внезапно).

    Там есть touch
    Ответ написан
    9 комментариев
  • Разное поведение браузеров при загрузке файлов через XMLHttpRequest. Как избежать моментальной псевдо 100% загрузки файла?

    lazalu68
    @lazalu68
    Salmon
    Илья Кантор советует использовать xhr.upload для этого:

    xhr.upload.onprogress = function(event) {
      alert( 'Загружено на сервер ' + event.loaded + ' байт из ' + event.total );
    }
    
    xhr.upload.onload = function() {
      alert( 'Данные полностью загружены на сервер!' );
    }
    
    xhr.upload.onerror = function() {
      alert( 'Произошла ошибка при загрузке данных на сервер!' );
    }


    А если вы пользуетесь xhr.onprogress, то вы банально не в ту сторону смотрите, xhr.onprogress следит за скачиванием.
    Ответ написан
    Комментировать
  • Помогите правильно составить регулярное выражение для org.apache.regexp.re

    kentilini
    @kentilini
    В продакшн
    в описанном вами примере используются опережающие и ретроспективные проверки.
    lookahead org.apache.regexp.RE — их не поддерживает, нужно писать регулярку обходя это условие.
    Ответ написан
    7 комментариев