Friday, November 25, 2011

Хабрахабр

КупиКупон - скидки от 50% до 90%

Хабрахабр:


У вас никогда не возникало ощущения, что в языке X, на котором вы в данный момент программируете чего-то не хватает? Какой-нибудь небольшой, но приятной плюшки, которая может и не сделала бы вашу жизнь абсолютно счастливой, но определенно добавила бы немало радостных моментов. И вот вы с черной завистью посматриваете на язык Y, в котором эта штуковина есть, грустно вздыхаете и тайком льете по ночам слезы бессилия в любимую подушку. Бывало? Будем лечить


День начался как и все остальные ничем не приметные дни. Придя на работу и выпив чашечку капучино от китайской кофе машины сел шерстить сайты. Вот напоровшись на одного из них, долго изучая исходный код наткнулся на разметку, характерную для широко известного WYSIWYG редактора ? FCK. Кто хоть раз сталкивался с проблемами подобного рода редакторов наверняка хорошо его знают. Собственно сам продукт ничем по себе не интересен и полезен только администраторам сайта, т.к. позволяет редактировать наглядно страницы на сайте. Но меня он заинтересовал с точки зрения ? на сколько безопасно его внедрение в CMS, особенно в связи с тем что он обладает набором функционала по UPLOAD'у картинок на сайты. И о чудо, разработчики CMS на ровном месте совершили сразу несколько критических ошибок, сразу предоставив доступ к выполнению исходного кода на сайте! Итак, что они же натворили? Читать дальше →


Думаю никому из присутствующих не нужно объяснять важность резервного копирования. Проблема в том, что из десятков готовых решений ни одно толком не удовлетворяет моим требованиям standalone *NIX-сервера на колокейшене. Чего же хотелось от резервного копирования? 1) ежедневного полного бакапа всех данных. Никаких incremental-бакапов. 2) максимально быстрого восстановления отдельно взятого файла. Архиваторы (tar/gzip/bzip2/rar) отпадают 3) быстрого мониторинга ?кто именно залил вчера на сервер 156Гб?!!!? 4) резервные копии хочется хранить максимально долго, насколько хватает свободного места на дисках. 5) хочется не заботиться об ручном удалении старых копий если место на диске всё-таки уже кончилось Если в двух словах ? то мне захотелось реализовать функционал MAC OS TimeMachine на Linux-сервере. И я начал писать скрипт. Читать дальше →



Что такое Socket.IO? Это библиотека предназначенная для организации постоянного соединения между сервером и браузером. Главное преимущество библиотеки: она автоматически подстраивается под возможности браузера и использует наиболее эффективный транспортный протокол из поддерживаемых. Браузер умеет веб сокеты? Отлично, будем использовать их. Браузер умеет AJAX? Будем использовать long polling. Это древний Internet Explorer? Будем использовать html file object. Ну и так далее. О socket.io уже писали на Хабре. ?Родной? сервер Socket.IO написан на node.js. Читать дальше →


Как и обещал, предлагаю вашему вниманию следующие пять пунктов. Малоизвестные особенности Java. Первая часть 6. Конфликт имён. Если импортированы несколько классов с одним и тем же именем из разных пакетов, возникает конфликт имён. В таком случае при обращении к классу следует указывать его квалифицированное имя, то есть полное имя, включая и имя пакета, например java.lang.String. Неужели ничего нельзя с этим поделать? Оказывается можно. Следующий код скомпилируется без проблем, несморя на то, что класс List присутствует и в пакете java.awt, и в пакете java.util: import java.awt.*; import java.util.*; import java.util.List; public class Класс { public static void main(String... аргументы) { List простоСписок = Collections.emptyList(); System.out.println(простоСписок); } } Достаточно дополнительно импортировать необходимый класс, java.util.List в данном примере. Тут, как вы заметили, используются кириллические идентификаторы. Да! Для кого-то это станет откровением, но Java? такая Java. Идентификатор может состоять из совершенно любых букв, помимо цифр, знаков подчёркивания и валюты США (однако последний знак ($) использовать не рекомендуется, он предназначен для системных нужд). Но оно нам надо? Разве только в целях обфускации. Только представьте себе, сколько разных идентификаторов можно сгенерировать всего-то из символов ?А? английского, русского и греческого алфавитов? Читать дальше →


Друзья, с некоторой периодичностью я делюсь с вами шедеврами современной мультипликации. Сегодня я расскажу вам о фильме, который скрасит ваш пятничный вечер и капнет бальзам на эстетические раны. ?Коралина? долгие месяцы лежала на ближайшей полке, именованной: ?Смотреть обязательно и срочно?. Я боялся не прочувствовать его до конца, не насладиться каждым кадром, упустить настроение. Но вот земля налетела на небесную ось и я посмотрел. Это поучительная история одной семьи, центральный персонаж которой ? Коралина (Coraline). Фильм снят по повести Нила Геймана (чувак, кстати, крайне разносторонен). Если отбросить сюжет, картинку и условности, то суть сводится к фразе: ?какими бы не были твои родители, они всё равно твои родители?. Но мы не будем их отбрасывать(: Итак, в детали. Графика фильма очень своеобразная, такую вы не встретите практически нигде: ни в 3д фильмах пиксара, ни в кукольных мультиках СССР. Пейзажи, интерьеры, герои уникальны и неподражаемы по своей красоте. Это очень оправданный шаг со стороны Лайки, и вы, пожалуй очень удивитесь, узнав, что в этом фильме практически, нету 3д и компьютерной анимации. Он чуть более, чем полностью кукольный. Создатели в количестве полутысячи человек провернули гигантскую работу по моделированию и анимации. И результат, надо признать, потрясающий ? получился самодостаточный, очень красивый мультфильм. И, разумеется, речь не только о графической составляющей, но и о сценах, невероятной фантазии режиссёра, своеобразном юморе (мальчика ? друга Коралины ? зовут Вайборн = WhyBorn) и индивидуальности каждого персонажа. Вообще, кстати, местами мультфильм напоминает антиутопии Жёне. Как это бывает в такого масштаба проектах, музыкальное сопровождение доставляет. Мелодия льётся от начала до конца, почти не прерываясь ? она органичная нить повествования, задаёт настроение сцене и зрителю. Стоит ли говорить, что я крайне рекомендую смотреть, фильм в оригинале? Пора бы, составить, пожалуй список таких душевных фильмов? Кстати, у Коралины есть свой интерактивный вебсайт. Живой, приятный. Не сказать, что потрясающий или уникальный, он такой, каким он должен быть: coraline.com Под катом я чуть-чуть расскажу о сюжете


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


На конференции Strange Loop, прошедшей в этом году, Рич Хики, автор языка Clojure, прочел доклад под названием ?Simple Made Easy?. Доклад породил большое количество дискуссий, а кто-то из зарубежных блогеров даже назвал Хики одним из наиболее влиятельных теоретиков программирования современности. Вашему вниманию предлагается адаптированная для чтения версия слайдов и мои искренние пожелания посмотреть исходную версию доклада. Правильное и грамотное принадлежит Ричу Хики, ошибки и неточности ? мне. ?Я никогда не выступал ни против формальных методов, ни против тестирования. Что я пытался делать ? это спровоцировать людей сделать шаг в сторону от этих инструментов (а не отказываться от них совсем), чтобы понять их ограниченность в отношении некоторых фундаментальных решений, которые мы, как разработчики, вынуждены принимать. Эти инструменты никогда не подскажут вам, что какая-то из абстракций, которыми вы оперируете, смешивает вместе две идеи. Пока разработкой ПО занимаются люди, в ней будет требоваться человеческая способность принимать решения. Мой доклад был о том, что мы должны ценить эту способность и понимать ее пределы, а также о том, чтобы сконцентрироваться на объективной природе простоты и сложности. Среди работающих программистов простота не слишком популярная тема, если сравнивать ее с фреймворками для тестирования или системами типов. Но я считаю, что она должна быть такой.? ? Рич Хики. Читать дальше →


OpenStreetMap попал в телевизор! Сюжет про составление карты в Пермском крае показал федеральный ?5 канал?. Фотографии с семинара и ещё один видеосюжет. Комментарии. Обновлён сайт OpenStreetMap.ru. Как известно стандартный поисковик плохо работает с нашими адресами, поэтому на российском сайте имеется ?поисковик с русским лицом?. Можете его протестировать и рассказать на форуме. Карта дня ? три страницы отборных и интереснейших скриншотов. "Русские осмеры считают себя за котов, картируют в пяти измерениях и пишут настолько сложные рендереры, что лучшим браузерам приходится чинить баги, чтобы не отставать. Серьёзно. Бойтесь." Цель OSM: быть проще для обычных людей. Челябинск. 26 ноября. 14 часов. Площадь Свободы. Вечный огонь. "Закачал на служебные навигаторы карты от #openstreetmaps вместо #навител. Покрытие Челябинска ГОРАЗДО точнее. Водители довольны." Nokia запустила свои народные карты. Как и всё ?народное?, сервис Nokia ? несвободный и унижающий простых пользователей. Уважаемые жители Киргизии и Узбекистана, не поддавайтесь на провокации! Визуализация: что редактировалось в OSM за последнюю неделю или 90 дней. Статистика. Какое название улицы в России самое распространённое? За последние 8 месяцев европейская часть базы данных OSM выросла на 90 000 мест. Но где же ещё не достаточно хорошо ступала нога OSMера? Временные рождественские ёлки и ярмарки тоже отмечаются на карте OSM. Опубликована предварительная программа конференции в Подмосковье. Будут много говорить об OSM. FranceTopo.fr ? что можно сделать из OSM при большом желании. Молчащих участников в очередной раз просят сказать ?да? или ?нет? новой лицензии. Круглый стол по открытым данным в РИА Новости. Об OSM тоже говорили. "Сообщество+ОСМ=ГИС. МЫ и есть, и валидаторы, и триггеры, и описание схемы данных? Нас встроили в архитектуру". Говорят, есть хорошее приложение для оффлайн карт OSM и Google Maps на iPad. Юбилей. Год назад основатель OSM пошёл работать в Microsoft, а у нас появились снимки Bing. "Расскажи где торгуют смертью и добавь на openstreetmap". =)) Читать дальше →


