Как стать автором
Обновить
0
0
Максим Максимов @2xMax

Пользователь

Отправить сообщение

Золотые правила успешной кнопки

Время на прочтение3 мин
Количество просмотров71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →
Всего голосов 224: ↑215 и ↓9+206
Комментарии55

Разрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 1)

Время на прочтение11 мин
Количество просмотров21K

Введение


Здравствуй, уважаемый хабраюзер.Я хотел бы тебе представить материал о практическом создании компилятора, который будет транслировать код, написанный на языке Cool, в код виртуальной машины CIL (Common Intermediate Language) под платформу .NET.Данный материал я решил разбить на две части из-за лени все сразу это описывать

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

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

Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии14

Лазерная игрушка для кошки на сервоприводах

Время на прочтение2 мин
Количество просмотров21K
Чем только не займешься в новогодние праздники? В этом году подарил своей кошке электронную игрушку на базе лазерной указки, двух сервоприводов и контроллера на базе Mega16. Может сравнить применение Меги в этой схеме со стрельбой по воробьям из пушки, но дома на тот момент была только она. Человеку, имеющему опыт программирования AVR микроконтроллеров не составит труда перенести ее на другую микросхему, вплоть до микроконтроллеров серии Tiny.
Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии41

Простейший робот-черепашка на arduino

Время на прочтение5 мин
Количество просмотров30K
Начитавшись в интернете и в том числе на хабре о создании разнообразных роботов, я решил сделать своего. Тем более, что у меня давно без дела валяется arduino.

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

Читать дальше →
Всего голосов 78: ↑74 и ↓4+70
Комментарии41

Android + Arduino + 4 колеса

Время на прочтение19 мин
Количество просмотров145K
Не думал, что так меня скрутит, но вот случился довольно острый приступ робототехники. Ну и как всякий уважающий себя пострадавший, я постараюсь заразить как можно больше людей.

Как развивалось помешательство, я решил описать в статье. Получилось длинно, но может кому-нибудь будет интересно. Думаю, статья ориентирована на тех, кто ещё не практиковался в робототехнике.

Вот что получилось в результате. Видео винтажное, снималось владельцем iPhone, а они ведь затейники, ну вы знаете. Звук я оставил закадровый сознательно, чтоб всё жужжало как взаправду.



Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии59

Полупроводниковая электроника

Время на прочтение30 мин
Количество просмотров375K


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



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





Иллюстраций: 34, символов: 51 609.



Читать дальше →
Всего голосов 488: ↑479 и ↓9+470
Комментарии152

Монетизация Android-приложения с помощью рекламы от AdMob с возможностью платного отключения. Часть первая

Время на прочтение5 мин
Количество просмотров128K
Всем привет! На Хабрахабре уже была статья о том, как сделать платное отключение рекламы в Android-приложении, где предлагалось использовать open-source библиотеку Android Billing Library. В данной статье я хочу рассказать о том, как реализовать подобный функционал при помощи системы внутренних платежей Android Market In-app Billing, не используя сторонних библиотек.

Статья состоит из двух частей. В первой части я подробно расскажу о том, как добавить рекламу от Google AdMob в свое приложение (данная часть в основном ориентирована на новичков), а во второй – как сделать ее платное отключение.

Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии30

Пишем примитивный и никому не нужный компилятор

Время на прочтение9 мин
Количество просмотров174K
Я считаю, что каждый программист должен написать свой компилятор.

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

В посте мы рассмотрим, как можно написать свой компилятор C-подобного языка меньше чем за час, исписав всего 300 строчек кода. В качестве бонуса, сюда входит и код виртуальной машины, в байткод которой будет компилироваться исходник.
Читать дальше →
Всего голосов 247: ↑231 и ↓16+215
Комментарии67

HOWTO: свой бизнес в США из России

Время на прочтение6 мин
Количество просмотров157K
    Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

    В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
Читать дальше →
Всего голосов 402: ↑398 и ↓4+394
Комментарии184

31 метод эффективного программирования под Android

Время на прочтение5 мин
Количество просмотров24K
Данная статья является переводом очень хорошего топика с форума Stack Overflow. Так как английский язык не является для меня родным, то какие-либо непонятные мне места я просто пропускал, что бы не разгневать тех, кто его действительно знает. Статья содержит список советов и рекомендаций для начинающих разработчиков под Android.

Читать дальше →
Всего голосов 145: ↑130 и ↓15+115
Комментарии65

Faviconist: Создайте красивый favicon с HTML5

Время на прочтение1 мин
Количество просмотров8K

Каждый сайт должен иметь favicon. Если вы до сих пор не сделали значок для вашего сайта — сделайте, теперь это еще проще!
Faviconist — новый favicon генератор от Michael Mahemoff.

Вам больше не нужен Photoshop для создания простого значка. Как Mahemoff пишет в своем блоге: Faviconist для 95% людей, которых устроит микро-дизайн их иконки, остальным все равно придется прибегнуть к Photoshop.
Читать дальше →
Всего голосов 53: ↑45 и ↓8+37
Комментарии17

MVC в Objective-C или калькулятор для iOS 5

Время на прочтение7 мин
Количество просмотров36K

Предыстория


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

Первое на что упал мой взгляд- это виртуальная школа iTunesU. Здесь я нашел лекции курса CS 193P которые ведут разработчики эпл для студентов Стэнфордского университета. Лекции достаточно хорошо охватывают базовые особенности языка и нативных фрэймворков, однако есть одно НО– лекции на английском и никакого перевода к ним нету. Для меня лично проблем это не вызвало, потому что Aple по всей видимости выбирает на эти лекции только кандидатов с хорошо поставленной речью, и прожитые в США 8 месяцев дали мне возможность смотреть лекции в оригинале и учится у «носителей языка» (шучу-шуткую).

