• Приемлемо ли начинать такие проекты, как Quora или TheQuestion, с разработки под мобайл?

    zo0m
    @zo0m
    full stack developer
    Когда вы дорастете до такого проекта вам будет уже все равно с чего вы там начинали :)
    Ответ написан
    Комментировать
  • Cordova это хорошо или плохо?

    zo0m
    @zo0m
    full stack developer
    Cordova - плохо, смотрите в сторону NativeScript, React Native, Appcelerator Titanium, Xamarin
    Ответ написан
    3 комментария
  • Способы реализации кроссплатформенного мобильного приложения?

    zo0m
    @zo0m
    full stack developer
    Сам пользуюсь Appcelerator Titanium, все нравится, но они сделали свою новую технологию: Hyperloop, платной (точнее только под "командной лицензией"), 1000 $ в год. Но по сути это аналогия NativeScript (единственно, говорят, что hyperloop быстрее работает).
    Но у NativeScript есть еще одна вкусняха - Angular2. Поэтому считаю это самым перспективным инструментом на текущий момент.
    Ответ написан
    Комментировать
  • Стоит ли идти в HR?

    zo0m
    @zo0m
    full stack developer
    Для карьеры разработчика, что HR, что официант - одинаково пофигу, HR постыднее, может даже :))) (шучу конечно).

    Вам нужно как джун программист сразу войти, ну или можете попробовать QA Automation стезю (может меньше конкуренция на рабочее место) - автоматизация тестирования - это тоже программирование.
    Ответ написан
    Комментировать
  • Как должна производиться авторизация пользователя на сервере?

    zo0m
    @zo0m
    full stack developer
    https://jwt.io
    современный подход, кратко: храните у пользователя токен, и ключ, который доказывает серверу что токен не поддельный.
    Прикол в том, что вы таким образом можете хранить у пользователя сессионные данные, это хорошо для масштабирования проекта ( не нужно думать на какой ноде лежит пользовательская сессия, а можно кидать его на любую). Т.е. можно хранить например: {userId: 123, userRole : 'admin' }
    Проблемы с JWT это с обновлением токена. Делают либо бессрочный доступ, либо например на месяц, через месяц пользователь будет вынуждень заново залогинится. Не удобно, но решаемо, на стековерфлоу были примеры обхода этого ограничения при помощи рефреш токена.
    Ответ написан
    Комментировать
  • Как работает роутинг в связке angular2 + express?

    zo0m
    @zo0m
    full stack developer
    предположим приложение у нас состоит из back и front папочек, которые компилятся в /dist/*

    let root = process.cwd();
            let nodeModules = '/node_modules/';
            let clientFiles = '/dist/front';
    
            application.use(express.static(path.join(_root , nodeModules)));
            // настраиваем express, указывая ссылку на папку с билдом фронтенда вот так
            application.use(express.static(path.join(_root , clientFiles)));
            // теперь экспресс будет знать где искать статику, т.е. наш front + node_modules папку
    
            // конфигурим API роутер, 
            router = express.Router();
            router
              .route('/todos')
              .get(TodoController.getAll)
              .post(TodoController.createTodo);
    
            // прячем все вызовы к api в отдельную ветку
            application.use('/api', router);
            // API ошибки будем обрабатывать своим JSON ответом
            application.use('/api', function (error: any, req: express.Request, res: express.Response, next: express.NextFunction){
                    res.status(statusCode).json({error});
            }); 
    
            application.all('*', (req: any, res: any) => {  // все остальное отправляем в dist/front/index.html/angularRoute
                res.status(200).sendFile(path.join(root, clientFiles, '/index.html'));
            });


    Прикол в том что ваше api не знает ваших front-овых роутов.
    Поэтому когда в express попадает роут: '/users/1' и он его не находит, он отправляет его в index.html => index.html/users/1 , теперь ангуляр смотрит есть ли у него такой роут, и если нет, то тогда рисует страницу с ошибкой.
    Однако api это чисто back-ендовские роуты, соответственно для этой ветки, мы эррор хендлер повесили.
    Ответ написан
    Комментировать
  • Что нужно знать для разработки клиент-серверного приложения на Android?

    zo0m
    @zo0m
    full stack developer
    Если вы начинающий, то возьмите https://firebase.google.com для начала, и сфокусируйте внимание на мобильном приложении. Не распыляйтесь.
    Если спустя какое-то время firebase покажется мало, то по крайней мере разберетесь, как должно выглядеть и работать нормальное API.
    Ответ написан
    Комментировать
  • NodeJS Как писать парсеры без зацикливания?

    zo0m
    @zo0m
    full stack developer
    Не совсем ясно о каких циклах идет речь, попробуйте поглядеть на промисы:
    bluebirdjs.com/docs/api/promise.map.html
    Ответ написан
    Комментировать
  • Как заставить setInterval сразу запускатся?

    zo0m
    @zo0m
    full stack developer
    var func = function() { alert('test'); };
    func();
    setInterval(func, 1000);

    может так?
    Ответ написан
    3 комментария
  • Как лучше организовать фабричный метод?

    zo0m
    @zo0m
    full stack developer
    Как вариант - Map
    Ответ написан
    Комментировать
  • Этапы создания приложения (для не программиста)?

    zo0m
    @zo0m
    full stack developer
    Разработка приложения, и создание бизнеса это разные отрасли.
    Например, сделать приложение "Instagramm" может куча разработчиков по всему миру, запустить такой бизнес гораздо меньше и это будут больше бизнесмены чем разработчики.
    Поэтому можно не боятся, что разработчик, уведет проект, вложит свои деньги, возьмет на себя риски, решит заниматься налаживанием бизнес процессов, и всякой управленческой мутью.
    Зачем ему это?
    Умный человек понимает, что шанс "выстрелить" 1 к 10 (какая гениальная идея там у вас не была).
    Поэтому разработчик не будет рисковать своими деньгами, а привлекать внешние инвестиции, это не наш конёк. :)
    Те кому это интересно уже скорее всего делают свой проект. Вы же обращаетесь к тем, кто предпочитает продавать свое время за фиксированную сумму, без всяких журавлей в небе.

    Ну и плюс для параноиков, есть всякие NDA.

    А умные люди берут в команду СТО, которому помимо хорошей ЗП дают пару процентов проекта.
    Ответ написан
    Комментировать
  • Какой оптимальный инструмент для эмуляции HLoad нагрузки на веб-сервер?

    zo0m
    @zo0m
    full stack developer
    давно таким не занимался, но когда-то чуть ли не стандартом был jmeter.apache.org
    Ответ написан
    Комментировать
  • На чем писать кроссплатформенные приложения?

    zo0m
    @zo0m
    full stack developer
    Я не могу рекомендовать, но я бы поглядел на Angular2, а именно вместе с :
    - NativeScript для мобилок (https://www.nativescript.org/showcases)
    - Electron для десктопа (electron.atom.io/apps/)
    Я этими штуками пока, что не пользовался. А от Angular2 в восторге, очень логичный и правильный фреймворк выходит, как по мне. Пишу уже почти пол года на нем.
    Ответ написан
    5 комментариев
  • Зачем тестировать код?

    zo0m
    @zo0m
    full stack developer
    Отдельный вопрос действительно ли нужны вам тесты.

    Но если очень хочется, то можно, например, тестировать, что после вызова insertPages у вас действительно вставилась страница.
    Для этого мокаете базу, выполняете инсерт, потом получаете эту запись из базы, сравниваете, проверяя совпадает ли то что вы записывали и то что записалось.
    Зачем? Ну например, завтра какой-нибудь "Вася" на проекте поменяет поле "content" в базе на "content_id" и нормально не отрефакторит код.

    Так же можно проверить, что будет с невалидными данными, они должны выбросить исключение, ну и т.п.
    Ответ написан
    Комментировать
  • Нанять IT специалистов или Заказать на аутсорсинге?

    zo0m
    @zo0m
    full stack developer
    Зависит от того сколько у вас денег :) и масштаба проекта.
    Если вам хочется "проще", то вы платите за то, что "головняк по организации" будет лежать не на вас.
    И ответственность за работу специалистов, сроки, качество будет нести человек, которому вы платите деньги, соответственно есть с кого спрашивать.

    Не знаю вашего проекта, но мой вариант такой.
    Для начала хорошо бы сделать MVP, это примитивно работающее приложение с базовыми функциями. Прежде чем вкладывать большие деньги во что-то, хорошо бы попробовать будущее приложение заранее. Пусть оно будет кривое косое и почти не работающее, MVP даст вам возможность понять, выстрелит ли вообще ваша идея.
    Еще MVP хорошо, чтобы попробовать разработку приложения "в миниатюре", без рисков, а так же подходит ли вам вариант с фрилансом.
    Так же можете обратится в студии, по поводу MVP, узнать цены, а потом сравнить сколько вы сэкономили.
    Код MVP скорее всего выкинется, поэтому можно нанять кого угодно.
    Если вам понравится работать с фрилансерами, то вопрос отпадет сам собой.

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

    Так же есть вариант одного fullstack разработчика, плюс - вся ответственность за результат на конкретном человеке.
    Ответ написан
    Комментировать
  • Что использовать при разработке мобильного приложения дублирующего сайт?

    zo0m
    @zo0m
    full stack developer
    Я пользуюсь Appcelerator Titanium, вот недавняя статья на хабре, может прояснит вопрос:
    https://habrahabr.ru/post/283318

    Если вы веб разработчик и вам нужно запилить приложение поскорее, и готовы пожертвовать некоторым уровнем качества смотрите на HTML based кроссплатформенные приложения.
    Потом по качеству идет Appcelerator, Xamarin
    Ну и самая круть Native, но писать одновременно на нескольких платформах один и тот же код, еще то извращение, как по мне.
    Ответ написан
    2 комментария
  • Как быстро реализовать приложение?

    zo0m
    @zo0m
    full stack developer
    Сделайте Бота-для "Телеграм", быстро и сердито)

    - - -
    UPDATE:
    Бот не подошел, согласен, а вот в эту сторону : https://zapier.com
    ?
    Ответ написан
  • Скрипт добавляет записи в БД после завершения?

    zo0m
    @zo0m
    full stack developer
    Сценарий "bulk" операции:
    - Подготавливаете данные
    - Открываете соединение с базой
    - Открываете транзакцию
    - Выполняете всю пачку Insert-ов
    - Закрываете транзакцию

    Если операция прервана между открытием и закрытием транзакции, то изменения откатятся.
    Раз на 100 тыс. записей у вас виснет скрипт, то могу предположить, что вы закрываете\открываете транзакцию, на каждый insert - что очень неэкономично.
    Ответ написан
  • Как работают коллбеки?

    zo0m
    @zo0m
    full stack developer
    В JavaScript можно передавать одну функцию в другую функцию, и вызвать ее там, в нужный момент, вот и все.

    var callbackFunc = function (callbackText) { // описываем наш колбек, это обычная функция
      console.log("callbackFunc say :: " + callbackText);
    };
    var runCallbackFunction = function (callbackToRunFunc) { // это функция, которая запустит коллбек
      callbackToRunFunc("run as callback")
    }
    runCallbackFunction(callbackFunc); // запускаем функцию которая запустить переданный в параметры колбек
    Ответ написан
    1 комментарий