• SEO в 2019 это карго-культ? Или, всё-таки, стоит в своей компании держать опытного SEO-шника?

    zo0m
    @zo0m
    full stack developer
    Есть канал в телеге от продуктолога: https://t.me/betternotworse
    там был пост про SEO:
    5d4e53d8e28f0151709122.png
    Ответ написан
    Комментировать
  • Насколько адекватно юзать "рабочий код" в собственных проектах?

    zo0m
    @zo0m
    full stack developer
    1. Нельзя. Это воровство.
    2. Можно использовать любой стек. Если хотите меньше вопросов и иметь козырь "Да у меня тут вообще другие технологии используются" - то ход хороший.

    На VC.ru недавно обсуждали, сотрудник использовал свою разработку в компании, а когда увольнялся чуть не потерял на неё права.

    и вот цитата из другой статьи:
    """
    Служебное произведение — это произведение, созданное работником в рамках своих трудовых обязанностей. Это может быть программный код, рекламные слоганы, графические решения интернет-сайта. Естественно, работодатель уверен, что раз работник создал такой объект, то права на его использование принадлежат компании.

    Об этом говорит и статья 1295 ГК РФ.
    """
    Ответ написан
    2 комментария
  • Как проектировать приложение с нуля?

    zo0m
    @zo0m
    full stack developer
    Начинаю с мокапов экранов на бумажке, чтобы понять, что именно я собираюсь делать.
    Потом делаю прототип, почти без логики, в основном вьюшки с захардкожеными данными.
    Становится понятно, что за сущности мне будут нужны.
    Берусь за MVP, т.е. превращаю прототип в рабочее приложение, т.е разбиваю вьюшки прототипа на компоненты, добавляю модели, слой логики, привожу в порядок структуру приложения.
    Дальше "наращиваю мясо" на MVP, пока не наберётся критическое количество изменений, потом делаю большой рефакторинг, после - "релиз".

    Мне нравится книга «Getting Real» от 37 signals, бесплатная, вроде уже перевели.
    Ответ написан
    3 комментария
  • Кому принадлежит исходный код приложения созданного фрилансером на UpWork?

    zo0m
    @zo0m
    full stack developer
    Создаёте приватный репозиторий на bitbucket
    Добавляете туда исполнителя
    Все изменения в коде должны фиксироваться там начиная со старта проекта
    (любой нормальный программист обязан уметь пользоваться системой контроля версий, и объяснять ему не нужно)

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

    Более того, на битбакет есть раздел issues, там можно создавать отдельные задачи. И трекать их исполнение, т.е. например задача: "добавить кнопку логин на главную", исполнитель, когда её будет закрывать - укажет номер коммита (и в идеале ветки), где эта задача выполнена, сразу со ссылкой на него.
    И мини вики, где удобно хранить базу знаний по проекту.

    Контракт у вас лучше был бы почасовый, это помимо кучи других плюшек, страхует уже отработанные часы исполнителя, поэтому он не будет от вас ничего прятать.
    Ответ написан
    Комментировать
  • Подойдёт ли CoffeeScript для общего назначения?

    zo0m
    @zo0m
    full stack developer
    Я обожаю кофе, но вы правы он перестал быть популярным с выходом TypeScript и ES6. Хотя оператора '?' очень не хватает :(((.

    Использую активно в собственных проектах, но клиентам его не продашь :)

    Если зацепил Кофе, то поглядите ещё на Jade/Pug, грубо говоря, тоже самое, что кофе, только для html/xml шаблонов.
    Ответ написан
    Комментировать
  • Можно ли всё таки писать приложения на iphone под windows на appcelerator?

    zo0m
    @zo0m
    full stack developer
    Воспользуйтесь VMware и собирайте себе iOS сборку на здоровье, код я шарю через 'Shared Folders', т.к. в винде редактором мне удобнее.

    Мы тут немного подробнее обсудили: https://toster.ru/answer?answer_id=1180078
    Ответ написан
    Комментировать
  • Какие инструменты для разработки мобильного приложения на базе веб-технологий сейчас есть?

    zo0m
    @zo0m
    full stack developer
    Последние года 3 пользуюсь Appcelerator Titanium.
    https://github.com/appcelerator/titanium_mobile

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

    Чем он хорош?

    Как и React Native и Xamarin он предоставляет возможность создания _нативных_ приложений, управляемых JavaScript, в отличии от Cordova/Phonegap.

    Другой момент, в отличии от конкурентов в Appcelerator появилась возможность писать на JavaScript _нативный код_ ! который при помощи специального транслятора (Hyperloop) превращается в Java / Obj. C
    Эта штука позволяет напрямую дергать нативное окружение, минуя бридж между виртуальной машиной V8 и системой, а так же использовать любые нативные фреймворки внутри вашего приложения.
    https://www.appcelerator.com/mobile-app-developmen...

    Есть MVC фреймворк Alloy:
    docs.appcelerator.com/platform/latest/#!/guide/All...

    Менеджер модулей:
    gitt.io

    Так же из коробки есть облачко, если не хочется писать сервер (я пользуюсь им, как бекапом):
    docs.appcelerator.com/platform/latest/#!/guide/Mob...

    Есть так же аналитика, бесплатный вариант порезанный, но мне хватает.

    Добавлю:
    Для моделей используется надстройка над Backbone:
    docs.appcelerator.com/platform/latest/#!/guide/All...
    Которая умеет синкаться с SQLite

    Так же пользуюсь модифицированным app.tss из https://github.com/TNuzzi/wriststrap
    (https://github.com/TNuzzi/wriststrap/blob/master/t...
    плюс Jade/Pug (можно через Grunt в XML перегонять, но я пользуюсь Jade Watcher в WebStorm) и получаются симпатичные на мой вкус шаблоны:
    Alloy
        ScrollView.w-fill.h-fill.lo-v(right=10, left=10).st-vertical  // lo-v == (layout='vertical'), w-fill == (width="FILL")
            Label#eventName.event-name.l-0
    
            View.lo-c(top=10)
                ImageView#photo.event-info-photo(onLoad="photoLoad")
                View.event-info-date-time
                    Label#date.event-info-date-time-label.event-info-date
                    Label#type.event-info-date-time-label.event-info-type
                Label#price.event-info-price
    
            Require#details(src='event/card/event_card_details')
            View.bottom-spacer


    Если хочется просто запустить локальный сайт, аля Phonegap, просто кидаем в шаблоне WebView компонент:
    docs.appcelerator.com/platform/latest/#!/api/Titan...
    растягиваем по экрану: width="Ti.UI.FILL", height="Ti.UI.FILL"
    в папку с assets добавляем папку с продакшн билдом вашего веб-проекта, и в WebView проставляем ссылку.
    Получится та же Cordova, только с уровнем доступа выше, вы через EventListener-ы получите доступ к любым нативным функциям, без сторонних плагинов.

    И напоследок канал в Слэк:
    https://ti-slack.slack.com
    Ответ написан
    3 комментария
  • Доступ Android приложения на базе WebView к уведомлениям?

    zo0m
    @zo0m
    full stack developer
    Я пользуюсь для кроссплатформенных приложений Appcelerator Titanium
    там можно соединять через eventListener-ы содержимое WebView и "внешнего приложения",

    docs.appcelerator.com/platform/latest/#!/api/Titan...
    You can use Titanium.App.addEventListener and Titanium.App.fireEvent to receive and send application-level events.


    Не знаю чем вы запаковывали, но можете попробовать Titanium. Вам нужно поставить лишь 1 компонент и закинуть html файлик в assets
    Ответ написан
    Комментировать
  • Каким образом можно привлечь инвестиции в проект?

    zo0m
    @zo0m
    full stack developer
    Не раз в интернетах натыкался на совет:
    Сделать лендинг, как будто продукт готов, или скоро запустится, и оставить форму сбора email-ов, чтобы сообщить когда им можно будет воспользоваться.
    На лендинг поставить аналитику, например от Гугла
    Купить рекламы в Адсенс на 100 долларов и смотреть конверсии.
    Можно сделать несколько лендингов, с разной ценовой политикой, оформлением под различные сегменты, и посмотреть что лучше работает.
    Я думаю вот эти цифры и будут интересны инвестору, сколько стоил вам один переход, и сколько переходов превратилось в "клиента", т.е. оставило мейл, какая цена наиболее удачна и т.п.
    Закажите дизайн пары страниц у дизайнера и показывайте их на лендинге потенциальным клиентам, тогда убедитесь, что продукт который у вас в голове совпадает с ожиданиями рынка.

    Ну и добавлю:
    Можете подготовитть стандартный питч из десятка слайдов, можете посмотреть примеры знаменитостей тут:
    https://attach.io/startup-pitch-decks
    и купить готовый набор шаблонов тут: https://basetemplates.com/pitch-deck-template
    или найти в интернете чет аналогичное
    на слайдах цель - объяснить в чём "боль" пользователя, и какую "таблетку" вы предлагаете,
    слайды короткие по существу
    и вот туда будет уместно поместить ваши исследования рынка
    и рассылать потенциальным инвесторам на мейлы, показывать картинки на телефоне и объяснять словами или питчить на всяких, прости госпади, стартап-конференциях.

    Люди существа ленивые, и читать много текста очень не любят, то ли дело 12 слайдов-картинок с 5-10 словами на странице, ещё и графики предполагаемого профита очень красивые, другое дело.

    Но я часто слышал, что многие инвесторы прежде всего заинтересованы в команде, т.к. всегда можно сделать pivot, но не так просто поменять команду.
    Поэтому имеет смысл начать с хакатонов, собирать единомышленников, готовя демку или mvp, заодно потренируетесь доказывать, что задуманное выстрелит и переосмыслите всё ещё несколько раз.
    Ответ написан
    3 комментария
  • Как написать REST/RESTful приложение для связки в дальнейшем с Angular 5?

    zo0m
    @zo0m
    full stack developer
    Самый лучший способ - воспользоваться Сваггером. Описать свой API в редакторе ( https://editor.swagger.io ), а потом сгенерировать готовый код nodejs "Generate Server"->"nodejs-server"

    На выходе получите работающее API, только данные будут тестовые. Открываете сгенерированный код, и цепляете свою логику. Рекомендую саму логику вынести в отдельный файл, и из сгенерированного просто прокинуть вызовы. Тогда, когда вам понадобится изменить/дополнить API вы меняете конфигураци в редакторе сваггера и генерите заново стабу для сервера.
    Ответ написан
    Комментировать
  • На какой платформе писать мобильное приложение для IOS и Андроид?

    zo0m
    @zo0m
    full stack developer
    а я за Appcelerator, в отличии от Xamarin там JavaScript, а в отличии от Cordova(Phonegap) там настоящие нативные контролы, а не запущенный веб браузер
    Ответ написан
    Комментировать
  • Алгоритм бесконечной прокрутки контента?

    zo0m
    @zo0m
    full stack developer
    "эй, база дай мне первые 10 материалов",
    "эй, база дай мне следующие 10 материалов, после последнего из первой десятки"
    Ответ написан
    2 комментария
  • Как правильно организовать работу бекэнда у мобильного приложения?

    zo0m
    @zo0m
    full stack developer
    Можно писать не в базу, а в какой-нибудь redis и например раз в минуту запускать балковые квери. Сэкономим время на rountrip-ах.
    Update можно переписать, чтобы он высчитывал количество read из Log таблицы.

    И вообще лучше всего запилить пару PoC, взять какой-нибудь JMeter и померить.
    Ответ написан
    Комментировать
  • Вопрос по промисам, что я упустил?

    zo0m
    @zo0m
    full stack developer
    так вы уже обработали ошибку выше, внутри login() функции.
    Пробросьте ошибку дальше а не просто пишите в лог.
    .catch(err => {
    window.console.log(err);
    throw err;
    }
    );
    Ответ написан
    1 комментарий
  • Что посоветуете почитать для левелапа в JS?

    zo0m
    @zo0m
    full stack developer
    Посмотрите как рекомендуют писать крутые чуваки из гугла:
    https://angular.io/tutorial
    Прекрасно тем, что можно сочетать с практикой.
    т.е. придумайте себе учебную задачу и пилите Angular2 приложение, только "по-честному", разбирая рекомендации из документации, заодно RxJS захватите.
    Ответ написан
  • В чем отличие профессии ux/ui дизайнера от дизайнера мобильных приложений?

    zo0m
    @zo0m
    full stack developer
    1. Ну во-первых, UX/UI должен понимать каждый дизайнер независимо от специализации.
    Во-вторых, как мне кажется, разница в том, что результатом работы UX/UI дизайнера - будут моки, пользовательские сценарии, персонажи, в отличии от дизайнера приложений, которому надо выдать картинку, которая уже станет версткой.

    2. Настоящих UX/UI я почти не видел, сомневаюсь что на нашем пространстве это востребовано. Разве только для крупных проектов/компаний. С другой стороны для UX/UI важно понимание сути проекта, какие задачи он решает, кто пользователи, в чем их боль и т.п. Нужен контакт с клиентом, и будущими пользователями. Соответственно, если хотите работать на западные проекты - придется учить английский до Upper Intermediate, как минимум, иначе не сможете делать хорошо свою работу.

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

    zo0m
    @zo0m
    full stack developer
    Прочтите пяток страниц из Философии Java, там вначале Эккель, на сколько я помню, граммотно разобрал этот вопрос. Помню, лет 8 назад мне помогло)
    Вот со второй страницы читайте:
    www.rulit.me/books/filosofiya-java-read-180907-2.html

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

    zo0m
    @zo0m
    full stack developer
    Когда будет тормозить, тогда и переходите.
    Все скорее всего будет упираться в количество пользователей.
    Ответ написан
    2 комментария
  • NodeJS собрать в один файл?

    zo0m
    @zo0m
    full stack developer
    Поглядите webpack, получите на выходе JS файл
    Ответ написан
    1 комментарий