Pull to refresh
5
0

Software Engineer

Send message

Семь принципов создания современных веб-приложений

Reading time19 min
Views189K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

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

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →

Публикация артефакта в Maven Central через Sonatype OSS Repository Hosting Service

Reading time23 min
Views23K
На написание этой статьи меня сподвигла некоторая разрозненность источников информации по такой
важной, на мой взгляд, теме, как публикация своих артефактов в Maven Central. Конечно, следует
отдать должное сотрудникам Sonatype: их официальный гайд (ссылка в конце статьи) достаточно полно
описывает весь процесс. Но в нём нет некоторых неочевидных тонкостей (вроде проблемы хранения
паролей), и он сам выглядит немного неряшливо. На русском же языке на эту тему ресурсов я не нашёл в
принципе. Лично для меня это не страшно, но многих это может остановить.

Внимание, много текста

Покупаем Nexus 5 через Google Play

Reading time11 min
Views303K
После успешного релиза смартфона Nexus 4 компании LG и Google вновь объединили усилия и анонсировали первый смартфон на основе самой свежей версии ОС Android — Android™ 4.4, KitKat®. Получивший новые характеристики смартфон Nexus 5 является самой тонкой и быстрой моделью в линейке устройств Google Nexus на сегодняшний день.

Для жителей Соединенных Штатов Nexus 5 продается в 4 модификациях:
  • Nexus 5 (16 ГБ, черный) — 349$
  • Nexus 5 (32 ГБ, черный) — 399$
  • Nexus 5 (16 ГБ, белый) — 349$
  • Nexus 5 (32 ГБ, белый) — 399$



На данный момент аппарат можно заказать в США. Но, к сожалению, для жителей СНГ раздел Устройства недоступен в Play Маркет'е. Поэтому просто положить товар в корзину, ввести адрес и оплатить — не получится. Но не будем отчаиваться и попытаемся обойти этот запрет. В статье я постараюсь максимально подробно рассказать о процедуре покупки и различных тонкостях. Начнём!
Читать дальше →

20 самых популярных выступлений всех времен на конференции TED

Reading time3 min
Views355K
Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



Ранее на Хабре уже публиковался этот плейлист, но с тех пор он заметно обновился. Не изменился разве что лидер рейтинга — Кен Робинсон с выступлением «Как школы подавляют творчество».

Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

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

Изготовление сферической панорамы гуглокамерою

Reading time4 min
Views47K
Три дня назад (16 апреля 2014 года) в Google Play было опубликовано приложение «Google Камера», ранее доступное только для владельцев Nexus. Позавчера (17 апреля) я о нём прочёл на AndroidInsider.ru, скачал, попробовал изготовить сферическую панораму. Удалось.

Делюсь впечатлениями.

Прежде всего скажу, что приложение (которое я для простоты стану называть гуглокамерою) устанавливается только на KitKat (Android 4.4). Вчера я пробовал установить его на одну из прошлогодних моделей Galaxy Tab, всё ещё работающих на Jelly Bean (Android 4.2) — эта попытка окончилася неудачею. Однако на мобильник HTC One (даже на первую модель, а не нынешнего года) гуглокамера устанавливается невозбранно.

При запуске гуглокамера открывается на полный экран:

[скриншот]

Слева появляется меню режимов фотовидеосъёмки, из которых я выбрал верхний («Photo Sphere»). Обратите внимание также на шестерёнку в правом углу экрана (в верхнем углу при альбомной и в нижнем при портретной ориентации): шестерёнка эта служит для доступа к дополнительным настройкам. После выбора режима (или просто через секунду) меню прячется налево (откуда его в дальнейшем можно вытащить пальцем), а полупрозрачный тёмный фон меню исчезает, полностью открывая интерфейс сферического фотографирования.

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

Изготовление отдельных фотографий происходит полуавтоматически по принципу, который поясняется подсказкою «для начала поместите точку в круг» («to start, keep dot inside circle»). В центре поля зрения находится кружок, которым необходимо «поймать» точки, расположенные на параллелях сферы на равном расстоянии друг от друга (причём на экваторе сферы, который соответствует горизонту фотографа, таких точек побольше, а на остальных параллелях точек тем меньше, чем ближе параллель к зениту над головою у фотографа или к надиру под ногами); в такие-то моменты фотоаппарат, в точности нацеленный на очередную точку, делает фотоснимок.

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

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

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

Размеры экранов

Reading time2 min
Views561K
Планшеты и смартфоны оснащаются экранами с разными соотношениями сторон и разной плотностью пикселей, однако эти параметры редко указываются в технических характеристиках.

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



Обратите внимание, насколько экран 8" с соотношением сторон 4:3 визуально больше широкого экрана 7". А широкий экран 10.1" на сантиметр меньше экрана 9.7" по высоте.

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



