Search
Write a publication
Pull to refresh
0
0
Женя Баталин @batal

User

Send message

Приложения iPhone с открытым кодом

Reading time4 min
Views31K
В данной статье речь пойдет о приложениях с открытым кодом, которые размещены в App Store. Мы будем рассматривать только приложения которые одобрены компанией Apple и опубликованы. Начинающие разработчики могут изучать их код для повышения своих навыков.

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

Objective-C с нуля

Reading time23 min
Views442K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →

10 способов улучшить свои навыки программирования

Reading time4 min
Views89K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

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

DriverPack Solution 11 доступен для скачивания

Reading time3 min
Views7.6K

Дорогие коллеги!


Рад сообщить о выходе новой версии программы для установки драйверов DriverPack Solution 11!

В новой версии используются свежие базы драйверов, новый движок и реализована возможность установки дополнительных программ.
Ссылка для скачивания (объём 2,8Гб): http://drp.su/ru/download.htm


Наша цель – собрать все драйвера в одном месте.
Кстати, у нас уже 9млн. пользователей!
Читать дальше →

Книги, видео и другие материалы по разработке под iOS

Reading time4 min
Views114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →

Что такое Visual Studio.NET snippets? Часть вторая.

Reading time5 min
Views4K
Это вторая часть статьи про сниппеты. В первой давалось разъяснение, что это за механизм, для чего он нужен и как его применять. Во второй части речь пойдет про то, как сниппеты создавать.
Читать дальше →

Разработка игрового приложения под iPhone

Reading time7 min
Views10K

Разработка игрового приложения под iPhone



Начало

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

Цели

Cоздать и настроить средства разработки под Windows платформу без покупки самого девайса, Mac и сопутствующих средств разработки. Покупку Mac была отложена до момента полного понимания что и как работает.
Почти готовый проект и тулзы для него были под Windows поэтому было принято решение всё делать под Windows.
Несколько дней на поиск в интернете и я приступил к осуществлению данной идеи.

Шаг Первый — Настройка окружения и компилятора под Windows, а точнее под Cygwin

Было потрачено где-то около месяца на сборку toolchain под Cygwin. Результатом этого был огромный makefile для сборки toolchain и скомпилированное приложение HelloWorld, которое негде было запустить, так как девайса у меня не было. Когда я говорю что это заняло месяц, это не означает что я месяц по 8 часов в день работал над этим, в основном работа велась по выходным и после работы. Много времени уходило на перекомпиляцию, фикс проблем с путями, фикс проблем компиляции и настройки среды CygWin (только Cygwin я переставлял раза три).

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

Declarative HTML Helpers

Reading time3 min
Views14K

@functions @helpers


Большинство хелперов в asp.net mvc 3 это методы-расширения класса System.Web.Mvc.HtmlHelper.
Однако не всегда удобно создавать отдельный статический класс для 2-3 хелперов необходимых в одной вьюшке. И совсем неудобно создавать хелперы возвращающие большие блоки html-кода: ни подсветки синтаксиса, ни интеллисенса, ни прочих плюшек.

Для решения этих проблем в Razor есть два замечательных блока. Они позволяют создавать хелперы непосредственно в .cshtml-файлах.

image
Круто! но зачем это нужно?

Что почитать на выходных? Рекомендуем, выпуск №8

Reading time2 min
Views1.1K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Темы номера:ASP.NET MVC/WebMatrix:
  • Glimpse — серверный firebug для проектов ASP.NET (link);
  • WebMatrix- работа с пакетом определения мобильных клиентов от 51Degrees.mobi (link);
  • ASP.NET MVC 3- использование скаффолдинга контроллеров (link);
  • Модуль импорта/экспорта рецептов в Orchard CMS 1.1 (link);
  • ReSharper 6 предложит глубокую поддержку Razor (link);
  • Демонстрационное приложение MVC Music Store v3.0 для изучения ASP.NET MVC (link);
  • Razor- вывод секций в мастер-страницах мастер-страниц (link);
  • ASP.NET MVC 3 Tools Update, now with Drop-Down Lists! (link);
Читать дальше →

Ускоряем Visual Studio, часть I. Unity Builds

Reading time4 min
Views19K
Это перевод статьи Oliver Reeve об одном из способов ускорения компиляции проекта. Автору удалось ускорить компиляцию с 55 до 6 минут. В своём проекте я получил прирост производительности около 22% (около минуты). Это не столь поразительно, как достижения автора, но всё же, умножив эту минуту на количество компиляций в день, количество разработчиков и длительность разработки проекта, я получил экономию, которая точно оправдывает затраты на чтение статьи и настройку проектов. Описано решение для Visual Studio и С++, но идея применима и к другим IDE, компиляторам и языкам программирования (не всем). В следующей статье я рассмотрел еще пару способов ускорения компиляции решения.
Читать дальше →

Ускоряем Visual Studio, часть II. Эксперименты с компиляцией

