• Планарный трансформатор: технология, расчеты, стоимость

      Не так давно ко мне обратилась одна компания, которой необходимо было разработать линейку LED-драйверов. Название компании и ТТХ драйверов называть не буду, NDA не подписывал, но этика есть этика. Вроде бы обычный заказ на драйвер, каких десяток за год набирается, но было два взаимоисключающих требования: стоимость и габариты.

      Задача с точки зрения схемотехники простая, но вот с точки зрения производства и конструирования оказалась очень интересной. И так — требовалось изготовить сетевой драйвер для LED с корректором коэффициента мощности (мощность около 100 Вт), который стоил был в пределах 3$ на серии и имел габариты по высоте не более 11 мм! Многие скажут: «А в чем проблема сделать дешманский драйвер?», вот только дешманский не прокатит, т.к. еще одно требование — возможно давать без опасений 5 лет гарантии. И вот тут начинается самое интересное.

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

      Если вам интересно между чем и чем делался выбор, на каких аргументах он основывался и как удалось получить стоимость трансформатора меньше 0.5$, то приглашаю вас в подкат. Ну и для улучшения «аппетита» прилагаю вам фото готового трансформатора:


      Читать дальше →
    • SSD и HDD в теле одного MacBook Pro

        Приветствую, уважаемые хабражители.

        Мой опыт, которым я хочу с вами поделиться, должен оказаться полезным для всех пользователей ноутбуков, хотя мой частный пример — MacBook Pro.

        После покупки сего агрегата, с порядковым номером в линейке: 6.1, я ожидал невиданных ранее скоростей, но, увы, предательская каруселька перегрузки, на месте курсора > image появлялась достаточно часто, заставляла себя ждать, мучила вопросом «как так?!» при этом скорость загрузки тотально укомплектованной операционной системы составляла примерно 2+ минуты, с загрузкой 5-и приложений (различной тяжести) на автозапуске.

        Такие показатели + периодические подвисания оказались досадным и обидным заключением, ведь под капотом процессор i7 / 4Gb DDR3 / 5 Series Chipset с возможной скоростью обмена данными в 3 гигабита.

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

        Добро пожаловать под хабракат, там сказ о эффективном разгоне моего инструмента.
      • Сила отжиманий

          Идея рассказать об этом простом, но очень эффективном упражнении пришла после прочтения вот этой темы.

          Прочитав ее, я понял, что бег, может, и подходит многим. Но, глядя на лужи, ветер и дожди за окном пять дней в неделю, засомневался, что подходит всем.

          Поэтому я хочу рассказать об отжиманиях, чем они лучше, с моей точки зрения, известных стандартных физических упражнений (подтягивания, приседания), для создания физической нагрузки в течение дня.
          Читать дальше →
        • Использование Python в многопоточном приложении на C++ и настоящая многопоточность в Python

            Все более или менее знающие Python разработчики знают про такую жуткую вещь как GIL. Глобальный блокировщик всего процесса до тех пор пока Python выполняется в одном из потоков. Он даёт потоко-защищённость методами сравнимыми с садизмом, поскольку любая неявная блокировка в многопоточном приложении смерти подобна, всё что опиралось на параллельное выполнение, умирает в мучениях, раз за разом натыкаясь на блокировку GIL.
            Известно что по сей день из-за этого скорбного факта программисты на C++ используют Python-обёртки по большей части лишь в однопоточных приложениях, а программисты на Python пытаются всех убедить, что им и так неплохо живётся.
            Казалось бы, если поток порождён в C++, он не знает ни о каком GIL, используй Python без блокировок и радуйся. Радость разработчика однако закончится уже на втором потоке запросившем область глобальных переменных без блокировки.
            Однако есть путь ведущий к светлому будущему!
            Этот путь был изначально в таком языке как Perl, он же поддерживается в Си-API языка Python и я ума не приложу почему подобный механизм не включен в один из стандартных модулей Python! Способ по сути сводит использование различных под-интерпретаторов Python в разных потоках, причём используя свой GIL для каждого(!!!) без всякого шаманства и магии, просто последовательно вызвав несколько функций и стандартного набора Си-API языка Python!
            Читать дальше →
          • Objective-C с нуля

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