Хабрахабр:
Последние десять лет мы наблюдаем второй цикл веб-дизайна ? сайты превращаются в приложения и уже практически не появляется новых проектов, не обладающих некой долей интерактивности. Увеличение сложности ПО, разрабатываемого для интернета, вызвало необходимость в структурированном и взвешенном проектировании приложений. На сегодняшний день наиболее часто используемым паттерном проектирования сайтов является Модель-Вид-Контроллер (MVC). Повсеместное его использование отчасти вызвано успехом и популярностью фреймворка Ruby on Rails. Сейчас MVC является практически синонимом веб-разработки среди всех платформ. При выполнении задач, активно нагружающих процессор, современные сайты все больше полагаются на выделенные ресурсы. Этому, в частности, поспособствовало открытие компаниями Amazon и Google облачных сервисов, которые позволяют разработчикам существенно уменьшить нагрузку на процессоры их собственных серверов. Каждый сервис обычно проектируется в виде отдельного элемента ПО, который запускается внутри своего домена и использует свои собственные ресурсы. Когда имеешь дело со скромными бюджетами, обычно довольно сложно убедить клиентов в преимуществах финансирования более чем одного завершенного фрагмента программного обеспечения. Как показывает мой опыт, множество из них придерживаются мнения, что масштабируемость не является актуальной задачей. Они ?с нетерпением ждут того дня, когда придется этим обеспокоиться?. Для уменьшения первоначальных вложений обычно принимают решение о том, что приложение должно быть спроектировано в виде целостной программы, содержащей все требуемые функции. Если сайт быстро обретет популярность, это станет проблемой. У меня остались не очень приятные впечатления от рефакторинга плохо масштабируемых кодовых баз. К тому же, это может потребовать большого количества ресурсов и денег. В идеале приложения должны расти по мере необходимости и не требовать в процессе этого крупных финансовых затрат. Читать дальше →
Альтернативные заголовки для жёлтой прессы: "Android пробивается к обычным современным браузерам", "Opera Mobile на Android с юзерстилями для habr.ru", "На Хабре началась неделя Андроида". Статья, на самом деле, не о Хабре, не об Опере, не о мобильных телефонах с Андроидом, а о пользовательских стилях. Имелся серьёзный вопрос: заработают ли пользовательские стили где-нибудь, в каком-либо браузере на Андроиде? Но, поскольку наиболее важная часть из этих 4 компонент ? Андроид, то и статья ? о нём. Читать дальше →
Я люблю кино и смотрю довольно много фильмов. И у меня давно была потребность как-то удобно их каталогизировать. Долгое время я делал это с помощью Имхонета, то есть оценивал каждый просмотренный фильм и ставил дату просмотра. Там это сделано довольно неудобно: во-первых, все привязано к оценкам (а ставить оценку хочется не всегда), во-вторых, нельзя добавить информацию о пересмотрах фильма, да и вообще полезной (для меня) функциональности крайне мало, зато много ненужной. Поэтому я решил сделать свой сервис, который бы позволял хранить полную историю просмотров фильмов и показывал бы всякую интересную статистику. Я большой поклонник Last.fm, и мне очень нравится принцип его работы: когда вся слушаемая тобой музыка сохраняется и раскладывается по полочкам. И я подумал, что будет интересно сделать нечто подобное для фильмов. Получился из этого небольшой сайт под названием ?yourfilms.org?. Вот основное из того, что он умеет: собирает фильмы, которые пользователь смотрит, и, по аналогии с Last.fm, генерирует чарты актеров и режиссеров. Выглядит это примерно так: Читать дальше →
С самого начала ?вебошрифтовой революции? мы полагались на неизящные хаки деклараций @font-face, чтобы шрифты из Паутины загружались во всех браузерах. Может ли существовать лучший путь? Вполне изящный и совместимый с будущими браузерами? Вкратце об истории вопроса В сентябре 2009 года Пол Айриш (Paul Irish) огласил пуленепробиваемый синтаксис для записи деклараций @font-face. Синтаксис был компактным и в то время действовал во всех браузерах. Недавно стали поступать, со временем усиливаясь, жалобы на отказ шрифтов загружаться в Android ? поэтому мы стали вместо того рекомендовать синтаксис ?Mo' Bulletproofer?, сочинённый Ричардом Финком (Richard Fink). К сожалению, синтаксису ?Mo' Bulletproofer? требуется двойная запись деклараций, так что поддержка его сложнее. Синтаксис Fontspring @Font-Face А вот таким этому коду следовало бы быть с самого начала. Чистым, ясным и простым:@font-face { font-family: 'MyFontFamily'; src: url('myfont-webfont.eot#') format('eot'), url('myfont-webfont.woff') format('woff'), url('myfont-webfont.ttf') format('truetype'), url('myfont-webfont.svg#svgFontName') format('svg'); } Что? Я не понял. Хак Трюк, заставляющий этот код заработать ? символ ?#? вслед за именем файла EOT. Без шуток. Как это срабатывает Читать дальше →
Попался мне один проект, по своей сути ничего сверх естественного ? самая обычная галлерея картинок, для которой данные подгружались с сервера, но тем не менее он был достаточно интересен. Прежде всего нужно было учитывать, что те изображения, которые отображаются в галлерее, ни в коем случае не должны попасть к третьим лицам, так как это приложение специально создавалось для олигархов сильных мира сего. Согласно всем предъявленным требованиям, общение с сервером должно происходить по протоколу SSL и в процессе каждого запроса необходимо проверять сертификат, полученный от сервера на доверенность, и только после этой проверки отправлять необходимый сертификат для валидации пользователя на каждый конкретный запрос. Т.е., не все запросы используют один и тот же сертификат, а значит на девайс нужно перенести некоторое количество сертификатов, которое зависит от клиента и его регистрации. Читать дальше →
Что общего у российского суперкара Marussia и самолета Boeing 777? При разработке этих, да и многих других продуктов, равно как и при создании ?виртуальной копии? пирамиды Хеопса и моделировании процессов таяния айсберга используются решения компании Dassault Systemes. Честно говоря, никогда не любил слишком уж размытое понятие ?решения?, но то, что разрабатывают в Dassault Systemes, ?программами? назвать сложно. Это огромные программные комплексы, решающие любые задачи, связанные с разработкой, проектированием и производством. От первоначального списка требований к изделию (будь то бутылка для минеральной воды или космический аппарат) до виртуальных испытаний готового образца. От контроля над исполнением проекта до учета отзывов владельцев предыдущей модели. Наконец, решения DS могут обеспечить удаленный доступ и совместную работу тысяч сотрудников большой производственной компании с отделениями по всему миру. Но есть, впрочем, и бесплатный 2D CAD для всех желающих. Разобраться в этом огромном и не слишком знакомом обычному пользователю количестве софта достаточно сложно. Одна только система 3D-проектирования CATIA насчитывает около 200 модулей для разных сфер производства, в каждом из которых учитываются свойства металлов, параметры готовых электронных компонентов и многое другое. И вместе с тем, сделано все возможное, чтобы максимально упростить жизнь разработчику или дизайнеру. В этом материале я покажу, как готовый продукт создается на практике. К сожалению, заказчики Dassault Systemes обычно не делятся своими новейшими разработками ? это их коммерческая тайна ? поэтому инженеры компании создают собственные демонстрационные модели. Для первого материала в блоге Dassault Systemes на Хабре я выбрал наиболее интересную и хорошо знакомую большинству пользователей модель ? компьютерный корпус. С процессом проектирования его детали ? задней стенки ? я и хочу вас познакомить. Познакомиться
?У нас еще до старта четырнадцать минут!? ©)) Роман Нурик ? в центре. Среди ?звезд? Google на Google Developer`s Day-2010 в Москве выделиться было трудно. Но Роман Нурик не затерялся ? один из самых сильных докладов был сделан парнем, который родился в Одессе в 1986-м году. Мы о нем уже наслышаны (да и писАли), а этой осенью впервые удалось встретиться в реале. Интервью записано в ноябре, тогда работа Романа в проекте Android 3.0 была тайной пострашнее Байконура. Поэтому я и придержал этот текст до момента релиза Honeycomb. Уверен, что мысли интервью актуальности не утратили. Например, в контексте HTC Android Developer`s Contest 2.0. Роман, а слабО это интервью записать по-русски? ОК, постараюсь, но рассчитываю на твою помощь! И заранее извиняюсь ? в сложные моменты буду переходить на английский. В семье (с мамой и папой) мы говорим по-русски. Но сейчас я живу и работаю в Сан-Франциско. Там все друзья, все окружение англоговорящие? в общем отсутствие практики сказывается. После нескольких публикаций народ уже знает, что ты родом из Украины. А можно поподробнее? Я родился в Одессе в 1986-м году. Когда мне было три года, мы с родителями уехали в Штаты. Первое время жили в Нью-Йорке, в Бруклине. Потом перебрались в Лонг-Айленд. Потом ? учеба в Бостоне. Сейчас уже два года работаю в Google и живу в Сан-Франциско. К User Interface мы еще вернемся, а пока расскажи: когда и как ты решил стать программистом? Давно и рано.) Мой отец не связан с ИT, Читать дальше →
Отписаться от этой рассылки