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

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


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

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

        Sharp envelope knifeВ данной статье я расскажу об одном из способов, позволяющих с наименьшими усилиями трансформировать программный код на C/C++ в код, написанный на C#. Впрочем, рассказанные принципы подойдут и для других пар языков. Хочу сразу оговориться, что способ не рассчитан на трансформацию кода, реализующего GUI.

        Для чего это делать? К примеру, я таким образом портировал известную графическую библиотеку LibTiff (и LibJpeg заодно) на C#. Это позволило использовать наработки многих людей, создававших LibTiff, в моей программе вместе с библиотекой классов .NET Framework. Примеры кода в статье будут в основном из LibTiff и LibJpeg.

        Читать дальше →
      • Модели реальности и их роль в жизни людей

          Есть модель мира, и есть реальный мир.
          Как в физике — есть какое-то явление, а есть его модели.

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

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

          Однако где-то 95% людей не знают, что у них в голове мозг занимается тем же самым, только первые годы жизни. Он изучает и моделирует реальный мир, закладывая себе модели явлений, характеров людей, абстрактных понятий, и так далее, которые потом человек в своем сознании использует как инструмент, воспринимая модель как реальность. Далее всю жизнь человек этим и занимается, составляя все более сложные модели.

          Вот только отличий от физиков тут три. Первое — это незнание природы работы мозга. И отсюда вытекающая уверенность, что все, что человек видит, думает и знает — и есть истина. То есть человек себя убедил (читай сделал себе модель) в том, что Windows лучше, чем Linux — все, теперь в его модели мира может быть только этот факт. Второе отличие как раз в уточнении модели. Люди не уточняют модели реальности, как правило, более того, мозг специально отсекает факты, противоречащие модели, либо вырабатывает «адаптеры» в виде «логических объяснений», чтобы не нарушить комфорта в восприятии мира — все знают нелюбовь к изменениям, боязнь, что «мир встанет с ног на голову».
          Читать дальше →
        • Создание компактных приложений на VC++

            Примечание: Автором статьи является Алексей Fahrenheit Захаренко. Хороший человек и специалист.

            С экспоненциальным ростом объемов памяти и дискового пространства создание действительно маленьких программ бывает нужно достаточно редко, однако иногда встречаются задачи, когда просто жалко терять несколько сотен лишних килобайт на каждой мелкой утилите.
            Данная статья рассказывает, как можно получать действительно компактные программы, используя актуальные средства разработки – Microsoft Visual Studio 2008.
            В качестве примера портируем консольный архиватор 7-zip и оценим эффект от этого.
            Под катом - детали и пример применения
          • Gordon: среда исполнения Flash, реализованная на джаваскрипте

            • Перевод
            Вот это сюрприз! Тобиас Шнайдер (Tobias Schneider) построил среду исполнения Flash, работающую прямо во браузере. Она реализована на чистом джаваскрипте и HTML5, и все исходники являются открытыми (MIT-лицензированными), и располагаются на GitHub.

            Поглядите на Gordon в действии (хостинг демонстраций осуществил Пол Айриш).

            Gordon работает волшебно в последних версиях Файерфокса, Хрома и Сафари (да, и в iPhone Safari, хотя демонстрация «blue» на моём 3G идёт утомительно медленно). Чтобы установить его себе, запустите «git clone git://github.com/tobeytailor/gordon.git». Я обнаружил, что с URL «file:///» демонстрации не грузятся (в силу системы зависимостей скрипта), так что направьте ваш вебосервер на корень Gordon, а браузер направьте на demos/.

            Документации ещё никакой нету, так что неясно, насколько широкой совместимостью с Flash обладает Gordon, или в каком направлении станет развиваться. Однако, по крайней мере, это мощная заявка на зрелость открытых веботехнологий.
            <body onload="new Gordon.Movie('trip.swf', {id: 'stage', width: 500, height: 400})"></a>
                <div id="stage"></a></div>
            </body>
            [Gordon (скриншот)]
            Читать дальше →
          • Если хотите стать программистом

              Хочу опубликовать одну старую статью, которую я уже как то публиковал на одном из сайтов. Сразу скажу — авторство не мое, статья древняя, но актуальная.
              Благодаря этому уникальному упражнению, вы, совершенно не зная ни одного языка программирования, сможете почувствовать себя настоящим программистом-профессионалом!
              Поехали
            • Анимированные меню на jQuery

              • Перевод
              Недавно я наткнулся на сайт Dragon Interactive (dragoninteractive.com). Сайт этот достаточно добротно сделан в плане дизайна. А изюминкой можно назвать их анимированное меню. Ну вот если бы это было сделано в Adobe Flash, я даже и не упоминал бы о таком. Но при более близком рассмотрении оказалось, что их меню — это сочетание простых XHTML, CSS и Javascript. В данной статье я собираюсь продемонстрировать, как создавать менюшки (очень близкие к Dragon Interactive’s menu).

              Смотрим демо
              Читаем далее...
            • Анимированные меню на jQuery [часть 2]

              • Перевод
              По мотивам этого перевода.

              На одном из текущих проектов мы хотели добавить эффект на иконки меню — приподнимание в момент наведения мышкой. Я поэкспериментировал, используя встроенный в jquery эффект animate, на иконках двух типов: с отражениями и с тенями.

              image

              Смотрим демо
              Читаем далее...
            • rethink their coding style…

                Выдержка из исходников gcc, файл libcpp/files.c

                Copy Source | Copy HTML
                1. /* off_t might have a wider range than ssize_t - in other words,
                2. the max size of a file might be bigger than the address
                3. space. We can't handle a file that large. (Anyone with
                4. a single source file bigger than 2GB needs to rethink
                5. their coding style.) Some systems (e.g. AIX 4.1) define
                6. SSIZE_MAX to be much smaller than the actual range of the
                7. type. Use INTTYPE_MAXIMUM unconditionally to ensure this
                8. does not bite us. */
                9.    if (file->st.st_size > INTTYPE_MAXIMUM (ssize_t))
                10.    {
                11.       cpp_error (pfile, CPP_DL_ERROR, "%s is too large", file->path);
                12.       return false;
                13.    }
                14.  
                15.       size = file->st.st_size;