Задать вопрос
Занимаюсь web-проектами используя:
- Node.JS, Angular..JS, PHP, Javascript, Perl;
- MongoDB, CouchDB, MySQL, PostgreSQL;
- HTML5, CSS3, Less, SASS, Stylus.

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (22)

Лучшие ответы пользователя

Все ответы (29)
  • Хочу на советском авто вывести всю электрику на планшет. Какие будут идеи?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Давайте пофантазируем?
    На чтение данных: спидометр, тахометр, датчики температур/давления (жидкостей, газов), состояние заряда аккумулятора, состояние различных узлов (не знаю что нужно вам снимать), гироскоп (наклоны поперечные/продольные), заполненность бензобака и т.п.;
    На управление: всё чем можно управлять и более, например: свет, микро-двигатели зеркал, всех дворников, управление трансмиссией, там ... мосты, приводы, высота амортизаторов, топливный тракт - экономайзинг, топливная смесь, режим турбины, и т.п.
    В салоне: музыка (там вообще много чего), свет, видео, кресла, подогрев - руля, кресел, салона, кондиционер, состояние электросети, стёкла, увлажнитель, сигналка, прогрев двигателя, тонировка стекол, навигация, информатор и т.п.
    Тут мне видится несколько архитектурных слоёв:
    1. Уровень всевозможных датчиков: пьезо-, электромагнитных, гироскопы, давления, термопары и тп
    2. Гальваническая развязка, проводка, реле и вывод на плату компьютера/контроллера
    3. ОС - низкий уровень: драйвера, управлением датчиками, устройствами
    4. ОС - прикладной уровень : Интерфейс управления и мониторинга всей электро-кухни авто
    Каждый из слоев по-хорошему нуждается в высококлассном специалисте с опытом разработки, например, с помощью какого датчика лучше всего снять данную физику процесса? Или как завести все устройства на компьютер? Сколько и каких портов будет задействовано? В каком формате общение с датчиками чтение/запись, аналог, цифра? Температурные/механические характеристики ус-в. Все очень тщательно спроектировать и заказать плату, компоненты (предварительно отладив/протестировав все на монтажках). Написать драйвера или код низкоуровневой абстракции.
    Выйти на самое интересное – требования к ПО системе мониторинга и управления всем этим хозяйством, логирование, шина сообщений, асинхронность/синхронность всех процессов, цепочки процессов, например, датчик давления порождает событие, параметры которого, запускают долив масла в систему. Это нужно хорошо разбираться на системном уровне с ОС, например linux, android, и тп
    Далее – отображение виджетов: панели, кнопки, информаторы, сигнализация, сообщения, стрелочные/цифровые индиикаторы, и тп И все это должно быть минималистично, с идеальным юзабилити, тк на трассе некогда заходить в менюшку, искать раздел, выбирать подменю, запускать и настраивать 10 параметров. В идеале 3 - клика и все очевидно. Ранжирование на ОЧЕНЬ важных, НОРМАЛЬНЫХ и НЕВАЖНЫХ узлов настройки управления, например, переключать режим работы моста не так часто, как например включать поворотники, поэтому в интерфейсе они должны быть на ближайшей панели управления, а мост можно и чуть подальше запрятать.
    Асинхронность всех событий и их отладка – это отдельная тема для дискуссии, это зависимые события, триггеры, ивенты ...
    Если есть время и разносторонние квалификации (возможно разных многих людей), то почему бы и нет? Лучше всего это выделить в стартап не на один год естественно.
    Роли: авто-механик, авто-электрик, инженер-электронщик, программисты 3 штуки и тп
    Можно конечно и не заморачиваться настолько и обвязками подключать неск. штук ус-в, но я описал общий принцип, если интересно, опишу подробнее каждый их слоев.

    Короче ... оно вам надо??
    Ответ написан
    2 комментария
  • Необходимо за короткий срок полностью овладеть Ubuntu GNU/Linux, как?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Я считаю, что любая область знаний требует для овладения ею настойчивого внимания со стороны обучающегося. Хорошей практикой, конечно, будет установка linux на рабочий комп в качестве основной (я так сделал 20 лет назад). Но Window Manager развращает, т.к. основной объём знаний и навыков с linux основан на работе с её внутренностями: filesystem, shell, processes, services, devices ... вобщем, впитать мощь архитектуры SystemV (если про linux). Но это лучше сделать с прикладными задачами, коих великое множество! Настройка хостинга, деплой проектов, установка и эксплуатация сервисов, непосредственно - разработка, скриптинг в shell, perl и т.д. и т.п. А сгенерить эти задачи может только сама профессия. Короче, прям быстро поднять навыки, я сомневаюсь что получится, но со временем, через интерес к linux и настойчивой работе с ним вы станете хорошим профи. 90% ответов на ваши вопросы вы найдете через google-поиск, stackoverflow, etc.
    Ответ написан
    Комментировать
  • Какими профессиональными навыками должен обладать Linux-сисадмин-фрилансер?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Если позволите, расскажу немного про свой опыт.
    20 лет назад засел чисто из любопытства за новые операционки QNX, Linux (тогда был по-моему RedHat 2.0), что как воздух были по-сравнению с OS/2 - идея прогрессивная, но реализация крайне неудобная.
    Таким образом сильно увлекся и начал изучать тело новой ОС. Железо было тогда слабое, приходилось пересобирать ядра постоянно для оптимизации производительности, а если что-то не работало, то лезть в исходный код править. Таким образом пришло ощущение как устроена ОС внутри, что такое системные библиотеки, как и какие подключать модули (драйвера) железа и т.п.
    Я решил отказаться от Win95 и старался работать только под Linux. Таким образом мне постоянно приходилось работать в консоли, WM, настраивать под себя рабочую среду:
    - различные Shell (bash, csh, zsh, sh) и их конфиги, скриптинг;
    - конфигурация, компоновка и сборка различных пакетов (тогда репо не очень были развиты, а бинарники и исходники ОС качали и писали на CDROM или ставили по локалке). Самый хороший опыт дало сборка вручную LAMP, то-есть сборка и настройка PHP, MySQL, Apache и различные примочки для него mod_perl, mod_php, mysqli/native и различные варианты под конкретную задачу. Сборка, настройка Sendmail через M4-процессор и куча ньюансов которые приходилось по крупицам собирать на форумах, IRC, BBS;
    - для эффективной работы в linux надо владеть по-крайней мере каким-то скриптовым языком bash, sh, perl, python. На мой взгляд perl и sh подходит лучше всего. Владеть массой инструментов для удобной работы sed, awk, find, tail, grep, ssh и тд. Знать regexp - обязательно. VIM imho лучший текстовый редактор для linux.
    - владеть знаниями и умением работать с сетями. OSI-модель, различные семейства протоколов от низкоуровневых (Ethernet, ISDN, DSL, FDDI) и до высших слоев (HTTP, DHCP, DNS), чтобы при возникновении какой-то проблемы понимать а где вообще затык? Например, попробуйте открыть telnet mail.server.com 25 на почтовик и отправить письмо себе на почту вручную.
    Сюда же можно отнести настройку firewal - iptables, ipfw и тд. Работу с цепочками правил - сохранять, восстанавливать, создавать, получать статистику. Туннели, VPN.
    - Современные реалии, когда куча очень развитых репо и установка/настройка зачастую ограничивается поиском и инсталляцией нужного пакета, нужно владеть интеграционными представлениями и шаблонными настройками различных сервисов. Например для web-стека это: nginx, HA-proxy, php-fpm, mysql, python, postgrees, node.js/npm и тд
    Не маловажно понимать/уметь настраивать кластерные и высоконагруженные решения на основе vmWare, OpenVZ, прочитайте про виртуализацию.
    Вообще работа с linux - это постоянный сбор каких-то статистических параметров - логов, мониторинг и способность поиска на основе этих данных, но тут важен опыт и знания, которые приобретаются со временем.
    50% информации есть уже в инете: stackexchange.com, stackoverflow.com и т.п.
    50% личный опыт и стиль нарабатываемый со временем и не бойтесь экспериментировать и расширять кругозор.
    Сорри, 10 лет как ушел в разработку, может чего-то забыл упомянуть.
    Ответ написан
    Комментировать
  • Как распаковать Phar архив?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Ответ написан
    Комментировать
  • Как использовать сетку bootstrap без стилей bootstrap?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    можно скачать исходники bootstrap-а и подключить только необходимое, например
    variables.less, grid.less и при сборке у вас будет только то что вы включите.
    если сложности с ручным добавлением, то aen дал ссылку на интерфейс для сборки
    Ответ написан
    Комментировать