• 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 не просто как на набор операторов и базовых фреймворков, а понять его низкоуровневое устройство, прошу под кат.
        Читать дальше →
      • Google Cloud Connect

          Помните Google купила DocVerse? Они делали плагин для Microsoft Office для синхронизации работы над файлами Word, Exel и PowerPoint.
          Ну вот Google переварил очередную компанию и этот функционал теперь доступен для Google Apps, осталось только скачать плагин.
        • Автоматизация рутины в 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
              • 1127k
              • 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

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

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

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

                      Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
                      Читать дальше →
                      • +157
                      • 90,7k
                      • 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:
                                Читать дальше →