Так как каждый год выходит новая версия Xcode, а лекции стэнфорда в которых рассматривается именно текущая версия становятся доступны с опозданием в семестр, я решил написать серию статей, которые будут идти по практической части (!) данного курса. Так как я слушал лекции осени 2010 для меня будет практическт полезным написать программу в xcode 4.2 который был изначально разработан под 3ю версию. Здесь я не буду углублятся в особенности ObjC а буду давать голую практику.
Читать дальше →
Всего голосов 48: ↑36 и ↓12+24
Комментарии43

DI и IoC для начинающих

Время на прочтение4 мин
Количество просмотров129K
Тема DI/IoC достаточно простая, но в сети очень сложно найти хорошее описание того, как это работает и зачем это нужно. Вот моя попытка, с использованием Unity. Хорошо ли объяснена тема – судить вам.

Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии46

Эмуляция интерфейса iPhone с помощью CSS

Время на прочтение1 мин
Количество просмотров3K
UiUiKit Некоторое время назад мне потребовалось «красиво» оформить логи бесед в жаббире. Поскольку рисовать я не умею вовсе, я обратился за подмогой к мирозданию. Поиск по готовым решениям открыл для меня малоизвестную, но, безусловно, заслуживающую внимания библиотечку. Строго говоря, это не библиотека. Это тщательно написанная и выверенная каскадная таблица стилей, позволяющая имитировать iPhone-интерфейс в браузерах.
Координатные данные проекта UiUiKit (Universal iPhone UI Kit):

Оригинально библиотека заточена под web-приложения именно для iPhone, поэтому всякий CSS3+ ограничивается указанием свойств только для webkit'а. Я пропатчил CSS директивами для остальных и развернул демонстрационную страничку, чтобы можно было сразу потыкать в элементы интерфейса.
Выглядит симпатично (на картинке в начале топика — скриншот моего браузера). Приятного использования!
Всего голосов 87: ↑70 и ↓17+53
Комментарии48

Sisyphus.js — защищаем данные форм пользователя от случайных потерь

Время на прочтение2 мин
Количество просмотров8.2K

В чём проблема?


Бывали ли у вас случаи, когда во время долгого заполнения нудной формы или написания красноречивого и пылкого комментария *внезапно* крашился браузер? Или вы закрывали вкладку, в которой работаете, или отключалось электропитание (а ИБП, по известному закону, нет)? Если нет — то вам повезло, но страховки от подобных происшествий ни у кого нет.

Представьте себе бурю эмоций, испытываемых пользователем, только что потерявшим все вводимые данные — а ведь оставалось немного допечатать и отправить форму. Вот если бы только был способ восстановить эти данные, а не заниматься сизифовым трудом…
Читать дальше →
Всего голосов 139: ↑136 и ↓3+133
Комментарии74

Снова используем Unmanaged С++ код в .NET программах

Время на прочтение7 мин
Количество просмотров4.8K
.NET C++

Около года назад я писал статью о том, как можно вызывать методы классов написанных на чистом Си++ из любой .NET программы не прибегая к регистрации COM библиотек, C++/CLI и т.п.

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

Читать дальше →
Всего голосов 70: ↑61 и ↓9+52
Комментарии7

Как применять IDisposable и финализаторы: 3 простых правила

Время на прочтение7 мин
Количество просмотров63K

От переводчика


После рассказа об утечке памяти и правильной реализации событий размещаю еще один перевод понравившейся мне статьи на тему управления памятью. Я видел несколько разных реализаций Dispose паттерна, иногда они даже противоречили друг другу. В этой статье автор представил хорошее и четкое разъяснение, когда следует реализовывать интерфейс IDisposable, когда финализаторы, а когда — все вместе.
И когда же?
Всего голосов 45: ↑35 и ↓10+25
Комментарии24

Пишем виджет, использующий API Яндекс.Метрики

Время на прочтение10 мин
Количество просмотров13K
Не так давно Яндекс.Метрика анонсировала открытый API, с помощью которого можно получить доступ практически ко всем функциям Метрики из собственной программы.
Сегодня я хочу немного рассказать об использовании этого API и о том, как на его основе создать простой widget для Android-устройств.

Читать дальше →
Всего голосов 66: ↑65 и ↓1+64
Комментарии12

Создание Push Notification сервиса на основе WCF REST

Время на прочтение5 мин
Количество просмотров13K
В качестве вступления

Модель push-нотификаций является распространённой моделью для обмена сообщениями. Она подразумевает не получение информации по запросу, а немедленную её передачу отправителю при появлении этой информации на сервере.

Стандартный подход с ипользованием wsDualHttpBinding

Возможность создания push-механизма предоставляет и WCF. Этот фреймворк позволяет создать push-сервис с использованием wsDualHttpBinding контракта. Такой контракт позволяет для каждого запроса определить метод обратного вызова, который будет вызван при наступлении какого-либо события.
Если применить этот механизм к системе обмена сообщениями, то получим следующий алгоритм:
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии16

XNA Draw или пишем систему частиц. Часть II: шейдеры

Время на прочтение6 мин
Количество просмотров17K
Привет всем разработчикам игр и просто людям, которые интересуются геймдевом.

Пришло время рассказать вам о пиксельных шейдерах и о том, как сделать post-proccesing. Это вторая часть статьи о графических методах в XNA, в прошлой статье — мы рассматривали методы Draw и Begin у spriteBatch. Для примера: улучшим нашу систему частиц добавлением пиксельного шейдера, который будет искажать пространство.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии19

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность