Как стать автором
Поиск
Написать публикацию
Обновить
0
Roman Buryakov @churupaxread⁠-⁠only

Пользователь

Отправить сообщение

Принципы ООП в примерах для начинающих

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров115K

Как создатель и руководитель курсов по C# я вижу, что часто у людей, начинающих изучать этот язык, принципы Объектно-Ориентированного Программирования вызывают затруднения в понимании. А так как один из лучших способов что-то понять, это посмотреть применение на примерах, то я решил написать статью с примерами принципов. Рекомендую найти какую-нибудь статью или книгу, где прочитать основную теорию, а в этой статье уже посмотреть примеры применения этой теории, чтобы понять её лучше.

На текущий момент есть различные точки зрения на то, сколько же в ООП всё-таки принципов и в этой статье мы будем считать, что этих принципов четыре: Инкапсуляция, Наследование, Полиморфизм и Абстракция. Примеры будут приведены на языке C#, однако, они очень простые, да и сама суть не зависит от языка, поэтому будет полезна всем начинающим изучать ООП программистам.

Читать далее

Основы парсинга на Python: от Requests до Selenium

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров168K

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

В этой статье кратко рассказываем, как парсить данные веб-сайтов с помощью Python. Пособие подойдет новичкам и продолжающим — сохраняйте статью в закладки и задавайте вопросы в комментариях. Подробности под катом!
Читать дальше →

Почему в байте именно 8 бит?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров73K

Я опубликовала в интернет-журнале статью на тему двоичного представления информации компьютерами и, среди прочих, неоднократно получала вопрос: «Почему в архитектуре x86 используются байты, состоящие именно из 8 бит, а не иного их количества?»

Я считаю, что на любой подобный вопрос можно дать два основных ответа и некую их комбинацию:

  1. Так сложилось исторически, и другой размер (например, 4, 6 или 16 бит) тоже вполне сработает.
  2. Восемь бит по какой-то причине является лучшим вариантом, и даже если бы история сложилась иначе, мы бы всё равно использовали именно 8-битные байты.
  3. Некая комбинация этих двух версий.

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

Как стать iOS-разработчиком?

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров26K

Привет! На связи KTS и наш эксперт по направлению iOS-разработки Александр.

Мобильные устройства помогают оставаться на связи с друзьями, работать, развлекаться и повышать продуктивность. iOS, несмотря на введенные санкции и сокращение продаж техники в РФ, остается популярной платформой, пользователи которой ожидают качественные и стабильные приложения для смартфонов, планшетов, умных часов и ТВ‑приставок.

Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.

Читать далее

Ядро планеты Python. Интерактивный учебник

Время на прочтение67 мин
Количество просмотров47K

Добрый день! Меня зовут Михаил Емельянов, недавно я опубликовал на «Хабре» небольшую статью с примерным путеводителем начинающего Python-разработчика. Пользуясь этим материалом как своего рода оглавлением книги, я написал первые четыре главы мини-учебника «Ядро планеты Python», где постарался коротко, но достаточно ёмко раскрыть специфику, удобство, красоту и силу этого прекрасного языка.


Оригинал учебника лежит на GitHub, вы вольны сколько угодно дополнять и переделывать его. Самое главное — учебник написан на Jupiter Notebook, а это значит, что вы можете интерактивно редактировать код, мгновенно добавляя новые сущности или проясняя непонятные моменты.


Core of the planet Python

Читать дальше →

Гайд для новичков по установке Kubernetes (версия 03.2025)

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров119K

© кадр из к/ф «Пираты Карибского моря»
Сведения об обновлении
1. Гайд обновлен на март 2025 г.
2. Предыдущею версию гайда можно скачать здесь.

С чего начинается практическое освоение любой системы? Правильно, с установки. Данный гайд является компиляцией из народной мудрости, официальной документации, а также собственного опыта и призван помочь новичкам разобраться с тем, как же все таки устанавливать Kubernetes.

Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.

Весь процесс установки будет детальным образом прокомментирован и разложен по шагам, а в реперных точках мы будем делать снимки состояния виртуальных машин (snapshots), что позволит рассмотреть различные варианты установки без необходимости делать одну и ту же работу по несколько раз.
Читать дальше →