Компания id Software имеет лицензию на PVS-Studio. Тем не менее, мы решили проверить исходные коды Doom 3, которые недавно были выложены в сеть. Результат ? ошибок найдено мало, но всё-таки найдено. Я предполагаю, что это можно объяснить так. Часть кода Doom3 используется и сейчас и, наверное, там ошибки уже исправлены. Часть кода устарела и не используется. Скорее всего, именно там и найдены подозрительные участки кода. Для тех, кто интересуется данной тематикой, предлагаю вниманию фрагменты кода, на которые указал анализатор PVS-Studio. Как всегда напоминаю, что рассматриваю только некоторые предупреждения. Другие участки проекта требуют знания структуры программы, и я их не изучал. Читать дальше →


Сегодня мы хотим поговорить с вами на слегка нестандартную для нас тему ? о типографике. Мы стараемся заботиться не только о внешнем виде наших устройств, но и о том, как выглядят интерфейсы нашего ПО. В рамках постоянной работы над этим не так давно появился новый фирменный шрифт ? Nokia Pure, который приходит на смену многим знакомому Nokia Sans. Разработкой шрифта занимается Бруно Мааг и несколько других тайп-дизайнеров его студии Dalton Maag. Вы, вероятно, уже знакомы с работами этой студии. Издательство Dalton Maag в прошлом году выпустило шрифт Ubuntu, который появился в одноимённой ОС версии 10.10. Под катом вы сможете найти как процесс создания шрифта (вместе с возникшими, но решенными проблемами), так и понять личное отношение именитого дизайнера к современному дизайну шрифтов. Ох, какая же это спорная личность! Бруно Мааг зол на современную типографику. Он ненавидит Гельветику, сравнивая это семейство шрифтов с дешевым мороженым: ?Если вы представите себе мороженое, то Гельветика ? это дешевое, противное, сделанное из воды с применением заменителей и растительных жиров мороженое. Состав плохой и оставляет немножко забавное послевкусие?. По версии Маага, в Гельветике чувствуется что-то старомодное: шрифт был основан на старом семействе шрифтов Akzidenz Grotesk (1896 год), и все, кто называет Гельветику современной, не могут называться модернистами. Читать дальше →


