• Может ли нанятый разработчик моб. приложения угнать идею?

    @GreatRash
    Чо вы прицепились к разработчику? Что мешает угнать идею например пользователю?
    Ответ написан
    Комментировать
  • SPA application, авторизация и что рендерить backend'y?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    что стоит , если вообще стоит, рендерить на стороне backend ?

    Ничего вообще не надо редндрить. Сервер отдельно, клиент отдельно. Они никак не должны пересекаться. server-side рендеринг применяют как один из вариантов оптимизаций + для поисковиков. Это нужно далеко не всем и далеко не всегда.

    c REST авторизовываемся token'ом

    Еще следует помнить, что хранить секьюрные данные доступными из JS не шибко удобно (браузеры увы не предоставляют секьюрного хранилища пока-что), потому лучше токен сэтить сервером в httponly куку. Тогда браузер будет все сам разруливать и будет чуть чуть более безопасно. К сожалению другого способа в контексте SPA как организовать это дело секьюрно я не знаю. В общем случае и в localStorage хранить норм, но меня это смущает. Ну и естественно все под HTTPS, иначе все загоны по безопасности идут прахом.
    Ответ написан
    3 комментария
  • Выбор фреймворка для нового проекта - Angular? React? Vue?

    sim3x
    @sim3x
    Рационально выбирать фрейворк в зависимости от того
    - насколько он молод и имеет ли проблемы в архитектуре
    - кто поддерживает и какой состав коммюнити
    - как много пакетов к нему есть
    - насколько распространены разработчики
    - насколько быстро там пишутся тесты и код

    Не составит труда подставить все три фрейворка в график
    2e3deb5b81554ba2ab2a255712a2b5eb.png
    https://g.co/trends/ZZMFy

    В коментах предложили угадайку посложнее
    144f7a96b8a8408b8da602b4d54c780a.png
    Ответ написан
  • Выбор фреймворка для нового проекта - Angular? React? Vue?

    dom1n1k
    @dom1n1k
    Лично для меня Vue - это такой "фреймворк с человеческим лицом".
    В целом JS-мир похож на поле боевых действий, где постоянно то налеты авиации, то кононада гремит, то хипстерская конница с новым логотипом на знамёнах проскачет.
    А "обычный" человек сидит в подвале, обхватив голову руками, и думает - мама дорогая, куда я попал, и чё ваще вокруг происходит?
    Какие-то новые паттерны, подходы, языки... Раньше, чтобы начать, достаточно было блокнота и браузера. Пишешь hello world и сразу его видишь. Теперь нужно поставить ноду, овер 9000 пакетов, десять транспиляторов, таск-менеджеров и бандлеров. Пока увидишь рабочий результат - поседеешь.
    И вдруг какая-то добрая душа взяла у хипстоты всё самое лучшее и разумное, что та родила, но очистив от лишних абстракций и усложнений - и выкатила велосипед в виде велосипеда, а не турбо-космолета с инструкцией толщиной как "Капитал". И снова можно писать в блокноте и смотреть в браузере. При этом почти не проигрывая в возможностях.
    Ответ написан
    1 комментарий
  • Освоение HTML5, CSS, JS. Как продвигаться?

    @McBernar
    1. Базовые навыки html/css. Здесь отлично помогает htmlacademy.ru

    2. Чистый JS на learn.javascript.ru

    3. Попутно верстаете все, что плохо лежит, практику по JS можно получать на каком-нибудь Codewars.

    4. Дальше начинаются различные тулзы — препроцессоры, сборщики, фреймворки. Начните с простого — Gulp, Sass, Jquery, Bootstrap, Emmet, Git, NodeJS на уровне npm.

    5. А здесь вы уже начнете неплохо ориентироваться во фронт-разработке и вопросов — куда двигаться дальше — не появится. Разве что только философские.
    Ответ написан
    2 комментария
  • Как имитировать двойной клик?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    button.click( function(){
    вызовНужнойФункции();
    вызовНужнойФункции();
    })
    - кажется, лучше так.

    Но чё-то ты костыли лепишь, нет?) Если не секрет, в чём проблема?
    Ответ написан
    2 комментария
  • Какие есть курсы С# дистанционно?

    ImmortalCAT
    @ImmortalCAT
    C# loving
    Ответ написан
    Комментировать
  • Как в Node.js отдавать статику без Express.js?

    @hufawoso
    Как-то так:
    // Встроенный модуль http поддерживает функциональность HTTP-сервера и HTTP-клиента
    var http = require('http');
    // Встроенный модуль fs поддерживает функциональность файловой системы
    var fs = require('fs');
    // Встроенный модуль path поддерживает функциональность, связанную с путями файловой системы
    var path = require('path');
    // Дополнительный модуль mime поддерживает порождение MIME-типов на основе расширения имен файлов
    var mime = require('mime');
    // Объект cache реализует хранение содержимого кэшированных файлов
    var cache = {};
    
    var server = http.createServer(function(request, response) {
        var filePath = false;
        if (request.url == '/') {
    // Определение HTML-файла, обслуживаемого по умолчанию
            filePath = 'public/index.html';
        } else {
    // Преобразование URL-адреса в относительный путь к файлу
            filePath = 'public' + request.url;
        }
        var absPath = './' + filePath;
    // Обслуживание статического файла
        serveStatic(response, cache, absPath);
    });
    
    server.listen(3000, function() {
        console.log("Server listening on port 3000.");
    });
    
    
    function send404(response) {
        response.writeHead(404, {'Content-Type': 'text/plain'});
        response.write('Error 404: resource not found.');
        response.end();
    }
    
    function sendFile(response, filePath, fileContents) {
        response.writeHead(
            200,
            {"content-type": mime.lookup(path.basename(filePath))}
        );
        response.end(fileContents);
    }
    
    function serveStatic(response, cache, absPath) {
    // Проверка факта кэширования файла в памяти
        if (cache[absPath]) {
    // Обслуживание файла, находящегося в памяти
            sendFile(response, absPath, cache[absPath]);
        } else {
    // Проверка факта существования файла
            fs.exists(absPath, function(exists) {
                if (exists) {
    // Считывание файла с диска
                    fs.readFile(absPath, function(err, data) {
                        if (err) {
                            send404(response);
                        } else {
                            cache[absPath] = data;
    // Обслуживание файла, считанного с диска
                            sendFile(response, absPath, data);
                        }
                    });
                } else {
    // Отсылка HTTP-ответа 404
                    send404(response);
                }
            });
        }
    }
    Ответ написан
    5 комментариев
  • Как упростить код?

    Вынесите статические данные типа:
    let data = {
                            title: 'Тайтл | Регистрация',
                            message: {
                                header: 'Ошибка',
                                text: 'Вы забыли разгадать капчу',
                                status: 'danger'
                            }
                        };

    во внешнюю область видимости. Создайте функцию которая будет формировать эти объекты по входным параметрам и возвращать их. Ну и catch в конце цепочки then-ов вместо второго колбэка. Вы видимо просто не знакомы с основным принципом программирования DRY (Don't repeat yourself).
    Ответ написан
    Комментировать
  • Как упростить код?

    @vshvydky
    Изначально надо было выбрать не экспресс а коа и писать в генераторах или асинк функциях. Было бы короче, а так промис и есть промис. Вермишель из венов никто не отменял.
    Ответ написан
    Комментировать
  • Как упростить код?

    Negwereth
    @Negwereth
    lvivcss.com.ua
    Вынесите обработчики ошибок в финальный .catch
    Ответ написан
    Комментировать
  • Чем именно занимаются программисты в банках?

    sabramovskikh
    @sabramovskikh
    Разные программисты разным.
    Кто-то делает личные кабинеты, то есть сайты.
    Кто-то делает клиент банки. Программы для организаций
    Кто-то делает мобильные приложения
    Кто-то делает ПО для банкоматов
    Кто-то делает внутреннее ПО, те-же системы для заполнения заявок на кредиты.
    Ответ написан
    Комментировать
  • Чем именно занимаются программисты в банках?

    @Smilleey
    Я работаю как программист, но на должности специалиста. Занимаюсь оптимизацией и автоматизацией работы нашего отдела. Программисты нужны все, от разработчиков баз данных до веб-программистов и до программистов 1С.

    Вот на примере Сбербанка:
    https://m.hh.ru/vacancies?clusters=true&employer_i...
    В основном Java, но попадаются и другие.
    Ответ написан
    Комментировать
  • Ограничения Яндекс почты для домена

    @arezvov
    Тоже интересует ответ на этот вопрос.
    Уважаемые представители Яндекса могут прокомментировать?

    А то случайно столкнулся с непрописанным нигде ограничением в 50 записей в NS-серверах Яндекса, которое вылезло очень даже боком.
    Хуже всего, что использовали NS-хостинг Яндекса по моей рекомендации.
    Теперь опасаюсь.скрытых грабель во всех сервисах Яндекса.
    Ответ написан
    2 комментария
  • На основе каких технологий Вы делаете систему мгновенных сообщений?

    @gaxetasok
    В твоей архитектуре нет выделенной очереди сообщений типа RabbitMQ или ее заменителя умного программируемого мегакэша, типа в Tarantool

    И, да, я бы писал на Go
    Ответ написан
    9 комментариев
  • Каков принцип работы укоротителя ссылок?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Приципиальная схема:
    1. Заводите таблицу urls с двумя колонками - short и full.
    2. Генерируете короткие адреса по любому алгоритму. Да хоть ID строки используйте, хоть таймстамп, хоть UUID - что угодно. Вряд ли для ваших целей критично, поместится ли ссылка в Твит.
    3. Всё.
    Ответ написан
    Комментировать
  • Какие операции в mysql более тяжелые?

    @shagguboy
    изменение. оно обычно внутри раскладывается на удаление+вставка
    Ответ написан
    Комментировать
  • Какие операции в mysql более тяжелые?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Может быть и так, и так. Зависит от индексов.
    Ответ написан
    Комментировать
  • Какие операции в mysql более тяжелые?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    зависит от типа таблицы, индексов, настроек мускуль сервера, размера базы, размера таблицы, количества полей таблицы, триггеров, короче сильно зависит от многих факторов.
    Ответ написан
    Комментировать