ClearML — это довольно мощный фреймворк, основным предназначением которого является трекинг ML-экспериментов. Для рассмотрения его возможностей построим небольшой пайплайн обучения ML-модели...
User
Shadowsocks-туннелирование корпоративного VPN
Easy
8 min
56KTutorial
Если у вашей компании имеются серверы, работающие за границей, и доступ для внутренних пользователей вы предоставляете посредством VPN-протоколов (достаточно типовая схема, особенно после Covid — 2019, когда удалённая работа стала особенно популярной), то настало время действовать на опережение. Конечно, применение административного ресурса, возможно, защитит ваши интересы от тотальных проблем в будущем, но лучше подстраховаться, чем в один прекрасный день получить 100500 сообщений от систем мониторинга о недоступности опекаемых клиентов. Статья демонстрирует, как скрыть от противодействия со стороны систем глубокого анализа трафика сервисы компании, доступ к бизнес-процессам которых обеспечивается посредством VPN, используя для этого туннели shadowsocks.
+53
Книги по Kubernetes — что почитать в 2023 году
Easy
4 min
18KReview
Согласно прошлогоднему отчету Cloud Native Operations, недостаток квалифицированных кадров — одна из ключевых причин, тормозящих внедрение Kubernetes. Этот факт подтверждают аналитики DataDog — по их оценкам, из-за нехватки экспертизы миграцию на контейнерную инфраструктуру откладывает 40% компаний.
Иными словами, в индустрии наблюдается повышенный спрос на специалистов по Kuberentes и есть смысл «прокачиваться» в этом направлении. Поэтому мы подобрали дополнительную профессиональную литературу по теме. В сегодняшней подборке — новые книги про Kubernetes с высокими оценками рецензентов.
+17
15+ небанальных ресурсов для начинающего/продолжающего Python-разработчика
Easy
4 min
59KDigest
Привет Хабрчанам! Меня зовут Дима Туркин, я — код-ревьюер на курсе «Python-разработчик» Яндекс Практикума и Python-тимлид.
Тема материалов по Python для начинающих и продолжающих свой путь разработчиков уже заезженная, поэтому в этой статье я постарался собрать ссылки на менее известные бесплатные ресурсы, но не менее полезные. Есть чем дополнить — пишите в комментариях!
+12
Книги для системного администратора. Моя книжная полка
6 min
482KКниги.
Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги.
Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок иболи, потере важных данных различных злоключений.
В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен!
В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов.
Уклон будет на *nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы.
Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению.
Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги.
Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок и
В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен!
В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов.
Уклон будет на *nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы.
Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению.
+41
Как просто написать распределенный веб-сервис на Python + AMQP
7 min
29KПривет, Хабр. Я уже довольно давно пишу на Python. Недавно пришлось разбираться с RabbitMQ. Мне понравилось. Потому что он без всяких проблем (понятно, что с некоторыми тонкостями) собирается в кластер. Тут я подумал: а неплохо бы его использовать в качестве очереди сообщений в кусочке API проекта, над которым я работаю. Сам API написан на tornado, основная мысль была в исключении блокирующего кода из API. Все синхронные операции выполнялись в пуле тредов.
Первое, что я решил, это сделать отдельный процесс(ы) «worker», который бы брал на себя всю синхронную работу. Задумал, чтобы «worker» был максимально прост, и делал задачи из очереди одну за другой. Скажем, выбрал из базы что-нибудь, ответил, взял на себя следующую задачу и так далее. Самих «worker»ов можно запустить много и тогда AMQP выступает уже в роли некоего подобия IPC.
Спустя некоторое время из этого вырос модуль, который берет на себя всю рутину связанную с AMQP и передачей сообщений туда и назад, а также сжимает их gzipом, если данных слишком много. Так родился crew. Собственно, используя его, мы с вами напишем простой API, который будет состоять из сервера на tornado и простых и незамысловатых «worker» процессов. Забегая вперед скажу, что весь код доступен на github, а то, о чем я буду рассказывать дальше, собрано в папке example.
Первое, что я решил, это сделать отдельный процесс(ы) «worker», который бы брал на себя всю синхронную работу. Задумал, чтобы «worker» был максимально прост, и делал задачи из очереди одну за другой. Скажем, выбрал из базы что-нибудь, ответил, взял на себя следующую задачу и так далее. Самих «worker»ов можно запустить много и тогда AMQP выступает уже в роли некоего подобия IPC.
Спустя некоторое время из этого вырос модуль, который берет на себя всю рутину связанную с AMQP и передачей сообщений туда и назад, а также сжимает их gzipом, если данных слишком много. Так родился crew. Собственно, используя его, мы с вами напишем простой API, который будет состоять из сервера на tornado и простых и незамысловатых «worker» процессов. Забегая вперед скажу, что весь код доступен на github, а то, о чем я буду рассказывать дальше, собрано в папке example.
+25
Легкий способ научиться слепому десятипальцевому набору
3 min
1.2MTutorial
Традиционно рекомендации по обучению десятипальцевой печати сводятся к двум советам:
Научиться печатать на клавиатуре вслепую при помощи этих способов — издевательство над собой. Каждый, кто пробовал «Соло», хотя бы раз в ярости бил по клавиатуре кулаком, и практически никто не дошел до конца. А кто пробовал заклеивать надписи на клавишах, вскоре отрывал наклейки обратно, потому что без навыка и без подписей печатать невозможно, а жить дальше как-то надо.
Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
- тратить нервы на клавиатурные тренажеры вроде пресловутого «Соло на клавиатуре»;
- заклеить подписи на клавишах.
Научиться печатать на клавиатуре вслепую при помощи этих способов — издевательство над собой. Каждый, кто пробовал «Соло», хотя бы раз в ярости бил по клавиатуре кулаком, и практически никто не дошел до конца. А кто пробовал заклеивать надписи на клавишах, вскоре отрывал наклейки обратно, потому что без навыка и без подписей печатать невозможно, а жить дальше как-то надо.
Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
+64
Очень быстрый и эффективный способ расслабления глаз
4 min
414KПредисловие
Не знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
+230
Программирование для начинающих: как стартовать и куда двигаться?
2 min
389KБывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
+26
Как накормить мозг программиста… или feed your brain
12 min
372KВведение
Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)
Известно, что при работе за компьютером мозг программиста затрачивает больше энергии, чем мозг других людей. Программист, как работник умственного труда, должен следить за своим питанием и здоровьем, чтобы поддерживать свой мозг в состоянии высокой работоспособности. К тому же, программист должен быть в отличной интеллектуальной форме, развивать в себе высокую творческую активность и задумываться о предотвращении возрастных ухудшений памяти.
В ранней юности, когда, погружаясь глубоко в проект, я часто забывал о еде и бывало, что моей единственной пищей за день был батон с кефиром. Теперь с годами я понимаю, как тогда травмировал мозг, не давая ему нужные для работы вещества и энергию.
В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае
+113
15 малоизвестных команд Linux
3 min
316KTranslation
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
+215
Aptly — создание собственного репозитория
6 min
32KМоя организация пишет софт под Linux.
Софт предназначен для работы на торговых точках, которые распределены географически.
Изначально ПО предоставлялось клиентам как набор deb пакетов под разные дистрибутивы и архитектуры со списком пакетов, которые нужно установить как зависимости до инсталляции этих deb файлов.
Хочу рассказать, каким был путь эволюции от распространения файлов через ftp до создания репозитория и запуска системы управления конфигурациями и начала внедрения в работу сервера непрерывной интеграции.
Софт предназначен для работы на торговых точках, которые распределены географически.
Изначально ПО предоставлялось клиентам как набор deb пакетов под разные дистрибутивы и архитектуры со списком пакетов, которые нужно установить как зависимости до инсталляции этих deb файлов.
Хочу рассказать, каким был путь эволюции от распространения файлов через ftp до создания репозитория и запуска системы управления конфигурациями и начала внедрения в работу сервера непрерывной интеграции.
+20
Использование Vim в качестве C/C++ IDE
4 min
116KПривет, Хабрахабр. Меня зовут Алексей и я занимаюсь тем, что разрабатываю встраиваемые операционные системы.
Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.
Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.
Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
+27
Практические рекомендации: устраняйте неполадки, используя команду 'Top' в Linux
8 min
91KTranslation
Сейчас мы работаем над новой фичей нашего сервиса мониторинга, для того чтобы можно было мониторить не только внешние параметры сервера, но и внутренние, такие как загрузку системы, состояние жестких дисков, оперативной памяти и других. В процессе разработки мы натолкнулись на полезную статью, которая рассказывает о параметрах системы которые можно получить с помощью системной команды top, перевод этой статьи мы представляем вашему вниманию.
Load average может представлять собой непростой для понимания показатель производительности сервера. В этой статье мы попытаемся дать некоторое представление о том, что означают те величины, которые можно найти в выводе команды «top» и в других linux-командах. В статье, также объясняются параметры специфичные для виртуального хостинга, которые обычно не отображается в стандартном выводе команды top.
Load average может представлять собой непростой для понимания показатель производительности сервера. В этой статье мы попытаемся дать некоторое представление о том, что означают те величины, которые можно найти в выводе команды «top» и в других linux-командах. В статье, также объясняются параметры специфичные для виртуального хостинга, которые обычно не отображается в стандартном выводе команды top.
+33
Как сверстать веб-страницу. Часть 2 — Bootstrap
19 min
697KTutorial
Введение
Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.
В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
+68
Интерпретатор Python: о чём думает змея? (часть I-III)
6 min
53KОт переводчика
Данная серия статей рассчитана на тех, кто умеет писать на python в целом, но плохо представляет как этот язык устроен изнутри. Собственно, как и я три месяца назад.
Небольшой дисклеймер: свой рассказ я буду вести на примере интерпретатора python 2.7. Всё, о чем пойдёт речь далее, можно повторить и на python 3.x с поправкой на некоторые различия в синтаксисе и именование некоторых функций.
Итак, начнём.
+33
Видео лекций четвертого набора Курсов информационных технологий Яндекса
2 min
49KTutorial
Информационные технологии сегодня — одна из самых динамичных областей. Востребованный набор знаний и навыков современного специалиста, будь то разработчик, тестировщик, системный администратор, сотрудник службы технической поддержки или информационной безопасности, напоминает сказку про Алису в Зазеркалье, в которой «приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее».
К сожалению, эта ситуация приводит к разрыву между программой подготовки специалистов в академической среде и технологиями, с которыми им придется столкнуться в современной интернет-компании. Курсы информационных технологий (КИТ) не претендуют на моментальное заполнение этого разрыва, но предназначены быть местом встречи и диалога молодых и опытных специалистов отрасли.
К сожалению, эта ситуация приводит к разрыву между программой подготовки специалистов в академической среде и технологиями, с которыми им придется столкнуться в современной интернет-компании. Курсы информационных технологий (КИТ) не претендуют на моментальное заполнение этого разрыва, но предназначены быть местом встречи и диалога молодых и опытных специалистов отрасли.
+57
Кое-что об edX Blades
4 min
12KПоследнее время очень много выходит статей о проектах онлайн-обучения, которые стали новым этапом в образовании. Сейчас онлайн-курсы более популярны за рубежом. Среди всех ресурсов, предоставляющих возможность онлайн-обучения, можно выделить три самых популярных: Coursera, edX и Udacity. Эти три ресурса отличаются интерактивностью своих курсов и, что самое главное, дают возможность любому желающему пройти обучение абсолютно бесплатно.
Хотя многие уже прослушали ряд лекций и даже успешно завершили онлайн курсы, но мало кто знает, как все выглядит изнутри. Я расскажу о технологической стороне одной из этих нашумевших платформ.
Наша команда работает в компании Инновекс над проектом edX. Основные задачи нацелены на создание так называемых «blades» – модулей встраиваемых в платформу, как лезвия (blades) в бритвенный станок. Кроме того, часть задач связана с модификацией платформы.
Каждое «лезвие» представляет собой Rich UI приложение, состоящее из front-end части (javacript) и back-end части (python). Например, возьмем курс «Introduction to Solid State Chemistry». В материал курса встроена проверка химических реакций. Студенту, после прослушивания короткого (5-7 минут) видеоролика лекции, предлагают проверить свои знания. Вместо обычных вопросов и текстовых полей для ввода, студенту предлагают нечто особенное. Например — написать химическую реакцию определенного процесса. Эта химическая реакция проверяется на сервере автоматически, с использованием pyparsing и nltk. То есть, помимо front-end части для ввода химических реакций с использованием latex, а точнее MathJax, существует back-end часть, которая представляет собой питоновский модуль для проверки правильности ответа студента.
Я все же не хотел бы слишком углубляться в технические детали реализации «лезвий» по двум причинам. Во первых, код можно посмотреть на гитхабе, так как с 1 июля платформа edX стала open-source. Теперь каждый может ознакомиться с «лезвиями», заглянув в код по приведенным ссылкам, и кроме того, создать и запустить свой собственный виртуальный университет :) А во-вторых, мы не делаем чего-то экстраординарного в технических аспектах. Мы реализуем новые идеи для обучения, помогая делать его интересным, интерактивным и живым — по сути делаем качественную инженерную работу. Лучше я еще расскажу о «лезвиях» на конкретных примерах: как они устроены, на чем основаны. И вы сможете представить, насколько курсы состоящие из подобных модулей, могут быть интересными для студентов:
Хотя многие уже прослушали ряд лекций и даже успешно завершили онлайн курсы, но мало кто знает, как все выглядит изнутри. Я расскажу о технологической стороне одной из этих нашумевших платформ.
Наша команда работает в компании Инновекс над проектом edX. Основные задачи нацелены на создание так называемых «blades» – модулей встраиваемых в платформу, как лезвия (blades) в бритвенный станок. Кроме того, часть задач связана с модификацией платформы.
Каждое «лезвие» представляет собой Rich UI приложение, состоящее из front-end части (javacript) и back-end части (python). Например, возьмем курс «Introduction to Solid State Chemistry». В материал курса встроена проверка химических реакций. Студенту, после прослушивания короткого (5-7 минут) видеоролика лекции, предлагают проверить свои знания. Вместо обычных вопросов и текстовых полей для ввода, студенту предлагают нечто особенное. Например — написать химическую реакцию определенного процесса. Эта химическая реакция проверяется на сервере автоматически, с использованием pyparsing и nltk. То есть, помимо front-end части для ввода химических реакций с использованием latex, а точнее MathJax, существует back-end часть, которая представляет собой питоновский модуль для проверки правильности ответа студента.
Я все же не хотел бы слишком углубляться в технические детали реализации «лезвий» по двум причинам. Во первых, код можно посмотреть на гитхабе, так как с 1 июля платформа edX стала open-source. Теперь каждый может ознакомиться с «лезвиями», заглянув в код по приведенным ссылкам, и кроме того, создать и запустить свой собственный виртуальный университет :) А во-вторых, мы не делаем чего-то экстраординарного в технических аспектах. Мы реализуем новые идеи для обучения, помогая делать его интересным, интерактивным и живым — по сути делаем качественную инженерную работу. Лучше я еще расскажу о «лезвиях» на конкретных примерах: как они устроены, на чем основаны. И вы сможете представить, насколько курсы состоящие из подобных модулей, могут быть интересными для студентов:
+26
Десятка лучших консольных команд
2 min
198KВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
+310
Проект General Assembly запустил интерактивный курс для желающих овладеть CSS, JavaScript и HTML
1 min
69KОбразовательный проект General Assembly представил интерактивный курс Dash, призванный помочь тем, кто хочет изучить CSS, JavaScript и HTML, пишет TechCrunch. Для этого пользователям предлагаются различные задачи, похожие на те, с которыми сталкиваются веб-разработчики в реальной жизни. Так, по мере прохождения курса, вы сначала узнаете, как создать личный сайт, затем макет для блога и сайт небольшой компании и в конечном итоге робота в CSS.
+28