Топик участвует в конкурсе ?Умные телефоны за умные посты?. Давно я хотел посмотреть на QtQuick и QML, а тут вот и повод. Планировал начать классически ? с Hello World, но Qt Creator при создании нового проекта генерит как раз таки Hello World, так что героически его написать самому уже не получится. Ну что ж, тогда замахнемся на что-то побольше. Напишем такую программку, которая бы при запуске показывала что-то случайное, но красивое и вдохновляющее, а по клику в любом месте закрывалась. Мне вот нравятся картинки природы. Что меня тронуло до глубины души, так это тот факт, что данную программу в незнакомой IDE и на фактически незнакомом языке я написал где-то за 500 секунд, 400 из которых разбирался в Qt Creator и читал один короткий туториал. Читать дальше →


На одном из проектов было необходимо сделать кропалку для загружаемых юзерами аватаров. Стандартные решения, такие как Jcrop, после выделения области отправляют на сервер координаты, и сам кроп изображения необходимо осуществлять уже на сервере. Тем временем, современные браузеры уже дошли до того состояния, когда подобные действия можно осуществлять сразу на клиенте. Это и подтолкнуло меня к написанию своей кропалки с использованием canvas, которая производила бы все действия на клиенте и отправляла готовое изображение в виде base64-строки на сервер. Помимо ускорения работы и разгрузки сервера, это так же позволит нам сразу сменить аватар пользователя на странице, без подгрузки его с сервера. Читать дальше →



На Build были широко разрекламированы приложения для windows8, которые можно писать на html5. Я раньше считал, чтоMS взялись за html5 больше из политических-маркетинговых соображений, и не обращал внимание на маркетинговые сказки. Но после build мне стало понятно, что, судя по всему они взялись очень серьезно, по этому стоит обратить внимание. Хочу немного показать, что внутри себя содержат html5 metro приложения под win8. Читать дальше →


npm ? это пакетный менеджер node.js. С его помощью можно управлять модулями и зависимостями. Небольшая шпаргалка всех моих любимых команд npm: Установка npm Обновление npm Поиск пакетов в npm Просмотр информации о пакете Локальная установка пакетов Установка пакета в наше приложение Понимание разницы между глобальной и локальной установкой Глобальная установка пакетов Удаление локально установленного пакета Удаление глобально установленного пакета Установка определённой версии пакета Установка модуля с Github Связи любых пакетов локально Связи локальных пакетов для нескольких приложений Отмена связи между пакетами приложения Отмена связи пакета в системе Создание нового пакета Добавление нового пользователя Публикация пакета в репозиторий npm Удаление пакета из репозитория npm Управление правами доступа к пакетам в репозитории npm Читать дальше →


Здесь я описываю, как я подключался с из PHP-скрипта к блогсервису tumblr.com. Если вы будете бить меня ногами за профанацию или что-нибудь подобное ? я не обижусь. Я потратил на эти простые действия довольно много времени и теперь, сделав это, уверен, что эта статья для кого-то окажется полезной. Некоторое время назад у меня возникла необходимость делать кросс-постинг в Tumblr. Т.е., периодически совершать полностью автоматизированное размещение определенных материалов в своём блоге на Tumblr. Кто решал эту задачу для себя, уже должен понять, для чего эта статья. Тем же, кто займётся этим в будущем, скажу, что есть два способа OAuth-авторизации: это непосредственно OAuth и xAuth, о котором пойдёт речь. Читать дальше →



Отписаться от этой рассылки

No comments:

Post a Comment