Друзья, в этой части серии статей мы исправим некоторые баги, возникшие после изменений в предыдущей части, начнем готовить UI и приступим к новым механикам.
Не забудьте прочитать прошлую часть перед прочтением этой.
Об авторе: Рикард Фальквинге — основатель Пиратской Партии Швеции. В 2009 году Пиратская Партия прошла в Европарламент, набрав больше 7% голосов. В 2010 Рикард Фальквинге вошёл в список 100 самых влиятельных людей Швеции по версии журнала Fokus. В 2011 он уступил место руководителя партии Анне Троберг и сосредоточился на пропаганде идей Пиратского Интернационала, выступая с лекциями по всему миру.
В этой серии из семи статей я хочу рассказать историю авторского права от 1350 года до наших дней. Эта история довольно сильно отличается от того, что обычно рассказывают представители индустрии копирайта.
Мы начнём с прихода в Европу чёрной смерти в 1350-х годах. Европейские страны пострадали от чумы не меньше остального мира. Европе понадобилось больше 150 лет на то, чтобы восстановить своё политическое, экономическое и социальное положение после эпидемии.
Социальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
На днях открыл для себя Life with Playstation, но суть не в нем, а в фоновом процессе Folding@home. Проект распределённых вычислений для проведения компьютерной симуляции свёртывания молекул белка. Пока мы читаем новости, смотрим погоду наша PS3 производит вычисления для Folding@home.
И тут мне пришла идея, а почему бы не производить вычисления в браузере, пока пользователь работает на нашем сайте, ведь загрузка процесора при просмотре сайта минимальна.
Долго не мог придумать, что же такое можно вычислять распределенно, дабы материализировать идею… Рендерить 3D сцену — не оправдано для теста и затратно по передаваемым данным. Вспомнилась простая лабораторная работа из студентческих годов по КМФП — визуализация потенциала поля с несколькими зарядами. Предельно просто, можно вычислять распределенно.
Больше полугода назад у меня появилась игровая консоль Sony Playstation Portable (или просто PSP). Надо сказать, что игры на ней отменные, консоль можно взять в любую поездку и приятно скоротать время в дороге. Как разработчику мне всегда было интересно, как же писать приложения для PSP, я видел множество свободнораспространяющихся приложений, таких как PSP WiFile Transfer, Bookr и даже порты OpenSource игр, например OpenTTD, а недавно у меня появилось немного свободного времени, чтобы заняться вопросом разработки для PSP более подробно, поэтому я поискал информацию по данному вопросу и, как оказалось, программировать для PSP не так уж и сложно.
Вопрос о стилизации <input type=«file» /> настолько стар, что наверное только ленивый не пробовал собственную реализацию этого, несомненно, важного в web дизайне элемента.
Однако, в большинстве своём, решения очень не однозначны и зачастую предлагают примерно следующие варианты:
Наложить файл инпут поверх картинки и сделать его прозрачным.
Использовать flash.
При этом, в первом случае, чтобы всё работало относительно одинаково во всех браузерах, предлагается «спорные области» — те что в одном браузере являются активными для нажатия, а в другом неактивными — закрыть, например, наложив сверху <div></div>. Стоит ещё добавить, что тут же используется значительное количество css со всяческими отрицательными отступами и float`ами.
А во втором случае мы имеем ряд не удобств связанные с активацией flash элементов (например в IE), а лично у меня (и думаю у всех, кто в ФФ использует Add Block Plus дополнение) кнопочка block совсем не красит флешевый инпут файл.
В статье я попробовал рассмотреть текущее положение вещей в проекте Cappuccino, и сопутствующем языке Objective-J. Текст ориентирован на людей, знакомых с технологиями программирования в OSX, я старался не вдаватся в конкретные детали реализации. Тем, кто знаком с Cocoa они понятны и так, а остальным сначала придется разобратся в основах Objective-C и Cocoa (либо полистать туториалы на сайты Cappuccino).
Года полтора назад встала проблема в динамическом генерировании HTML кода. Отстраивать HTML посредством DOM слишком громоздко и код получается большой, подгружать сгенерированный HTML на сервере, не очень красивое и харкодное решение.
Было принято решение искать альтернативный способ генерации HTML.
И оно было найдено: AJAX + XML + XSLT.
НА стороне сервера лежит XSLT шаблон, скрипт который генерирует XML (или XML файл). НА стороне клиента посредством AJAX загружается XML и XSLT и преобразуется в HTML
KML — один из наиболее популярных языков хранения и управления геоданными. В настоящее время публикации на русском языке по нему практически отсутствуют. Поэтому попробую начать готовить авторский перевод документации. А хабр — неплохое место для этой работы. Начнем!
Управление сессиями при помощи посылки cookies на сайтах стало настолько распространено, что без этого не обходится, наверное, ни один проект, требующий авторизации пользователей. Казалось бы, механизм настолько изучен, что проблемы с ним просто немыслимы.
Так считали и мы при разработке iframe-приложения для ВКонтакте.
Но после того, как приложение было разработано (разработка велась в основном в Mozilla Firefox и Google Chrome), выяснилось, что оно неработоспособно в Internet Explorer, к которому позднее присоединились последние версии Opera и Safari.
Под катом подробное описание проблемы и вариантов её решения.
Ещё 18 лет назад первый в мире браузер WorldWideWeb, написанный Бернерс-Ли, уже давал пользователю возможность отправить на принтер интернет-страницу. Но, несмотря на это, проблематика удобной печати документов в интернете до сих пор остается актуальной и вызывает вопросы в среде веб-разработчиков.
Почему же простая, на первый взгляд, функция вызывает так много дискуссий? Чтобы понять это, достаточно вспомнить, что представлял собой первый в истории веб-строительства сайт, и сравнить его с современными.
Данное руководство создано для тех, кто уже умеет пользоваться Adobe Illustrator, но пока не знает всех тонкостей работы с ним и хочет познакомиться поближе.
Товарищ CurlyBrace уже сверстал представленный здесь макет, спасибо ему!
Для начала посмотрите на то, что мы будем стараться сделать:
Давно хотел это сделать (прибить «подвал» к полу) — как ни крути, а «Copyright 2008» по среди экрана
выглядит не козырно. Есть статьи по этому поводу, но ни одного дельного совета я так и не нашел.
Даже парни из LayOut Gala не утруждают себя этим вопросом, хотя занимаются полнейшей мистикой с отрицательными полями, получая при этом «резину» любого вида.
Природа тенденций * Мир стал другим * Матерные слова * Прощай, привычный логотип * Сквозная система визуальной идентификации — что это? * Решительное «нет» хиромантии * Открытый для фантазии * Учимся понимать клиента
С появлением iOS 7 мир узрел новый игровой движок от Apple — SpriteKit. В свете того, что он появился совсем недавно об этом движке еще мало что написано, конечно в сети можно найти несколько tutorial -ов по нему но в основном все они на Английском языке. И по этому я задалась целью написать подробный Туториал об этом замечательном движке.
Итак, что же такое SpriteKit?
SpriteKit — это 2D движок, оптимизированный для создание игр для устройств от компании Apple. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple он существенно выигрывает в скорости у остальных движков.
В SpriteKit всю роль по оптимизации и рисованию графики берет на себя OpenGl, это все происходит на низком уровне и по этому вы можете сосредоточить свои усилия на решении проблем более высокого уровня и создание больших 2D игр. Для создание игр на SpriteKit используется язык Objective-c, но с выходом iOS 8 и нового языка Swift, игры также можно создавать и на нем.
От себя хотела бы добавить, что в некотором роде на Swift писать даже легче, так что если вы только начинаете и думаете какой язык выбрать то советую выбрать Swift.
Ниже, я предоставила видео с демонстрацией игрового процесса SpriteKit, если вам стало интересно то милости прошу.
Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.
На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
В данной статье описывается как сгенерировать псевдотекст на основе триграммной модели. Полученный текст вряд ли возможно где-либо использовать, тем не менее это неплохая иллюстрация использования статистических методов обработки естественного языка. Пример работы генератора можно посмотреть здесь.
Сухая теория
И так, наша задача сгенерировать текст. Это значит, нам нужно взять слова и выстроить их в определенном порядке. Как определить этот порядок? Мы можем пойти следующим образом: построить фразы, наиболее вероятные для русского языка. Но что значит вероятность фразы языка? С точки зрения здравого смысла это бред. Тем не менее, эту вероятность можно задать формально как вероятность возникновения последовательности слов в неком корпусе (наборе текстов).