• Objective-C Runtime для Си-шников. Часть 3

      image

      Всем привет. Сегодня я продолжу рассказывать вам о внутреннем устройстве Objective-C Runtime, а конкретно — о его реализации на уровне языка C.

      В прошлых статьях мы с вами подробно разобрались с селекторами и механизмом посылки сообщений объектам и классам. Сегодня я хотел бы закончить с сообщениями и рассказать о принципах работы некоторых встроенных возможностей языка Objective C.

      Тем, с кем мы ещё не знакомы, я предлагаю для начала прочитать первую и вторую части, а прочитавших и заинтересовавшихся прошу под кат.
      Читать дальше →
    • Objective-C Runtime для Си-шников. Часть 2



        Снова здравствуйте. Мой цикл статей посвящён тем программистам, которые перешли с языка C на Objective-C, и хотели бы ответить для себя на вопросы «каким именно образом Objective-C основывается на языке C?» и «как это все происходит изнутри?».

        Большое спасибо всем за обратную связь, именно проявленный вами интерес служит для меня стимулом продолжать свои статьи по доскональному изучению Objective-C Runtime. Я начал эту часть именно с тематики своих статей, потому что хочу сделать пару уточнений:

        1. Мои статьи — не руководство по Objective C. Мы изучаем именно Objective-C Runtime настолько низкоуровнево, чтобы понимать его на уровне языка C.
        2. Мои статьи — не руководство по языку C и дебаггерам. Мы опускаемся до уровня языка C, но не ниже. Поэтому такие вопросы, как представление данных в памяти, я не затрагиваю. Предполагается, что вы знаете все это и без меня.


        Конечно, статьи будут интересны так же и другим категориям программистов. Но имейте ввиду эти два пункта.

        Если вы еще не читали первую статью, то настоятельно рекомендую прочитать сначала её: http://habrahabr.ru/post/250955/. А если уже читали, то добро пожаловать под кат.
        Читать дальше →
      • Objective-C Runtime для Си-шников. Часть 1



        При первом знакомстве с Objective C он произвёл на меня впечатление уродливого и нелогичного языка. На тот момент я уже имел достаточно сильную базу в C/C++ и ассемблере x86, а так же был знаком с другими высокоуровневыми языками. В документации писалось, что Objective C это расширение языка C. Но, как бы я ни старался, мне всё же не удавалось применить свой опыт в разработке приложений для iOS.

        Сегодня он всё так же кажется мне уродливым. Но однажды окунувшись в глубины Objective-C Runtime я влюбился в него. Изучение Objective-C Runtime позволило мне найти те тонкие ниточки, которые связывают Objective C с его «отцом» — великолепным и непревзойдённым языком C. Это тот самый случай, когда любовь превращает недостатки в достоинства.

        Если вам интересно взглянуть на Objective C не просто как на набор операторов и базовых фреймворков, а понять его низкоуровневое устройство, прошу под кат.
        Читать дальше →
      • Автоматизация рутины в Microsoft Excel при помощи VBA

        Приветствую всех.



        В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.




        Читать дальше →
      • Here be dragons: Управление памятью в Windows как оно есть [1/3]


          Каталог:
          Один
          Два
          Три

          Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
          Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

          Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
          Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

          Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
          Читать дальше →
        • Ускорение загрузки Windows for fun and profit

            image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

            Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
            Под катом много однообразных картинок и немножко унылого текста
          • 1000+ часов видео по Java на русском

            • Tutorial
            Добрый день.
            Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
            1. Java Core
            2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
            3. Multicore programming in Java.


            Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

            В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

            (GolovachCourses.com)


            Здесь собраны несколько вариантов записи моего курса Java Core.
            Модуль #1 (Procedural Java):
            Набор июль 2013: #1, #2, #3, #4
            Набор апрель 2013: #1, #2, #3, #4
            Набор февраль 2013: #1, #2, #3, #4
            Набор январь 2013: #1, #2, #3, #4
            Набор октябрь 2012: #1, #2, #3, #4.
            Читать дальше →
            • +102
            • 1169k
            • 38
          • Простая кастомизация Checkbox и Radio

              Вместо вступления


              Всем доброго времени суток!

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

              К сожалению, одного только CSS частенько не достаточно, чтобы с легкостью оформить тот или иной элемент формы. Наверное поэтому многие используют штуки вроде Uniform для своих форм. Лично я всегда стараюсь сократить количество Javascript, используемого в подобных целях, поэтому хочу рассказать о совершенно нативном HTML+CSS методе кастомизации радио-кнопок и чекбоксов.

              Уверен, что на большая часть специалистов на Хабре, применяют схожие методы, для тех же, кто использует js-библиотеки, вроде Uniform, надеюсь будет полезной эта статья.

              Поехали!


              Итак, сразу поставим цель: оформить чекбоксы и радио-кнопки, чтобы внешне они были похожи на js-магию Uniform, но сделать это максимально простым, нативным по отношению в HTML и CSS способом, а также избежать применения лишних тегов, сохраняя семантику. Как-то так.
              Читать дальше →
            • Фотографии без фокуса

                Не секрет, что сейчас, чтобы сделать фото на обычной, так скажем, «мыльнице», нужно немного нажать кнопку, после этого объектив сфокусируется на объекте и потом, когда мы уже видим чёткое изображение в видоискателе (или на экране), нажать кнопку до конца и сделать фото. В принципе, всё просто и понятно.



                Но компания Lytro решила изменить этот процесс. Они заявляют, что произведут революцию в мире фотографии. С помощью их фотокамер можно делать фото, не фокусируя камеру на объекте. А настроить резкость можно уже в пост-обработке. Честно, когда я первый раз увидел это, мне казалось, что я сплю.


                Читать дальше →
              • Как устроен jQuery: изучаем исходники


                  jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

                  В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
                  Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

                  Читать дальше →
                • Подборка генераторов CSS



                    Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.

                    (Осторожно! Много картинок)
                    Читать дальше →
                  • Что почитать, чтобы повысить свой уровень JavaScript

                    • Translation
                    От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

                    Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

                    Учтите, что некоторый ресурсы могут принадлежать нескольким уровням и охватывают широкие аспекты языка. Если вы считаете, что я что-то упустил, пожалуйста, дополните меня в комментариях.

                    Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
                    Читать дальше →
                    • +157
                    • 92.6k
                    • 31
                  • Подборка 10 css3 кнопок

                      С каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.



                      В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
                      Читать дальше →
                    • Обзор плагинов ++

                        Очередной топик с обзором нескольких интересных плагинов jQuery.

                        Mobily Map




                        Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
                        Узнать больше (англ.) | Посмотреть в действии


                        Читать дальше →
                      • jQuery для начинающих

                          jQuery Logo

                          jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

                          Читать дальше →
                        • Задачка на тему CSS

                            Хочу предложить решить задачку на тему использования CSS для компоновки блоков. Имея следующую разметку, напишите CSS-код, который позволил бы получить компоновку представленную на картинке. Требования: используется только CSS, не использовать абсолютное позиционирование, компоновка должна быть резиновой, вопросом поддержки устаревших браузеров можно пренебречь.

                            Код:
                            <div id="grid">
                                <div id="A">A</div>
                                <div id="B">B</div>
                                <div id="C">C</div>
                                <div id="D">D</div>
                                <div id="E">E</div>
                            </div>

                            Требуемый результат:
                            image

                            Оригинальное решение будет представлено завтра или раньше, если кто-нибудь напишет о нем в комментариях.

                            PS: решение представлено здесь habrahabr.ru/blogs/css/109276
                          • Что почитать на выходных? Рекомендуем

                              Это первый, пробный выпуск подборки интересных ссылок на статьи по разработке веб-приложений на платформе .NET (и не только). Сегодня я представляю первую подборку статей, которые будет полезно почитать в свободные минуты на выходных. Большинство статей написаны на английском, но, со временем, я надеюсь публиковать больше ссылок на русскоязычные статьи.

                              Тема номера:

                              Мега-подборка видео-материалов по разработке на ASP.NET WebForms, ASP.NET MVC и WebMatrix:
                              • 35 видео: что нового в ASP.NET и быстрое введение в новые функции [link];
                              • 114 видео: руководства по доступу к данным в ASP.NET [link];
                              • 155 видео: руководства по AJAX, AJAX Control Toolkit [link];
                              • 29 видео: руководства по вопросам безопасности ASP.NET [link];
                              • 17 видео: введение в разработку на WebMatrix [link];
                              • 24 видео: работа с IIS, развертывание ASP.NET-сайтов [link];
                              • 61 видео: руководства по построению приложений на ASP.NET MVC [link];
                              • 17 видео: руководства по доступу к данным в ASP.NET MVC [link];
                              • 5 видео: руководства по вопросам безопасности в ASP.NET MVC [link].
                              WebForms:
                              Читать дальше →