Текст на экранах с низким PPI (количеством точек на дюйм) читается не комфортно. Я бы не стал покупать планшет с экраном, имеющим PPI ниже 150. Даже 164 PPI экрана iPad mini многим кажутся недостаточными. Отлично воспринимаются экраны с PPI больше 200.

Для меня было большим открытием, что экран 9.7" 1024x768 имеет даже меньшее PPI, чем экран 7" 800x480.

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

Синхронное выступление мини-квадрокоптеров

Reading time1 min
Views14K


Сейчас разработчики из разных стран мира стараются изо всех сил, создавая программное обеспечение для разного рода роботов. В том числе, и для квадрокоптеров с «интеллектом». На днях была представлена новая разработка от компании KMel Robotics и Пенсильванского университета, которая демонстрирует определенные успехи в развитии ПО для взаимодействия роботов.

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

Семейный бизнес в сфере IT

Reading time6 min
Views123K
image

Предисловие


Большое спасибо jimmy_webs, который в комментариях к предыдущей статье дал мне совет написать про 5 лет в семейном бизнесе. И всем тем, кто оставлял подбадривающие комментарии с призывом писать еще. Ну что же, вы сами напросились.

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

Семейный бизнес в сфере IT. Мои три золотых правила

Reading time7 min
Views106K
image

Предисловие


Помните мою предыдущую статью? В ней я рассказала о том, как мы с мужем основали собственный бизнес. Точнее, муж основал, а я чуть позже к нему присоединилась.

То, чем мы тогда занимались, очень сложно назвать бизнесом. Это скорее была работа в паре. Мы никогда не договаривались: ты делаешь это, а я это. Разделение обязанностей сложилось само собой.

Вы спросите: «Кто же в вашей команде главный?». Скажем так, мы оба прекрасно понимаем, кто главный. Но вслух это не обсуждаем, потому как один из нас может обидеться, а вторая слишком много о себе возомнит…

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

История операционных систем Apple. Часть 2. Взлет Macintosh

Reading time11 min
Views136K
Продолжаем знакомиться с историей операционных систем Apple. Сегодня Lisa, Macintosh вплоть до System 7 и ранние попытки использовать Unix.
Первая часть: habrahabr.ru/post/194696

Приход графики


image
Apple представил компьютер Lisa в январе 1983 года, за год до Макинтоша. Стартовая цена составляла $9995. Сердцем новинки был 32-битный процессор Motorola 68000. При создании разработчики явно вдохновлялись Xerox PARC, см. habrahabr.ru/post/194696. Этому способствовала договоренность между Xerox и Apple — акции в обмен на технологию. Следует заметить, что проект Lisa начали еще до причащения к PARC. В целом непонятно, какие именно идеи позаимствовали у Xerox, а какие изобрели своими силами.

Lisa OS

Lisa Office System (OS), операционная система этого компьютера, имела полностью графический интерфейс. Был файловый менеджер с иконками, при клике запускалось соответствующее приложение. В комплекте также был табличный процессор LisaCalc, программа для рисования диаграмм LisaGraph, продвинутый редактор списков LisaList, менеджер проектов LisaProject, рисовалка LisaDraw, эмулятор ANSI терминала LisaTerminal и т. д. Кроме того, на Lisa поддерживалась работа SCO Xenix.
Читать дальше →

История операционных систем Apple. Часть 1. Дографическая эпоха

Reading time8 min
Views173K
Начинаю перевод весьма основательного труда Амита Сингха по истории операционных систем Apple. Часть картинок добавлена при переводе для наглядности. Планирую 3 или 4 части, смотря как будет получаться по объему. В этой части посмотрим, что было до Macintosh и Apple Lisa.

Первые байты кода


В конце 1975 года Стив Возняк завершил прототип компьютера, который вскоре станет известен как Apple I. Возняк в то время работал в НР. Но этот проект был им неинтересен, так что он попросил дать им вольную. 1 апреля 1976 года Стив Джобс, Стив Возняк и инженер из Atari Рональд Уэйн основали Apple. Первым продуктом под этим именем был компьютер Возняка.

Apple I

Apple I был основан на 8-битном процессоре MOS Technology 6502, с частотой меньше 1 МГц. Это был упрощенный вариант более дорогого чипа Motorola 6800. Примерно аналогичным по параметрам был и Intel 8080, но он при этом был дороже. У компьютера был встроенный выход на телевизор, разъемы для 8 Кб памяти, интерфейсы клавиатуры и кассетного магнитофона. Корпус, БП, клавиатура и телевизор в комплект не входили, покупатель должен был раздобыть их самостоятельно.
image
Читать дальше →

История операционных систем Apple. Часть 3. Поколение NeXT

