• Проект «Горижопа» — разработка изделия «гель Thermo-Intensive»

      image
      Поговорим о стоящей за этим науке

      Поскольку наша уютная лаборатория специализируется на гелях и трансдермальном транспорте, было бы странно не заняться проблемой целлюлита. Там почти не бывает сложностей, это вам не регенерация раны (сложно протестировать) и не медиагели (сложно делать много, стабильно и дёшево, с сохранением нужной звукопроводности, вязкости и акустического импеданса).

      В прошлом году мы занялись, собрали изделие для наружного применения и начали тесты. Я знаю, что вам, скорее всего, проблема целлюлита довольно по барабану, но, как оказалось, именно на примере этого средства очень просто объяснить многие вещи из медицины.

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

      На деле решение очень простое и элегантное с точки зрения биохимии, но довольно сложное в тестировании.
      Читать дальше →
    • Знай сложности алгоритмов

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

      image

      Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке.
      Читать дальше →
    • Как я проходила собеседования в Яндекс: мой непростой, но успешный опыт

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

        Вопрос для внимательных: сколько модулей отломится от корабля на старте?


        А еще год назад у меня в жизни была вроде бы похожая, но в то же время совсем другая ситуация — времени на хобби не хватало, задач было много, но они не приносили мне никакого удовольствия. В итоге я решилась на перемены. На самом деле, эта позиция в Яндексе не была первой, которую я рассматривала. За то время, которое прошло до моего первого рабочего дня, я освежила в голове очень много тем. И перед финальным собеседованием мне пришлось взяться ещё за несколько. Сейчас я понимаю, какие ошибки совершила в этом процессе, поэтому хочу поделиться своим опытом с вами. Буду рада, если кому-то это будет полезно. Хочу сказать, что это не официальные рецепты от рекрутеров Яндекса, а только мои собственные выводы. В конце поста я поделюсь списком литературы, которая мне помогла в подготовке, и еще добавлю те источники, которые считаю полезными, оглядываясь назад.

        Читать дальше →
      • Обширный обзор собеседований по Python. Советы и подсказки

        Всем привет!


        Кратко о себе. По образованию я математик, а вот по профессии — программист. В сфере разработки с 2006 года. Хотя, поскольку программирование начали изучать ещё в школе, свои первые программки и игры я начал писать ещё в школе (примерно, с 2003). Так сложилось, что пришлось выучить и поработать на нескольких языках. Если не брать во внимание ВУЗ-овские лекции по С, С++, Бэйсику, Паскалю и Фортрану, то реально я работал с Delphi (более 6 лет), PHP (более 5 лет), Embedded (Atmel + PIC около 2.5 лет) и последним временем Python + чуть-чуть Scala. Конечно же без баз данных тоже никак не обойтись.


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

        Читать дальше →
      • Знай своего врага: создаём Node.js-бэкдор

        • Translation
        Бэкдор в собственном коде, который может незаметно взаимодействовать с операционной системой, это один из самых страшных кошмаров любого разработчика. В настоящий момент в npm имеется более 1.2 миллиона общедоступных пакетов. За последние три года зависимости проектов превратились в идеальную цель для киберпреступников. Экосистема npm может оказаться на удивление хрупкой в том случае, если сообщество разработчиков не обратит пристальное внимание на безопасность. В качестве доказательств этой мысли достаточно вспомнить о тайпсквоттинге и об инциденте с npm-пакетом event-stream.



        Автор статьи, перевод которой мы сегодня публикуем, хочет, в образовательных целях, рассказать о том, как создавать бэкдоры для платформы Node.js.
        Читать дальше →
        • +30
        • 9.9k
        • 2
      • Открытые материалы от Computer Science центра, часть 1

          Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

          Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

          В этой части выкладываем записи наших популярных онлайн-курсов на Stepik и напоминаем о том, что до 11 апреля открыт новый набор в CS центр в Санкт-Петербурге и Новосибирске.


          Читать дальше →
          • +17
          • 8.6k
          • 3
        • Kubernetes 1.18: обзор основных новшеств

            Вчера, 25 марта, состоялся очередной релиз Kubernetes — 1.18. По сложившейся для нашего блога традиции, мы рассказываем о наиболее значимых изменениях в новой версии.



            Информация, использованная для подготовки этого материала, взята из официального анонса, таблицы Kubernetes enhancements tracking, CHANGELOG-1.18, обзоров от SUSE и Sysdig, а также соответствующих issues, pull requests, Kubernetes Enhancement Proposals (KEP)…
            Читать дальше →
            • +46
            • 10.2k
            • 5
          • Где порешать реальные задачи для кандидатов в Яндекc: тренировка на Codeforces и разбор

              Хабр, это снова я, Алексей Рак (фото не мое). В прошлом году, помимо основной работы, мне довелось стать одним из авторов задач для кандидатов в Яндекс. Сегодня наша команда впервые за долгое время публикует на Хабре реальные задачи для разработчиков, которые устраиваются в компанию. Эти задачи использовались до февраля 2020 года при отборе на стажировку для бэкендеров. Решения проверял компьютер. Сейчас кандидатам достаются похожие задания.

              Разборы и код сознательно спрятаны в спойлеры. Если вы готовитесь к собеседованиям в большие IT-компании, попробуйте решить одну или несколько задач, прежде чем смотреть разбор. Отправить решение для проверки можно на Codeforces — ответ придёт сразу же (ссылка на Codeforces и примечание). Код представлен на Python, C++ и Java. Важно: авторский «олимпиадный» код не предназначен для продакшена, он написан исходя из того, что система будет проверять его автоматически.
              Читать дальше →
            • HTTP-заголовок Feature-Policy и контроль поведения веб-страниц в браузерах

              • Translation
              Существует одна совершенно бесподобная методика, позволяющая держать производительность веб-проекта под контролем. Она заключается во внедрении в процесс разработки механизмов, результаты работы которых хорошо заметны. Эти механизмы нацелены на то, чтобы всегда напоминать программисту о важности производительности. В этом контексте есть кое-что, что мне очень нравится. Это — HTTP-заголовок Feature-Policy.



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

              Например, можно сообщить браузеру о том, что он не должен позволять использовать API Geolocation, передав ему следующий заголовок:

              Feature-Policy: geolocation 'none'

              У использования заголовка Feature-Policy есть, с точки зрения безопасности и производительности, множество плюсов. Но мне сейчас особенно нравится то, как Feature-Policy можно использовать для того, чтобы сделать более заметными проблемы производительности сайтов, которые обычно легко проглядеть. Это можно сравнить с чем-то вроде «линтинга производительности». В частности, речь идёт о выявлении проблем с изображениями, используемыми в веб-проектах.
              Читать дальше →
              • +33
              • 8.7k
              • 5
            • Kubernetes кластер за $20 в месяц

              • Tutorial

              TL; DR


              Поднимаем кластер для обслуживания веб-приложений без записи состояния (stateless web applications) вместе с ingress, letsencrypt, не используя средства автоматизации вроде kubespray, kubeadm и любых других.
              Время на чтение: ~45-60 минут, на воспроизведение действий: от 3-х часов.


              Преамбула


              На написание статьи меня сподвигла потребность в своём собственном кластере kubernetes для экспериментов. Автоматические решения установки и настройки, которые есть в открытом доступе, не работали в моем случае, так как я использовал не-мейнстримовые дистрибутивы Linux. Плотная работа с kubernetes в IPONWEB стимулирует иметь такую площадку, решая свои задачи в комфортном ключе, в том числе и для домашних проектов.


              Компоненты


              В статье будут фигурировать следующие компоненты:


              Ваш любимый Linux — я использовал Gentoo (node-1: systemd / node-2: openrc), Ubuntu 18.04.1.
              Kubernetes Server — kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy.
              Containerd + CNI Plugins (0.7.4) — для организации контейнеризации возьмем containerd + CNI вместо docker (хотя изначально вся конфигурация была поднята на docker, так что ничего не помешает использовать его в случае необходимости).
              CoreDNS — для организации service discovery компонентов, работающих внутри kubernetes кластера. Рекомендована версия не ниже 1.2.5, так как с этой версии появляется вменяемая поддержка работы coredns в качестве процесса, запущенного вне кластера.
              Flannel — для организации сетевого стека, общения подов и контейнеров между собой.
              Ваша любимая db.


              Для всех

              Читать дальше →
            • На Moscow Python Conf++ приходите поговорить с разработчиками языка

                Мы строили-строили, и наконец построили: расписание Moscow Python Conf++ собрано, проверено, перепроверено и опубликовано. Не то чтобы работа Программного комитета на этом заканчивалась (за два-то месяца до конференции, ну-ну), но 10 месяцев явно потрачено не зря, и я с нетерпением жду результата, заложив все возможное для общения разработчиков друг с другом.

                Сейчас расскажу, какой получилась программа конференции, и выбора у нас просто не останется. На площадке в центре Москвы будет: 3 потока докладов, поток воркшопов и митапов, 4 Core-разработчика (я до сих пор не знаю, считать ли Python Core-разработчиком заведующего разработкой Pytest и Hypothesis), 6 зарубежных спикеров с нетривиальным опытом, доклады от Microsoft, Wargaming, JetBrains, Parallels, EPAM, Booking.com, Tinkoff и других не менее интересных компаний. Ни одной проходной темы, я проверил. Каждый докладчик по-своему интересен, и каждая тема точно найдет тех, кому есть что обсудить со спикером. В этой статье я максимально кратко расскажу обо всех наших гостях: акцент на спикерах, по темам вы и сами сориентируетесь.


                Читать дальше →
                • +15
                • 2.8k
                • 1
              • Изучаем Docker, часть 3: файлы Dockerfile

                • Translation
                В переводе третьей части серии материалов, посвящённых Docker, мы продолжим вдохновляться выпечкой, а именно — бубликами. Нашей сегодняшней основной темой будет работа с файлами Dockerfile. Мы разберём инструкции, которые используются в этих файлах.

                Часть 1: основы
                Часть 2: термины и концепции
                Часть 3: файлы Dockerfile
                Часть 4: уменьшение размеров образов и ускорение их сборки
                Часть 5: команды
                Часть 6: работа с данными


                Бублики — это инструкции в файле Dockerfile
                Читать дальше →
                • +30
                • 184k
                • 6
              • Датчик движения и подключение сигнализации и видеорегистрации в Home Assistant на Raspberry pi

                Хочу рассказать о своем небольшом опыте работы с Home Assistant (далее – HA) на Raspberry pi и о подключении функционала видео регистрации, датчика движения и, соответственно, функции охраны дома с получением по почте снимков в случае срабатывания “охраны”.

                Конечно же, одной из причин является желание понять из ваших отзывов, что же я все-таки “понаделал не так”, реализуя данный сценарий.

                Есть три пути настройки вышеуказанного функционала: “без заморочек”, “короткий” и “самостоятельный”. В первом случае, вы, скачав готовый образ с сайта https://ViaMyBox.com/downloadpage для вашей Raspberry pi, можете посмотреть, как все выглядит в уже настроенном виде. Во втором случае, вы можете скачать zip с сайта или с гитхаб проекта, проинсталлировать и поставить HA docker образ через утилиту (sudo via-setup.sh), чтобы посмотреть, как все настроено. И, наконец, третий путь — настроить “все по-своему”: взять что-нибудь полезное с сайта или githab проекта, или из этого туториала. Ссылки на все в конце статьи.
                Читать дальше →
                • +12
                • 15k
                • 4
              • На моей визитке работает Linux

                • Translation
                Перевод статьи из блога инженера Джорджа Хиллиарда


                Кликабельно

                Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов.

                Одна из таких областей – дешёвые компьютеры, способные поддерживать Linux, и чем дешевле, тем лучше. Поэтому я зарылся в глубокую кроличью нору малоизвестных процессоров.

                Я подумал: «Эти процессоры настолько дешёвые, что их практически можно раздавать даром». И через некоторое время ко мне пришла идея сделать голую карточку для Linux в форм-факторе визитной карточки.
                Читать дальше →
              • Программист-фанатик. Как сохранить конкурентные преимущества и стать заметным?

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

                  Читать дальше →
                  • +17
                  • 11.4k
                  • 7
                • Метрики — индикаторы здоровья проекта

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



                    Под катом Руслан Остропольский (RusOstropolsky) расскажет всё о метриках, которые являются индикаторами здоровья IT-систем. Разберет, какие бывают метрики, как они меняются по мере развития проекта, какие в каком проекте лучше применять. Объяснит, как качество и бизнес помогают друг другу с точки зрения метрик и зачем нужна эта коллаборация.
                    Читать дальше →
                  • О проблемах транслятора Python и переосмысление языка

                    Сколько нужно архитекторов, чтобы реализовать язык программирования?
                    Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше.


                    В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые гарантируют, что у вас не будет никаких простых способов сделать приложение на питоне ни многопоточным, ни быстрым, ни легко поддерживаемым, и почему было создано столько альтернативных реализаций (PyPy, Cython, Jython, IronPython, Python for .NET, Parakeet, Nuitka, Stackless, Unladen Swallow), половина из которых уже умерла; и мало кто понял, почему у альтернатив не было шансов победить в борьбе за выживание против других языков. Да, есть GDScript, который призван решить проблемы с производительностью, есть Nim, который призван решить вообще все проблемы, не обязывая при этом пользователя чрезмерно явно объявлять типы. Однако, учитывая огромную инертность индустрии, я осознаю, что в ближайшие 10 лет новые языки точно не займут значимой ниши. Однако, я верю в то, что питон возможно сделать эффективным, изменив стиль написания кода, по большей части сохранив оригинальный синтаксис, и полностью сохраняя возможность взаимодействия кода нового и старого стиля. Я буду концентрироваться на проблемах CPython, а не ближайшего его конкурента, PyPy, поскольку PyPy на самом деле прыгает вокруг всё тех же проблем CPython.

                    Читать дальше →
                  • Задача №2. Определение популяционной структуры

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

                      Главный приз — Полный геном.


                      Читать дальше →
                      • +10
                      • 2.7k
                      • 2