Reading time7 min
Views32K
Мой основной рабочий инструмент на протяжении вот уже 10 лет это Microsoft Visual Studio. Это прекрасная IDE (по крайней мере для С++ и С#), лучше которой для Desktop-разработки под Windows я не знаю. Тем не менее, общеизвестен один её недостаток — падение производительности на больших решениях. Я сейчас работаю над решением из 19-ти проектов (около 4к файлов, 350к строк кода). Компиляция и прочие издержки съедают изрядное количество времени. Именно поэтому я задался целью провести масштабное исследование путей повышения скорости работы Visual Studio, отделив мифы от реальности.

Сразу скажу, что в финале мне удалось добиться сокращения времени компиляции решения с 4:24 минут до менее чем одной минуты. Детали под катом.
Читать дальше →

Простой пример использования WCF в Visual Studio 2010. Часть 1

Reading time10 min
Views95K
Вас ожидают две части:



Прошло много времени с тех пор, как я написал оригинальный пост Простой пример использования WCF. Это было еще до выхода Visual Studio 2008, и с тех пор многое изменилось. Поскольку множество людей по-прежнему задают вопросы в комментариях к тому посту, давайте посмотрим, что в настоящее время мы должны сделать, чтобы поднять и запустить службу (service), а также обратиться к ней из клиентского приложения.
Читать дальше →

Вопросы по продвижению приложений для Android

Reading time5 min
Views9.9K
Недавно мой знакомый попросил меня ответить на несколько вопросов по продвижению приложений для Android. Мы договорлись, что я напишу пост. За последний год у меня сложилось определенное впечатление о работе на рынке Android Market. С удовольствием поделюсь своим мнением. Надеюсь, что мой опыт будет полезен разработчикам. Буду рад, если пост породит конструктивную дискуссию.
Читать дальше →

Лень — механизм

Reading time5 min
Views75K

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

Используем NLog 2.0 в Silverlight или как я стал опенсорсником

Reading time4 min
Views5.8K
Началось все достаточно банально — с того, что мне понадобился logging в моем проекте на Silverlight.

Под «взрослым» .NET-ом я всегда пользовался NLog-ом от Ярека Ковальского. А почему не log4net, спросят многие из вас.
Все, конечно, достаточно субъективно, ну да ладно.
Читать дальше →

Программируем Reversi на Silverlight

Reading time5 min
Views2.9K
Давно хотел начать изучать Silverlight, начинал читать литературу, пытался вникать в концепции, паттерны, но все больше как-то абстрактно, в теории. На практике, настоящую программу на Silverlight так и не попытался написать.

Но вот совсем недавно на просторах Хабра проскочила статья «программируем Reversi на Питоне». Глянув в код, ужаснулся, у меня сразу включился мотиватор. Не то, чтобы я не люблю Питон, просто я очень люблю C#.

То, что вы увидите было написано за 1 рабочий день человеком, имеющим нулевой практический опыт разработки приложений в WPF/Silverlight.
Читать дальше →

LINQ to Objects на примерах

Reading time4 min
Views48K
Казалось бы .NET Framework 3.5 и революционный LINQ в частности появился у разработчиков достаточно давно, но не все мои коллеги еще четко представляют, что это такое и с чем это «едят». Поэтому я решил написать эдакую вводную статью для C# программистов, чтобы на наглядных примерах показать, как LINQ позволяет экономить время на рутинных вещах, таких как сортировка, аггрегация, поиск и т.д.

Сначала давайте определимся, что речь пойдет о LINQ to Objects. LINQ to SQL, XML, Entities и т.д. в этой статье не рассматриваются, хотя я уверен, что бОльшая часть приведенных примеров будет работать и там. Помимо этого, начиная с Silverlight 2.0, LINQ to Objects доступен и там.
Читать дальше →

Борьба с INotifyPropertyChanged или как я стал опенсорсником — 2

Reading time5 min
Views33K
Начиналось все как и в прошлый раз, достаточно прозаично: мне пришлось разработать *-надцать ViewModel-ей для своего MVVM-приложения.
Для того, чтобы они оптимально работали как ViewModel-и, мои классы должны были наследоваться от DependencyObject или же реализовывать заезженный до дыр интерфейс INotifyPropertyChanged (INPC).

Давно уже ни для кого не секрет, что DependencyProperty тормознее ручной реализации INPC. Мои тесты показывают, что запись в DependencyProperty в ~13 раз медленнее ручной реализации. Поэтому я, как неисправимый оптимизатор, склоняюсь именно к INPC. Тем более, что код поддержки INPC выглядит логичнее и органичнее, чем описание DependencyProperties.

Внимание, дальше много кода и о том, как этот код значительно уменьшить...

Номер телефона

Reading time1 min
Views292K
Регулярное выражение для валидации номера телефона:

^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$

Ориентировано на российские мобильные + городские с кодом из 3 цифр (например, Москва).

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

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity