Search
Write a publication
Pull to refresh
0
0
Максим Цветинский @MaxGR

User

Send message

Работа с COM портом в web-проекте

Reading time4 min
Views52K

Пролог


Один из клиентов нашего web-проекта захотел использовать для поиска заказов в системе сканер штрихкодов. Но, к сожалению, полностью отказался от идеи работы с ними в режиме имитации клавиатуры — только эмуляция COM-порта.
Вариантов решения было не особенно много:
  • отдельное нативное приложение, которое бы отправляло запрос на наш сервер, а сервер бы отдавал команду в браузер
  • работа с COM портом непосредственно из браузера

К счастью, есть способ решения проблемы вторым путём.

Читать дальше →

Мобильные приложения для веб-разработчиков

Reading time6 min
Views24K
Путь разработчика мобильного приложения часто начинается с выбора: разрабатывать под iOS, Android или Windows? Этот выбор мгновенно уменьшает размер вашей потенциальной аудитории, но разработчики вынуждены принимать подобные решения. Те, кто хочет присутствовать по всех трех магазинах приложений, приходят к необходимости переписывать приложение под каждую платформу.



Visual Studio позволяет поддерживать максимальный охват пользователей, достигая при этом значительного повторного использования кода. С помощью Xamarin C#-разработчики могут поддерживать общую бизнес-логику между iOS, Android и Windows-приложениями. С помощью Apache Cordova веб-разработчики могут достичь максимального повторного использования кода, создавая кросс-платформенные приложения на HTML, CSS и JavaScript.

В этой статьей мы посмотрим в деталях, как вы можете использовать расширение “Multi-Device Hybrid Apps” для Visual Studio, для второго сценария – создания кросс-платформенных приложений с использованием веб-стандартов. Чтобы следовать за статьей:

Читать дальше →

Как искать клиентов для небольшой региональной веб-студии

Reading time5 min
Views96K
image
К сожалению у нас таких не было.

Хочу поделиться нашим опытом привлечение клиентов для вновь созданной веб-студии. Основанием нашей веб-студии официально можно считать 31 августа 2012 года, именно тогда мне выдали свидетельство о регистрации меня как индивидуального предпринимателя. С этого момента было перепробовано много методов привлечения клиентов в нашу молодую веб-студию. Все будущие сотрудник еще трудились на прежних местах работы и по вечерам делали сайты, а я в свою очередь пытался найти клиентов, совмещая с эникейством нескольких не больших организаций (да и так бывает, менеджер из эникейщика). Разработкой сайтов профессионально никто из нас раньше не занимался и естественно, как и кому продавать сайты тоже не знали. Все делалось путем проб и ошибок. Сначала не было даже программиста, был дизайнер и верстальщик в одном лице (в то время не очень сильный) и я в роли менеджера (тоже откровенно слабый).
Приступим к перечислению что делалось, как работало, а что не приносило результата:
Читать дальше →

Как мы отучили аутсорсинг перекидываться мячом со внутренним ИТ-отделом

Reading time5 min
Views52K


Мы используем как аутсорс, так и свои внутренние ресурсы ИТ-отдела. На одном физическом сервере может быть сервис, за который отвечают внешние сотрудники, и сервис, за который отвечаем мы. И от сезона эти сервисы могут мигрировать внутрь компании или выходить наружу.

Началась история с того, что нам понадобилась централизованная система с фермой терминалов. На тот момент у нас было порядка 10 магазинов, и каждый из них вёл свою базу, данные из которой использовались для составления совокупного отчёта в конце периода или по запросу.
Читать дальше →

Как Ричард Брэнсон разрешил сотрудникам своих офисов уходить в отпуск в любое время и на любой срок

Reading time3 min
Views142K
Во вторник Брэнсон разместил в своём блоге пост «Почему мы разрешаем сотрудникам Virgin брать столько выходных, сколько они считают нужным».


Фото Virgin.com

Гибкий график изменил то, как, где и когда мы делаем нашу работу. Что ж, если работа с 9 до 5 перестала быть обязательной — зачем придерживаться строгого графика ежегодного отпуска?
Читать дальше →

Хороший менеджер – ленивый менеджер

Reading time3 min
Views110K
Случалось ли вам наблюдать, как руководитель проекта с самого его начала постоянно занимается пожаротушением, полностью погружен в борьбу с неотложными проблемами, темп поступления которых превышает скорость их решения. Все задачи, которые получает команда проекта, имеют наивысший приоритет и срочность: «Это надо было сделать еще вчера!» Трудовой героизм. Постоянные сверхурочные. Субботники. Авралы. Обучение, анализ, планирование, проектирование, тестирование, рефакторинг – «это все потом!».

Знакомо?

«Хорошо управляемое предприятие — это спокойное место. Зато «фабрика, отличающаяся «кипучей» деятельностью и «трудовым героизмом» работников, который бросается в глаза любому посетителю, является на самом деле плохо управляемой», писал управленческий авторитет Питер Фердинанд Друкер.

Проблема большинства проектов разработки ПО заключается не в том, что люди мало трудятся, а в том, что они делают не ту работу, которую нужно делать. Хороший менеджер должен руководствоваться фундаментальным принципом наименьшего действия и, следовательно, быть ленивым. И у него все получится. Почему?
Читать дальше →

Мой опыт преподавания

Reading time5 min
Views48K

Здравствуйте


В этом посте я расскажу о своем опыте преподавания. В частности, опишу, какие ошибки совершил и как исправил. Опишу методы, которые применял для обучения, а так же расскажу о своих планах на текущий учебный год.

Предисловие. О себе и как так получилось

Я работаю в маленькой компании в должности программиста, по факту системным администратором эникея. В начале 2014 года ко мне обратились из техникума, который в далеком прошлом закончил по специальности «Бухгалтер-экономист» и предложили преподавать бухгалтерам предмет «1С: Предприятие». С глазами по 5 копеек рублей от страха я согласился.
Читать дальше →

Статические сайты: настройка и оптимизация

Reading time10 min
Views32K
статические сайты

Продолжаем цикл публикаций о статических сайтах на базе нашего облачного хранилища (см. предыдущие публикации здесь и здесь). Сегодня мы подробно обсудим вопросы их тонкой настройки и оптимизации.

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

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

Почему у нас нет боссов и офиса, и почему мы работаем 4 дня в неделю

Reading time4 min
Views159K


В 2008 мы с партнёром закончили обучение по специальности «компьютерная инженерия» в университете в Аргентине.

На старших курсах мы проходили стажировку в таких компаниях, как HP, IBM, Intel. Именно тогда мы заметили недостаток в их работе. Мы не могли понять, почему люди без технических знаний говорят программистам, что им делать, и кроме того, проверяют, как именно они это делают.

Поэтому, когда мы делали Project eMT, сравнительный поисковик для Латинской Америки, мы решили работать по-другому: без менеджеров проектов. Через шесть лет у нас в команде было 34 инженера из Чили, Бразилии, Мексики и Колумбии, и мы всё ещё работаем без использования традиционных структур и рабочего графика, а наш ежегодный рост составляет 204%.
Вот как мы это делаем.

Legacy-фобия

Reading time7 min
Views39K
Коллеги, у меня для вас есть замечательная новость, мы получили чудесный проект, его несколько лет писали неизвестные нам разработчики, адрес которых мы вряд ли узнаем (чтобы «поделиться обратной связью»), писали очень давно и не известно под чем, и нам предстоит его поддерживать и развивать. Проект сейчас находится на пике своей производительности и мы скоро упремся, любые неаккуратные изменения могут его положить, но мы будем его развивать. Ура!

Согласитесь, странно звучит? Как бред больного на голову программиста. Кто же любит legacy? Это же всегда говнокод (ведь только мы сами пишем идеально), в нем полно багов (а мы сами пишем без ошибок), ужасные решения (ведь только мы сами выбираем подходящую архитектуру), и почти всегда его сложно читать (ведь только мы сами пишем понятно и красиво).
Читать дальше →

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →

13-е сентября — День программиста (досрочное поздравление)

Reading time14 min
Views47K


Друзья, завтра День программиста! Наверняка у каждого из нас есть знакомый программист. Такой специальный человек, которого все просят починить компьютер, принтер, телефон, «а что, он же программист, значит шарит в компьютерах». Так вот, не забудьте завтра поздравить этих знакомых и важных людей! Но сегодня пятница, поэтому мы решили поздравить всех программистов заранее.

Важность труда программистов для мира IT трудно переоценить. И не только для него. Благодаря им у нас есть компьютеры, смартфоны, планшеты, сайты, соцсети, мессенджеры и даже Хабр. Теперь вот они ещё и очки с часами прокачали. Благодаря программистам, мы сегодня обрели способности полубогов, с точки зрения предков. Современные высокие технологии позволяют нам получить все знания мира, не вставая с дивана. Всего за несколько десятилетий развитие программирования радикально поменяло мир, сделало доступными невиданные, фантастические технологии. Мы теперь можем увидеть на маленьком устройстве каждый уголок планеты, сразу узнать о событиях, происходящих за тысячи километров от нас. И если к возможностям и универсальности компьютеров и мобильных гаджетов все давно привыкли, то нас ещё ожидают невероятные успехи в роботостроении. Глядя на текущие достижения, понимаешь, что пора сдувать пыль с трёх законов робототехники, они нам уже скоро понадобятся.

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



Поздравляем вас! Желаем безбажного кода, интересных проектов и успешных релизов! Кстати, наш CEO Дмитрий Гришин тоже когда-то был программистом, начав свою карьеру с должности разработчика ПО, подрабатывая на нескольких работах и учась при этом в Бауманке. Через два года он занял пост технического директора в новой компании Mail.Ru, которая несколько лет спустя выросла в крупнейшую IT-компанию России. В связи с праздником мы попросили наших программистов рассказать о том, почему они выбрали эту профессию, и что станет с программистами через 20 лет. Их рассказы читайте под катом.
Читать дальше →

Airbnb: советы, тонкости и маленькие хитрости

Reading time4 min
Views203K


Вы можете спросить себя: зачем мне это читать, если я и так пользуюсь сервисом Airbnb? Вы можете спросить себя: кто это такие и зачем мне читать о них? Мы не сможем ответить на второй вопрос — в этой статье нет ни слова о том, что такое Airbnb, зачем и кому он нужен. И здесь не будет FAQ по использованию сервиса. Но мы можем поделиться интересными советами с теми, кто уже пользовался нашими услугами или знает о них достаточно, чтобы быть готовыми ими воспользоваться. Советы у нас от очевидных до завуалированных, но все они в едином стиле направлены на то, чтобы сделать вашу работу эффективной интереснее ваше путешествие в любую из 190 представленных у нас стран.
Читать дальше →

Локальная сеть между домами с помощью WiFI моста

Reading time4 min
Views55K
Появилась необходимость сделать локальную сеть между двумя узлами, удаленными друг от друга на расстоянии 1.15 км. По скольку есть опыт оказания помощи другу и подключения его частного дома к FTTB сети соседней многоэтажки через роутеры производства Mikrotik, было решено на них и реализовать подключение. Выбор пал на RouterBOARD SXT Lite5 (прошу не считать за рекламу, но это лучший выбор за эту цену).

Характеристики и процесс монтажа, в т.ч. видео можно найти на сайте Mikrotik или дилеров по России. Пока что собран тестовый стенд. Параметры стенда- расстояние между точками 1.15 км по Яндекс картам. Одна точка установлена на балконе 8 этажа, вторая в квартире, расположенной так же 8 этаже, установлены на штативы для фото оборудования.
Схема, данные и настройки

Бюджетная многокамерная FullHD видеосъёмка концерта своими руками

Reading time15 min
Views49K
Прежде всего, конечно же, нужно сделать оговорку, что многокамерную съёмку нельзя в принципе сделать только своими руками, так как один человек физически не может одновременно работать сразу с пятью камерами. Так что, как минимум, видеооператороры нам всё-таки понадобятся. А в остальном, всё будет делаться своими руками с использованием подручных средств. И я постараюсь рассказать максимально подробно на конкретном примере о имеющихся нюансах (правда без указания конкретных денежных эквивалентов, так как это будет противоречить моим договорённостям с организатором мероприятия).
Читать дальше →

RDP vs RemoteFX

Reading time4 min
Views80K
В группе предприятий «Х» используют терминальные сервера.
Начался новый сезон и в одном из представительств загрузка cpu начала достигать 100 процентов, что есть плохо, особенно после того, как пользователи начали жаловаться на скорость работы.
Причина возникновения проблемы была не понятна, количество сотрудников не менялось, софт не менялся… Все представительства в одинаковых условиях.

Собрал тестовый стенд и начал искать решение…
Долго перебирал разные настройки сервера и клиентских мест, это отдельная тема.
В творческом поиске сравнил протоколы RDP и RemoteFX, результаты решил опубликовать.
Читать дальше →

Визитки 2.0: Добавим немного NFC-магии

Reading time8 min
Views86K
Визитные карточки – такая же привычная часть бизнеса, как и электронная почта или телефон. Многие уже давно предрекают им смерть в связи с «прогрессом» QR-кодов, соцсетей и передачи файлов, но они до сих пор живее всех живых. Мы пока не можем обойтись без бумажных карточек для передачи контактных данных нашим клиентам и партнёрам. QR-коды не стали популярными, так как требовали установки дополнительных приложений, хорошего освещения и были слишком громоздкими для хранения всех нужных данных. В соцсетях зарегистрированы не все и хранить там персональные данные порой непозволительная роскошь. А передача файлов с помощью различных технологий типа AirDrop, Alljoyn или Beam, будем честны, пока недостаточно удобна и широко распространена.

И всё-таки есть способ добавить немного магии в ваши бумажные визитки и быстро передать ваши контактные данные прямо в записную книжку телефона партнёра. Я говорю об NFC.

Собственно, с бумажными визитками понятно, что делать: сканируем и распознаем с помощью ABBYY Business Card Reader и сохраняем в контакты. Но вот для того, чтобы добавить визиткам «айтишность» и некоторый шарм, нужно что-нибудь дополнительное. В этой роли отлично сыграет NFC-метка.

Узнать больше

Сравнение стоимости пользования картриджами для лазерных принтеров (топовые модели 2014 г.)

Reading time3 min
Views43K


Мы снова приветствуем хабрасообщество!
Напомним, что предыдущий пост (Лазерные принтеры и расходники: памятка по выбору и продлению срока эксплуатации), мы посвятили описанию основных принципов выбора и продлению срока эксплуатации лазерных принтеров и расходных материалов к ним.

В комментариях к материалу возникло любопытное предложение: сравнить стоимость пользования расходных материалов разных групп печатающей техники. Предложение действительно весьма интересное, а поскольку мы можем дать развернутый (более, чем) ответ, то надеемся, что вся эта информация пригодится и частным пользователям, и корпорациям. В общем, приступим.

Читать дальше →

Правила удаленной работы в путешествии

Reading time4 min
Views39K


Современный мир предоставляет нам удивительную возможность выбрать профессию, на которой не нужно изготавливать одну единственную деталь от рассвета до заката в темных цехах старого кирпичного завода. В наше время успешно реализовать себя, построить бизнес и обрести полную свободу можно там, где вы этого хотите (и где для подобного созданы все условия).

Гибкий график, ведущий к росту производительности, возможность не тратить время на дорогу в офис, собственноручно созданные условия для концентрации над рабочим процессом – всё это делает удалённую работу вожделенной мечтой многих офисных сотрудников.

Удалённая работа таит в себе множество подводных камней (включая отсутствие невербальной коммуникации), но будьте уверены, современные технологии устанавливают новые стандарты, меняют наши представления как о рабочем процессе, так и об отдыхе. Вы можете жить в мире, в котором нет границ, при желании неделями не общаться с живыми людьми, путешествовать и работать одновременно, инвестируя свободное время в творческий рост и самореализацию.
Осталось решить только один вопрос: как нам построить рабочий процесс, чтобы работа не мешала отдыху, а отдых давал силы для ежедневной работы?
Читать дальше →

Приводим в порядок css-код. Опыт Яндекса

Reading time6 min
Views90K
Всем привет!

Я работаю над фронтендом огромного проекта — поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



Но несмотря на то, что все пишут код по-разному, у нас в репозитории идеальный порядок: css-код полностью консистентен, и прекрасно выглядит. Весь.

Как мы этого добились, можно прочитать под катом.
Читать дальше →

Information

Rating
Does not participate
Location
Домодедово, Москва и Московская обл., Россия
Date of birth
Registered
Activity