Reading time12 min
Views86K
Первая часть: habrahabr.ru/post/194696
Вторая часть: habrahabr.ru/post/196276
Сегодня будет много текста и мало скриншотов, потому что речь пойдет в основном о не взлетевших проектах и глубоких потрохах ОС

Новая надежда


Windows NT 3.1

Microsoft Windows ветки 3.x быстро получили большое распространение, сразу после выхода в 1990 году. Система нового поколения под кодовым названием “Chicago” планировалась к 1993 году, но вышла под именем Windows 95 понятно когда. Одновременно с этим в 1993 году вышла Windows NT — продвинутая ОС для клиент-серверных применений. Из особенностей можно отметить API Win32, вытесняющую многозадачность с планировщиком, поддержку сети, подсистемы совместимости с OS/2 и POSIX, виртуальные машины для DOS и старых 16-битных приложений Windows, новую файловую систему NTFS и поддержку мультипроцессорности.
image
От Apple явно ожидался ответ, особенно в преддверии выхода Windows 95.
Проекты Pink и Red с этой ролью не справились. Впереди было много попыток создать новую конкурентноспособную ОС.
Читать дальше →

История операционных систем Apple. Часть 4. Новое время

Reading time7 min
Views68K
Первая часть: habrahabr.ru/post/194696
Вторая часть: habrahabr.ru/post/196276
Третья часть: habrahabr.ru/post/197160
Сегодня завершаю этот цикл переводов. В четвертой части будет про поздние версии Mac OS Classic, начало Mac OS X и чуть-чуть про некомпьютерные продукты Apple.

Зрелые годы Mac OS


Следующий после покупки NeXT релиз получил номер 7.6. Mac OS 8.0 сначала хотели выпустить как 7.7, но потом передумали и сделали как есть.

Mac OS 8

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

Ну совсем маленькая заметка по getopts

Reading time2 min
Views13K
И так, мы хотим разбирать параметры командной строки в нашем скрипте, и мы хотим учесть
  • Опции без аргументов
  • Опции с аргументами
  • Проверку отсутствия аргумента
  • Проверку неизвестных опций
  • Проверку отсутствия параметров
  • Оформить эту часть скрипта как функцию

И вот вам сразу самый тру способ, к которому я смог прийти
Читать дальше →

Работа с датчиками в Android, или сервис для записи показаний с акселерометра

Reading time5 min
Views12K

Введение


Год назад, на хабре публиковалась статья «Собираем показания датчиков с Android смартфона», где рассматривался способ получения данных с акселерометра (кстати говоря, есть пост более старый, в котором рассказывается все то же самое). Недавно передо мной была поставлена похожая задача. Необходимо было создать приложение (решил назвать его «Sensor Logger»), записывающее показания с акселерометра в файл в фоновом режиме. В данной статье постараюсь показать, как можно использовать сервисы и намерения, как работать с текстовыми файлами, а также каким образом отправлять данные из сервиса в Activity.
Читать дальше →

Офис компании Boomburum

Reading time19 min
Views412K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →

Спать мало, но правильно?

Reading time7 min
Views904K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Разработка угловой стабилизации квадрокоптера

Reading time5 min
Views42K
Данная статья скорее логическое продолжение моей статьи о балансере: «Создание робота балансера на arduino».
В ней будут очень кратко освещены: простая модель угловой стабилизации квадрокоптера с использованием кватернионов, линеаризация, построение управления для объекта и проверка его в Matlab Simulink, а так же проверка на реальном объекте. В качестве подопытного будет выступать Crazyflie 1.0.

Сейчас оно летает так (на момент съемок я не очень правильно выставил управление):


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

Погружаясь в производительность

Reading time9 min
Views19K


Привет, меня зовут Стив Соудерс и я работаю в Google в команде, которая «делает интернет быстрее». Это невероятно круто. В команде более 50 человек и наша задача сделать весь интернет в целом быстрее, не только сервисы Google. Кроме этого, я помогаю Airbnb, Twitter, Facebook, только что отправил подробное описание системы улучшения производительности в Pinterest. Мы хотим сделать так, чтобы глобальная сеть стала быстрее. Я в основном пишу код, создаю разные утилиты и анализирую, что происходит на веб-страницах и в браузерах, и многое другое. И сегодня я расскажу о многом из того, что я уже сделал.

Данный пост сделан по мотивам выступления Стива Соудерса.

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

Многопоточность в Java: ExecutorService

Reading time2 min
Views250K
В Java 5 было добавлено много вещей для организации многопоточности и особенно касаемо организации параллельного доступа. В этой и последующих статьях мы пройдемся по некоторыми из них.
ExecutorService и ScheduledExecutorService будут рассмотрены в этой статье

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Works in
Date of birth
Registered
Activity