• Знай сложности алгоритмов

    • Translation
    Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
    Читать дальше →
  • Путь к трансдьюсерам на чистом JavaScript

    • Translation
    Если вы наслышаны о так называемых «трансдьюсерах», но до сих пор не применяете их в JavaScript-разработке, сегодня у вас есть шанс найти ответы на вопросы: «Что такое трансдьюсеры?» и «Как ими пользоваться?». Это позволит вам понять, нужны ли они в ваших проектах, и, если нужны — поможет приступить к их использованию.



    Речь пойдёт о том, как писать код, который предназначен для построения хорошо подходящих для компоновки конвейеров преобразований данных, не потребляющий слишком много памяти. Для того, чтобы как следует разобраться в концепции трансдьюсеров, начнём мы с более простых механизмов, редьюсеров, или функций для свёртки данных.
    Читать дальше →
  • Циклическое слайд-шоу на чистом CSS3

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

    Скриншот слайд-шоу на чистом CSS3
    Читать дальше →
  • [Перевод] Введение в Gulp, Grunt, Bower, и поддержка npm в Visual Studio

      Вступление


      Веб разработка, а именно фронт-энд разработка становится, как и традиционная бэк-энд разработка, все комплекснее и мудренее. Множество проектов нуждаются в большем, нежели банальная закачка пары JS и CSS файлов по FTP. Сейчас мы можем наблюдать так называемый процесс сборки фронт-энда, который может включать компиляцию SASS и LESS, сжатие CSS/JS, запуск JSHint или JSLint и многое другое. Эти сборочные задачи и процессы координируются такими инструментами как Gulp или Grunt. Так же клиентскими библиотеками можно управлять используя различные системы управления пакетами как npm или bower.

      Читать далее
      • +17
      • 37.3k
      • 6
    • GulpJS — фантастически быстрый сборщик проектов

        Gulp.js это потоковый сборщик проектов на JS. Он использует Stream и действительно является очень быстрым. Для примера у меня есть проект где около тысячи stylus файлов, GruntJS нужно примерно 2.5 секунды на сборку и 2 секунды на обработку autoprefixer'ом. Gulp все это делает за 0.5 секунды выигрывая у GruntJS минимум в 4 раза.



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

        В этой статье будет больше практики, мы соберем среду разработки фронтенда используя Jade и Stylus, запустим локальный сервер и подключим Livereload. Проект я выложил на Github, экспериментируйте.

        Читать дальше →
      • Vim по полной: Введение

          Привет, хабраюзер!

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

          В этой серии статей я решил поделиться собственными наработками и, возможно, показать, на что может быть способен этот редактор в руках программиста. Серия будет состоять из следующих частей:
          1. Введение (vim_lib)
          2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
          3. Уровень проекта и файловая система (vim_prj, nerdtree)
          4. Snippets и шаблоны файлов (UltiSnips, vim_template)
          5. Компиляция и выполнение чего угодно (vim-quickrun)
          6. Работа с Git (vim_git)
          7. Деплой (vim_deploy)
          8. Тестирование с помощью xUnit (vim_unittest)
          9. Библиотека, на которой все держится (vim_lib)
          10. Другие полезные плагины

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

          Готов? Вперед под кат!
        • Чего на самом деле стоила Apple победа над Samsung

          • Translation

          Сидя в старбаксе, в ожидании своего американо, я наблюдал за двумя парнями, взявшими газету, и затеявшими обсуждение вердикта по делу Apple — Samsung.
          — Постой, то есть получается, что Samsung — то же самое что и Apple?
          — Представляешь да!? Это заставляет задуматься о том, сколько я отдал за свой Mac Book!
          — Да уж…

          Не прошло и десяти минут, как я слышу диалог мужа и жены, по тому же поводу:
          Читать дальше →
        • Покупка iMac в России: опыт, советы, подводные камни

          image

          Вступление


          Около года назад, я собрался с мыслями, нашел свободное время и установил на недавно приобретенный компьютер Mac OS X 10.6.6 Snow Leopard, или проще говоря, «создал» себе Хакинтош. Я не буду описывать процесс установки и настройки, лишь факты: характеристика — что и как заработало. Характеристики хака были следующие:
          • Материнская плата: ASUS P7P55D PRO — DSDT.aml имеется на сайте tonymacx86
          • Процессор: Core i5-760 2.80 Ghz.
          • SSD Диск: OCZ Vertex-2 (SATA-II) — нативно работает
          • HDD: 1,5 TB; 1 TB
          • Видеокарта: XFX ATI Radeon HD 6870 1gb — нативно поднимается в OS 10.7.x, и 10.6.7/8. В 10.6.6 с помощью драйверов от 10.6.7 и выше.
          • Оперативная память: 4 Gb (2 x 2gb)
          • Мышка, клавиатура: usb — нативно
          • Сеть: официальные драйвера realtek
          • Звук: завелся установкой voodoo kext
          Об хакинтошах уже писал Kyrie1965 в своей статье «Хакинтош» — стоит ли игра свеч?, поэтому на вопросах «что? как? почему?» относительно хакинтоша я не буду заострять внимания. (Спрашивайте, если вдруг возникнут вопросы по данному железу под хак.)
          Просидев на данном звере около года, обновившись в последствии до 10.7, я окончательно принял решение купить iMac. Об этом тонком процессе и пойдет речь ниже.
          Читать дальше →
        • История user-agent в браузерах

          • Translation
          imageВ начале был NCSA Mosaic, и Mosaic называл себя NCSA_Mosaic/2.0 (Windows 3.1), и Mosaic показывал картинки с текстом, и счастье пришло.



          imageИ потом пришел новый веб-браузер, известный как «Mozilla», что сокращением было для «Mosaic Killer»(«Убийца Мозаики»), но Mosaic не понравилось это, так что имя было изменено на Netscape и Netscape называл себя Mozilla/1.0 (Win3.1), и не было больше счастья. И Netscape поддерживал фреймы и фреймы стали популярны в народе, но Mosaic не поддерживал фреймы, и поэтому пришло время вынюхивания user agent-ов, и для Mozilla вебмастеры посылали фреймы, но для других браузеров не посылали.
          И что дальше случилось, подкат расскажет вам
        • Дизайн мышление для стартапа

            Дизайн прочно и глубоко вошел в нашу жизнь. Форме придают не меньшее значение, нежели функции и успех компании Apple явное тому доказательство. Но под дизайном тут следует понимать не только внешний вид продукта, но и то, как этот продукт работает, как предоставляется услуга, каково взаимодействие клиентов с ними.

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

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

            Итак, что же это такое – дизайн мышление?

            Дальше интереснее
            • +12
            • 5.5k
            • 9
          • iPad как платформа для разработки веб-приложений

              Современное общество мобильно, легко адаптируется к динамично меняющейся окружающей среде. Мы на связи с глобальной сетью повсюду: в машине, в поезде, в метро, даже в туалете!
              По-моему термин On-The-Go! наиболее точно характеризует современного человека.

              Сейчас планшетник уже перестал быть роскошью и гаджетом, который есть только у президента. Уже пол года, как я стал счастливым обладателем iPad. В основном я использовал его для серфинга в Интернете, презентаций видеоработ заказчикам, и чтения технической литературы (как это ни странно прозвучит, но художественную мне удобнее читать с iPhone'а). Но с момента покупки меня ниразу не покидала мысль «А можно ли полноценно разрабатывать веб-приложения на iPad? Так, чтобы компьютер был не нужен вообще?». И сегодня я могу сказать — ДА — на iPad можно вести полноценную веб-разработку. Сегодня в AppStore уже есть ряд программ, которые очень сильно помогут при разработке приложений на iPad.
              Читать дальше →
            • Обзор медиаплеера iXtreamer

                Недавно компания inprice дала мне на тестирование довольно интересный медиаплеер iXtreamer компании Xtreamer. Я уже давно являюсь пользователем их продукции, ещё со времён первого Икстримера, который теперь называется Сайдвиндер.



                Сам по себе Айикстример сочетает в себе 2 устройства: старый добрый Икстример/Сайдвиндер и док для устройств компании Эпл, а именно Айпадов, Айподов и Айфонов.

                Прошу любить и жаловать
              • Планшет Dropad A8X или развитие китайских планшетов за последние полгода

                  На днях ко мне в руки попал новый китайский планшет на Android OS под названием Dropad A8X, и я решил поделиться своими впечатлениями про него с Вами. По сравнению со старым моим девайсом Zenithink ZT-180 аппарат оказался заметно шустрее. Причем что удивительно — за полгода девайсы одной и той же ценовой категории отличаются настолько заметно, что в начале в это было трудно поверить. Постоянные мучения с прошивкой Zenithink что-бы хоть как-то ускорить работу особо ни к чему не приводили, а новый девайс из коробки заработал шустро и без проблем. Вообще очень интересно было следить за развитием и конкуренцией именно в ценовой категории около 200$. За эти деньги можно получить самое ходовое планшетное железо на данный момент, которое должно быть «немного хуже топовых моделей, и сильно лучше дешевых», иначе бы им просто не было бы места на рынке.
                  Продолжение
                • Веб-интерфейсы: развитие или наоборот?

                    Уже давно крутятся мысли по поводу пользовательских интерфейсах и о их деградации развитии конечно же, ими то я и хочу сегодня поделиться. Многие помнят старые интерфейсы с псевдографикой в текстовом режиме со скупым функционалом и ограниченным юзабилити. Потом им на смену пришли оконные интерфейсы в графическом режиме и теперь уже веб-интерфейсы. Но повысилась ли скорость работы потребителей прикладных программ, пользователей и операторов ввода? Повысилась ли скорость разработки экранов и отчетов? Многие скажут Вам твердое «нет» — средняя производительность программистов и пользователей снижалась с каждым новым шагом технологий вперед. И для этого есть ряд объективных причин. Кроме них мы сегодня остановимся и на том, как же все-таки поднять сею производительность.
                    Читать дальше →
                  • DOOM на PocketBook 360 Plus

                      Привет, хабрасообщество.
                      Попал мне в руки опытный образец PocketBook 360 Plus.
                      Не буду пока раскрывать секрета внутренностей сего девайса.
                      Лучше покажу небольшое видео с его участием.

                      На моей памяти впервые на электронной книге запустилась такая игра.

                      Порт основан на PrBoom
                    • Инструкция(!) по прошивке Android в NAND HD2



                        Всем добрый вечер. Да, я, разумеется, в курсе, что постов про прошиваемый в NAND-память Android на HD2 уже целых два, но оба так, проходные/уведомительные, а один так и вообще на главную не попал. Здесь же я предлагаю полную инструкцию, заботливо переведенную и проверенную, т.к. многим даже в праздники лень ковыряться в буржуйских форумах и разбираться «какого х…нового года оно не заводится».
                        Читать дальше →
                      • Разработка привлекательных реалистичных пользовательских интерфейсов

                        • Translation
                        Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
                        Читать дальше →
                      • Коллекции иконок? Легко! Тысячи иконок в сетах.

                          В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
                          Читать дальше →
                        • Windows mouse acceleration for Mac

                            Всем доброго дня.

                            Этот пост будет интересен в первую очередь «свитчерам», тем, кто не так давно пересел на Mac. Mac на PC(hackintosh) или оригинальный, неважно.

                            Проблема «ленивого» курсора не раз поднималась в сети. Каждый решал ее по-своему. Кто то использовал SteerMouse, USBOverdrive и прочие программы, якобы решающие эти проблемы, кто то привыкал и принимал это за неизличимую особенность.

                            Но существует метод, который пусть не абсолютно точно, но очень схоже помогат заставить вести вашу мышь на Mac так же как на PC(Windows). Об этом далее.
                            Читать дальше →