Ультимативный Roadmap для Python-разработчика в 2023 году + источники знаний

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров243K

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

В этой статье я составил полную дорожную карту для изучения Python, прилагая полезные источники знаний.

Читать далее

Переходим на Go: 16 материалов для самостоятельного изучения языка

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров81K

Привет! Меня зовут Владислав Попов, я автор курса «Go-разработчик» Яндекс Практикума. Когда-то я сам был студентом — хотел учиться Go, но такого курса в Практикуме не было, поступил на Python. Прошёл вводную часть — и тут стартовал желанный курс по Go. В тот же вечер оформил возврат и перепоступил. Попал в первый поток, прошёл его, и после сдачи итогового проекта мне предложили стать тестером курса «Продвинутый Go-разработчик».

Оба курса были ещё не идеальны — что-то требовало доработки, некоторые темы казались мне недостаточно раскрытыми. Я сообщил об этом команде курса и предложил варианты, что можно улучшить. В какой-то момент о них узнал продакт-менеджер — и так я получил приглашение поработать с командой Практикума. Мне предстояло разработать концепцию и внести предложения по рефакторингу курса, но я сделал бросок пантеры и написал несколько уроков с нуля. Команде они понравились. Так я стал работать в Практикуме.

За время работы с Go я понял, что сам язык не очень сложный и подходит даже в качестве первого, но нужно выучить синтаксис и погрузиться в некоторые особенности, которые отличают Go от других языков: например, интерфейсы и особенности встраивания. А ещё важно на старте хорошо знать Git и ориентироваться в работе SQL (причём любого).

Эта подборка составлена менторами нашего курса по Go-разработке для практикующих программистов. Она родилась благодаря коллективному разуму наших наставников, которые занимают позиции синьор-разработчиков на Go в разных компаниях.

Читать далее

Scratch — это уже не игрушки

Время на прочтение4 мин
Количество просмотров51K
Незаметно для нас Scratch из языка программирования для детей превратился в огромное онлайн-сообщество самоучек-программистов. За время пандемии количество пользователей этого языка удвоилось, и он начинает обгонять в рейтингах популярности «реальные» языки программирования (наподобие Typescript и Rust).

Scratch — это уже не игрушки.

Скорее всего, вы знаете, что Scratch — это язык программирования для детей, в котором используются визуальные блоки:


Как и многие родители в пандемию, я недавно познакомил с ним моих детей. Он постепенно начал их захватывать, и я осознал, что под его поверхностью скрывается нечто большее. Я решил присмотреться, и вот что обнаружил.
Читать дальше →

Хозяйке на заметку: разбираемся с конфигурационными файлами Linux

Время на прочтение11 мин
Количество просмотров33K

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

Читать далее

Фишинг и история о том, как я начал с ним бороться костылями

Время на прочтение6 мин
Количество просмотров5.2K

Всем привет! Это моя попытка рассказать что-то интересное и попробовать получить новую информацию через фидбэк:)

Объектом моей стать стал фишинг и борьба с ним.

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

Начнём с того, что я до этого никогда нее работал с ОС серверного типа, а в ПростоБанке большое количество серверного оборудования именно на них (напомню, я вообще до этого был инженером-конструктором, хотя в дипломе и красовалась приставочка электроник-программист). Но, как оказалось, всё проще, чем кажется. К весне я уже умел часть технической работы, будь то работа с SIEM-системами, системами контроля доступа, логирование, некоторое сетевое взаимодействие. Но тут нам передали под крыло очень интересную работу, которая стала у нас одной из важнейших. Это и был фишинг.

Читать далее

Как собрать базу организаций за час

Время на прочтение2 мин
Количество просмотров13K

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

Читать далее

Скрипт для настройки VPN на Power Shell

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

Дистанционная работа в компаниях все больше становится распространённой в последнее время. Системным администраторам нужно организовывать на домашних компьютерах пользователей подключение по VPN к сети компании. Время настройки занимает от 10 минут и это если все пойдет гладко, пользователь сообразит как скачать Any Desk или какой другой клиент для удаленного подключения, потом факт стабильного интернета играет роль, ну и конечно же настройка самого VPN подключения — вбиваем адрес, метод шифрования, логин, пароль, ключ.

А если пользователей 10 и более? Это уже нужно потратить больше времени, а если им всем нужно утром срочно все настроить? Тут немного подумав, я решил написать достаточно простой, но в то же время полезный скрипт на Power Shell а потом упаковал его в файлик .exe.

Читать далее

Изучение TypeScript — полное руководство для начинающих. Часть 3 — Классы и интерфейсы

Время на прочтение5 мин
Количество просмотров23K

Всем привет! Меня зовут Лихопой Кирилл, я работаю fullstack-разработчиком. Это - уже третья часть руководства по TypeScript для начинающих, в которой мы разберем более сложные темы, такие как классы, модули и интерфейсы.

Предыдущие части:
Часть 1 - введение и примитивные типы данных
Часть 2 - ссылочные типы данных
Часть 4 - Литералы и дженерики
Часть 5 - Строгий режим и сужение типов

Читать далее

Как зануды предсказывают результаты футбольных матчей

Время на прочтение13 мин
Количество просмотров26K

Завтра финал Чемпионата мира по футболу. Самое время для рассказа о футбольных прогнозах.

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

Такой день наступил и в моей жизни. И пусть я больше интересуюсь спортивным "Что? Где? Когда?", футбол - это классно. И это классно и с точки зрения прогнозов - и много данных, и много инересующихся, кому можно показать результаты. Давайте попробуем!

И раз за дело взялись зануды, будет много теорий, ещё больше таблиц и графиков.

Готовы? Вперёд!

ТОП-10 онлайн-ресурсов для прокачки навыков фронтендера

Время на прочтение3 мин
Количество просмотров23K

Привет, Хабр! Я Лена Райан, фронтенд разработчик в Х5 Tech. Решила поделиться с вами подборкой ТОП-10 проверенных зачётных онлайн-ресурсов по фронтенду, которые будут полезны как новичкам, так и желающим подтянуть свои знания по этой теме. Подборка подойдёт также тем, кто только недавно пришёл в IT или в профессию фронтендера и хочет понять, с какой базы им начать.

Читать далее

Беспроводная сеть и атаки на неё. Часть 2

Время на прочтение4 мин
Количество просмотров8.3K

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

Читать далее

Красота в консоли

Время на прочтение4 мин
Количество просмотров22K

Если верить статистике MacOS то топовые приложения которые я использую для работы это Chrome, VS Code, iTerm и VK Teams. При этом в консоли я провожу от часа до трех ежедневно. На самом деле время в терминале больше, потому что часть того что трекается как VS Code тоже является временем работы в консоли, только встроенной в VS Code. Поэтому консоль хочется сделать удобнее и красивее. Особенно этой поздней осенью. Этими красивостями и удобностями и хочется поделиться. И не просто поделится, а что бы с красивыми картинками, некоторые из которых были бы не совсем статичны. Ну или совсем не статичны. Это как кому нравится.

Читать далее

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 7. Пост-эксплуатация. Закрепление в системе

Время на прочтение4 мин
Количество просмотров13K

Приветствую тебя, дорогой читатель, в седьмой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

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

Представим, что нам удалось получить оболочку Meterpreter проэксплуатировав какую-то уязвимость в системе, либо ПО установленном в ней. В том случае, если не предпринять более никаких действий, то после перезагрузки целевой системы мы обнаружим, что наша сессия Meterpreter отвалилась. Вполне возможно, что перезагрузка была плановая и в системе установились какие-то обновления безопасности, которые закрыли старую брешь и наш эксплоит уже не представляет никакой угрозы для нее. Тогда можно применить социальную инженерию и подсунуть пользователю зараженный файл с полезной нагрузкой типа hidden_reverse_tcp, который после запуска и брандмауэр обойдет незаметно и в системе скроется так, что даже завершение процесса не даст нам потерять сессию. Но опять же, все это до ближайшей перезагрузки системы. И тут, естественно, если рассматривать ситуацию с точки зрения злоумышленника, первое, что он попытается сделать после успешного проникновения — закрепиться в системе, дабы не потерять к ней доступа ни при каких обстоятельствах.

Читать далее

TypeScript: паттерны проектирования. Часть 2

Время на прочтение10 мин
Количество просмотров14K


Привет, друзья!


Представляю вашему вниманию перевод второй части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Люберцы, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность