По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
От Алтуфьево до контроффера лишь на первый взгляд далеко: системный администратор Артем Горячев о своем пути из техподдержки в работу с сетевым и серверным железом Артем, системный администратор из Москвы, делится своей историей знакомства с технологиями и рассказывает о судьбоносных случайностях, которые случаются не только в кино, но и в мире IT. Влюбиться в технологии, начиная с университетских дней, и даже не знать, как учеба перевернет твою жизнь спустя 20 лет — Артем сменил множество компаний, пережил взлеты и падения, чтобы оказаться на своем месте. Он поделился с нами классной историей, в которой нашлось место инсайтам, счастливому совпадению и упорному труду. Как я встретил ваше IT Начало нулевых — вот где находятся истоки моей карьеры. История поисков себя развивалась в атмосферных декорациях, полных артефактов того времени: ЦАО, метро Новокузнецкая, субкультуры и теплые вечера, в которых чувствуешь себя в самом начале пути. Так оно и оказалось — это была дорога с надписью «СТАРТ», про которую я пока ничего не знал. Зато я знал точно, что учусь в технологическом вузе, где помимо стандартной начертательной геометрии и сопромата можно познакомиться и с программированием. Тогда это были Delphi и Turbo Pascal — простые для понимания языки, в которых я быстро разобрался и начал их осваивать. Программирование дает тебе чувство созидания и власти, похожее на эмоции от ремесленного дела. Вот перед тобой ничего нет, а потом — раз! — и ты пишешь программу, которую можно потрогать, увидеть, задействовать. Или, например, игру. Про геймдев я тогда ничего не знал, но сам факт, что своими руками можно разработать игру, не будучи при этом «Букой», очень волновал! Проще говоря, это было началом моего увлечения IT, которое следует за мной на протяжении всей карьеры. После окончания учебы я попробовал себя в различных областях технологий. Начал с работы оператором баз данных в большой сети кинотеатров, где мой труд был замечен, и меня повысили до дежурного администратора. Затем последовала работа по IT-мониторингу в банке, где моей задачей было разруливать инциденты в инфраструктуре. Знание английского языка стало дополнительным преимуществом — я много общался с европейскими партнерами, хоть условия и были стрессовыми (а в мониторинге не может быть иначе), работа мне нравилась. Несмотря на несколько переходов между компаниями, мое увлечение IT оставалось неизменным. Целительная сила провала Расскажу вот про какой опыт: я был обычным системным администратором, когда устроился на работу в известную ресторанную сеть. Моя рутина включала в себя администрирование и работу с программами типа 1С. Казалось, что я нашел свое место, но скоро выяснилось, что этот опыт оказался далеко не таким успешным, каким виделся изначально. Я решил уйти, но так и остался с неприятным осадком на душе (а эту сеть недолюбливаю до сих пор!). Этот провал был для меня не только уроком, но и важным моментом самопознания. Осознав, что нужно двигаться вперед, я решил не сдаваться и найти точки роста в этом неудачном опыте. Понимание, что мое текущее положение – всего лишь этап в моем профессиональном пути, стало толчком для стремления к новым знаниям в IT. На пути к успеху провалы — не страшные захлопнутые двери, а ключи к новым главам. Не бойтесь сделать шаг в неизвестность, и если что-то идет не так, лучше рассматривайте ошибки как уроки. Найти IT в Алтуфьево Скажу честно: уровень знаний у меня особо не рос, но любовь к IT никуда не делась: мне просто было комфортно на той планке, где я был. На тот момент я работал системным администратором в крупном строительном холдинге, занимаясь довольно рутинными задачами. Настолько рутинными, что в какой-то момент мой шеф сказал: «Пожалуй, хватит тут сидеть, Артем. Сейчас есть возможность заниматься задачами системного администрирования, но нужно будет многому учиться». Задача такого специалиста заключается в поддержании работоспособности оборудования на каждом из объектов заказчика — и я согласился. Работа на хелплдеске в какой-то момент превращается в карусель: одни и те же задачи, декорации, способы решения проблем, а смена роли пошла мне на пользу. Она позволяет не только смотреть на процессы, но и чувствовать их изнутри. Однажды я трудился на одном из выездных объектов — была классная теплая погода, и в перерыв я вышел прогуляться в парке. Очень хорошо помню этот момент: это было в районе Алтуфьево, тогда я достал телефон, чтобы сфотографировать живописное дерево, а когда зашел в интернет, чтобы выложить фотографию, увидел рекламу онлайн курсов. Это будто был знак свыше — я посмотрел программу, стоимость, и без раздумий оплатил обучение. Я прошел два курса по основам сетевых технологий и углубленному администрированию маршрутизаторов MikroTik — освоил их всего за полгода. Этот момент изменил все – я, работая в IT уже 10 лет, понял, как много еще предстоит узнать. С этого момента о своей карьере могу сказать так — это был не просто подъем, а настоящий бег в гору. Я находил все новые и новые пробелы в знаниях, ведь до этого я был, по сути, талантливым самоучкой без хорошей теоретической базы. Так я познакомился с академией Merion Network — активно приобретал дополнительные курсы: «Установку и настройку Asterisk» прошел за 2022 год, «Администрирование Linux» — за 2023 год, а сейчас изучаю «Администрирование Windows». В какой-то момент я понял, что у меня достаточно знаний и опыта для покорения новых вершин и решил сменить работу — остаться в той же группе компаний, но перейти на новую должность. Техническое собеседование было длинным и сложным, но благодаря новым умениям мне удалось получить предложение о работе. А когда я пришел увольняться с текущей работы, совершенно внезапно моя компания предложила мне контроффер с отличной зарплатой, и я оказался в красивом офисе в Москва Сити. Как понять, что ты добился успеха Для меня действительно был некий вау-момент: из простого системного администратора на поддержке я начал заниматься сетями и серверами, работать в классной локации за деньги, о которых раньше мог только мечтать. С новой должностью и новым местом работы стало меньше контактов с пользователями, зато стало больше работы именно с железом и технологиями. Вот именно это я и подразумеваю под словом «рост» — челленджи и смещение зоны ответственности. Как оказалось, в мире IT недостаточно иметь фундаментальное образование – нужно постоянно обучаться. Мой опыт показал, что даже после десяти лет в IT найдется место новым знаниям, и я уверен, что это справедливо для специалистов из любой айти-сферы. Вера в себя и непрерывное обучение стали ключевыми факторами в моем пути к успеху. Моя история доказывает, что даже с базовыми знаниями в айти, с верой в себя и нахождением правильных образовательных курсов, можно добиться впечатляющих результатов. Важно помнить, что обучение – это постоянный процесс. Только так и можно добиться успеха в быстро меняющемся мире технологий. О курсах и жизненных целях Мы решили задать Артему несколько вопросов о его учебе и планах, и заодно узнать его мнение о курсах Merion. Как тебе подача материала в курсах? Я совсем не новичок, поэтому нахожу какие-то минусы, конечно. Где-то преподаватель теряется, где-то кажется, что не хватает системы. Но я привык, мне абсолютно окей — в конце концов, я пришел учиться, конспектировать и задавать вопросы, а не придираться по мелочам. Основатели Merion говорят, что сознательно отказались от штаба кураторов и менторов, так как любое обучение во многом про самообучение. Согласен ли ты с этим, пришлось ли самому «копать» информацию дополнительно, или достаточно было того, что есть на курсе? Честно говоря, иногда возмущаюсь структуре, по которой написан курс. Возмущаюсь, возмущаюсь… А потом иду за покупкой нового курса. Все потому, что хорошего текстового структурированного материала по какой-либо теме или предметной области ты не найдешь днем с огнем. У Merion содержание курсов всегда хорошее, было бы желание учиться. Удалось ли достичь поставленных при обучении целей? Да, удалось. Моей главной целью было достичь понимания каких-то моментов, в которых я раньше не мог разобраться. И я разобрался, так что да — своих целей я достиг. Заплатить за курс, сказав этим «спасибо», я никогда не против, особенно если этот курс мне нужен. Скажу еще вот что: «Учеба — как рыбалка. Увидишь скидку на курс от Merion — тащи!» Заключение Я поделился своей историей — вы видите, как простой системный администратор, начавший свой путь с программирования на Delphi, стал специалистом, который работает с серверами, Active Directory, DNS, DHCP, сетевым железом. Да, эта история полнилась вызовами и провалами, но каждая ошибка стала шагом к росту, и к той точке, в которой я сейчас нахожусь. Главный урок из этой истории — важность постоянного обучения и веры в свои силы. Да, я не остановился после первых неудач, а, наоборот, использовал их как топливо для своего развития. Мой путь еще раз доказывает, что в мире IT образование — это не статичная точка, а динамичный путь.
img
Доскональное понимание принципов работы межсетевых экранов (брандмауэров) и относящихся к ним технологий крайне необходимо для любого человека, который желает развиваться в сфере информационной безопасности. Так же это помогает настраивать и управлять системой информационной безопасности правильно и с минимальным количеством ошибок. Слово «межсетевой экран» как правило обозначает систему или устройство, которое находится на границе между внутренней(доверенной) сетью и внешней. Несколько различных межсетевых экранов предлагают пользователям и приложениям особые политики управления безопасностью для различных угроз. Так же они часто обладают способностью записи событий, для предоставления системному администратору возможности идентифицировать, изучить, проверить и избавиться от угрозы. Кроме того, несколько программных продуктов могут запускаться на рабочей станции только для защиты конкретной машины. Сетевые брандмауэры обладают несколькими ключевыми особенностями, для того что бы обеспечивать защиту сети по ее периметру. Основной задачей сетевого брандмауэры является запрет или разрешение на пропуск траффика, который попадает в сеть, основываясь на предварительно настроенных политиках. Ниже перечислены процессы, позволяющие предоставлять или блокировать доступ траффику: Однокритериальные (простые) методики фильтрации пакетов Многокритериальные методики фильтрации пакетов Прокси-серверы Проверка состояния пакетов Трансляция сетевого адреса Методы фильтрации пакетов Основная цель пакетных фильтров – просто контроль доступа к отдельным сегментам сети путем определения разрешенного трафика. Фильтры, как правило, исследуют входящий трафик на 2 уровне модели OSI (транспортном). К примеру, пакетные фильтры способны анализировать пакеты TCP и UDP и оценивать их по ряду критериев, которые называются листами контроля доступа. Они проверяют следующие элементы внутри пакета: Исходящий сетевой адрес Адрес назначения Исходящий порт Порт назначения Протокол Различные брандмауэры основанные на технике пакетной фильтрации так же могут проверять заголовки пакетов для определения источника пакета – т.е из какой сессии он появился: новой или уже существующий. Простые методики фильтрации пакетов, к сожалению, имеют определенные недостатки: Листы контроля доступа могут быть крайне велики и трудны для управления Их можно обойти путем подмены пакетов, злоумышленник может послать пакет, в заголовке которого будет разрешенный листом контроля доступа сетевой адрес. Очень многие приложения могут постоянно строить множественные соединения со случайно используемыми портами. Из-за этого становится действительно тяжело определить какие порты будут использованы после установления соединения. К примеру, таким приложением являются различные мультимедиа программы – RealAudio, QuickTime и прочие. Пакетные фильтры не воспринимают протоколы выше транспортного и их специфику, связанную с каждым конкретным приложением и предоставление такого доступа с использованием листов контроля доступа, является очень трудоёмкой задачей. Прокси-серверы Прокси-серверы — это устройства, которые являются промежуточными агентами, которые действуют от имени клиентов, которые находятся в защищенной или частной сети. Клиенты на защищенной стороне посылают запросы на установление соединения к прокси-серверу для передачи информации в незащищенную сеть или в Интернет. Соответственно, прокси-сервер или приложение совершает запрос от имени внутреннего пользователя. Большинство прокси брандмауэров работает на самом верхнем, седьмом уровне модели OSI (прикладном) и могут сохранять информацию в кэш-память для увеличения их производительности. Прокси-технологии могут защитить сеть от специфических веб-атак, но в общем и целом они не являются панацеей, и, кроме того, они плохо масштабируются. Трансляция сетевого адреса Некоторые устройства, работающие на третьем уровне(сетевом) могут совершать трансляцию сетевых адресов, или NAT (Network Address Translation). Устройство третьего уровня транслирует внутренний сетевой адрес хоста в публичный, который может маршрутизироваться в сети Интернет. В следствие малого числа сетевых адресов в протоколе IP, данная технология используется повсеместно. Брандмауэры с проверкой состояния пакетов Такие межсетевые экраны имеют дополнительные преимущества по сравнению с брандмауэрами с однокритериальной пакетной фильтрацией. Они проверяют каждый пакет, проходящий через их интерфейсы на корректность. Они исследуют не только заголовок пакета, но и информацию с прикладного уровня и полезную загрузку пакета. Таким образом, возможно создание различных правил, основанных на различных типах трафика. Такие брандмауэры так же позволяют контролировать состояние соединения и имеют базу данных с данной информацию, которая так же называется «база данных состояний». В ней описываются состояния соединений, т.е такие как «установлено», «закрыто», «перезапуск», «в процессе согласования». Такие брандмауэры хорошо защищают сеть от различных сетевых атак. Количество различных брандмауэров велико, и в настоящее время в них совмещаются различные техники предотвращения атак. Главное – сеть всегда должна находиться под защитой. Однако нельзя забывать, что не стоит увлекаться, и тратить на защиту информации больше средств, чем стоит сама информация.
img
Git – это популярная система контроля версий. Благодаря Git разработчики могут сотрудничать и без проблем работать над проектами совместно. Git позволяет отслеживать изменения, которые вы вносите в проект с течением времени. Помимо этого, он позволяет вернуться к предыдущей версии, если вы вдруг решили не вносить изменение. Git работает по следующему принципу: вы размещаете файлы в проекте с помощью команды git add, а затем фиксируете (коммитите) их с помощью команды git commit. При совместной работе над проектами могут возникнуть ситуации, когда вы не захотите, чтобы какие-то файлы или части проекта были видны всем участникам команды. Иными словами, вы не захотите включать и фиксировать эти файлы в основной версии проекта. Вот почему вы можете не захотеть использовать разделитель (точку) с командой git add, так как в этом случае каждый отдельный файл будет размещен в текущем каталоге Git. Когда вы используете команду git commit, то каждый отдельный файл фиксируется – это также добавляет файлы, которые не нужно. Вы можете, наоборот, захотеть, чтобы Git игнорировал определенные файлы, но для такой цели не существует команды git ignore. Итак, как же сделать так, чтобы Git игнорировал и не отслеживал определенные файлы? С помощью файла .gitignore. В этой статье вы узнаете, что такое файл .gitignore, как его создать и как использовать для игнорирования некоторых файлов и папок. Также вы узнаете, как можно заставить Git игнорировать уже закоммиченый файл. Что такое файл .gitignore? Для чего он нужен? Каждый из файлов в любом текущем рабочем репозитории Git относится к одному из трех типов: Отслеживаемые – это все файлы и каталоги, о которых знает Git. Это файлы и каталоги, которые были недавно размещены (добавлены с помощью git add) и зафиксированы (закоммичены с помощью git commit) в главном репозитории. Неотслеживаемые – это новые файлы и каталоги, которые созданы в рабочем каталоге, но еще не размещены (или добавлены с помощью команды git add). Игнорируемые – это все файлы и каталоги, которые полностью исключаются и игнорируются, и никто о них в репозитории Git не знает. По сути, это способ сообщить Git о том, какие неотслеживаемые файлы так и должны остаться неотслеживаемыми и не должны фиксироваться. Все файлы, которые должны быть проигнорированы, сохраняются в файле .gitignore. Файл .gitignore – это обычный текстовый файл, который содержит список всех указанных файлов и папок проекта, которые Git должен игнорировать и не отслеживать. Внутри файла .gitignore вы можете указать Git игнорировать только один файл или одну папку, указав имя или шаблон этого конкретного файла или папки. Используя такой же подход, вы можете указать Git игнорировать несколько файлов или папок. Как создать файл .gitignore Обычно файл .gitignore помещается в корневой каталог репозитория. Корневой каталог также известен как родительский или текущий рабочий каталог. Корневая папка содержит все файлы и другие папки, из которых состоит проект. Тем не менее, вы можете поместить этот файл в любую папку в репозитории. Если на то пошло, но у вас может быть несколько файлов .gitignore. Для того, чтобы создать файл .gitignore в Unix-подобной системе, такой как macOS или Linux, с помощью командной строки, откройте приложение терминала (например, в macOS это Terminal.app). Затем для того, чтобы создать файл .gitignore для вашего каталога, перейдите в корневую папку, которая содержит проект, и при помощи команды cd введите следующую команду: touch .gitignore Файлы, перед именем которых стоит точка ., по умолчанию скрыты. Скрытые файлы нельзя просмотреть, используя только команду ls. для того, чтобы иметь возможность просмотреть все файлы, включая скрытые, используйте флаг -a с командой ls следующим образом: ls –a Что добавлять в файл .gitignore В файл .gitignore должны быть добавлены файлы любого типа, которые не нужно фиксировать. Вы можете не хотеть их фиксировать из соображений безопасности или потому, что они нужны только вам и не нужны другим разработчикам, работающим над тем же проектом, что и вы. Вот некоторые файлы, которые могут быть включены: Файлы операционной системы. Каждая операционная система, будь то macOS, Windows или Linux, создает системные скрытые файлы, которые не нужны другим разработчикам, так как их система создает такие же файлы. Например, в macOS Finder создает файл .DS_Store, который содержит пользовательские настройки внешнего вида и отображения папок, такие как размер и положение иконок. Файлы конфигурации, создаваемые такими приложениями, как редакторы кода и IDE (Integrated Development Environment – интегрированная среда разработки). Эти файлы настроены под вас, ваши конфигурации и ваши настройки, например папка .idea. Файлы, которые автоматически генерируются языком программирования или средой разработки, которую вы используете для своего проекта, и в процессе компиляции специфичных для кода файлов, такие как файлы .o. Папки, созданные диспетчерами пакетов, например, папка npm node_modules. Это папка, которая используется для сохранения и отслеживания зависимостей для каждого пакета, который вы устанавливаете локально. Файлы, которые содержат конфиденциальные данные и личную информацию. Примерами таких файлов могут послужить файлы с вашими учетными данными (имя пользователя и пароль) и файлы с переменными среды, такие как файлы .env (файлы .env содержат ключи API, которые должны оставаться защищенными и закрытыми). Файлы среды выполнения, такие как файлы .log. Они предоставляют информацию об использовании операционной системы и ошибках, а также историю событий, произошедших в рамках ОС. Как игнорировать файл или папку в Git Если вы хотите игнорировать только один конкретный файл, то вам необходимо указать полный путь к файлу из корневой папки проекта. Например, если вы хотите игнорировать файл text.txt, который расположен в корневом каталоге, то вы должны сделать следующее: /text.txt А если вы хотите игнорировать файл text.txt, который расположен в папке test корневого каталоге, вы должны сделать следующее: /test/text.txt Вы можете это записать иначе: test/text.txt Если вы хотите игнорировать все файлы с определенным именем, то вам нужно написать точное имя файла. Например, если вы хотите игнорировать любые файлы text.txt, то вы должны добавить в .gitignore следующее: text.txt В таком случае вам не нужно указывать полный путь к конкретному файлу. Этот шаблон будет игнорировать все файлы с таким именем, расположенные в любой папке проекта. Для того, чтобы игнорировать весь каталог со всем его содержимым, вам нужно указать имя каталога со слешем в конце: test/ Эта команда позволит игнорировать любой каталог (включая другие файлы и другие подкаталоги внутри каталога) с именем test, расположенный в любой папке вашего проекта. Стоит отметить, что если вы напишете просто имя каталога без слеша, то этот шаблон будет соответствовать как любым файлам, так и любым каталогам с таким именем: # соответствует любым файлам и каталогам с именем test test Что делать, если вы хотите игнорировать любые файлы и каталоги, которые начинаются с определенного слова? Допустим, вы хотите игнорировать все файлы и каталоги, имя которых начинается с img. Для этого вам необходимо указать имя, а затем селектор подстановочного символа *: img* Эта команда позволит игнорировать все файлы и каталоги, имя которых начинается с img. Но что делать, если вы хотите игнорировать любые файлы и каталоги, которые заканчиваются определенным набором символов? Если вы хотите игнорировать все файлы с определенным расширением, то вам необходимо будет использовать селектор подстановочного знака *, за которым последует расширение файла. Например, если вы хотите игнорировать все файлы разметки, которые заканчиваются расширением .md, то вы должны в файл .gitignore добавить следующее: *.md Этот шаблон будет соответствовать любому файлу с расширением .md, расположенному в любой папке проекта. Мы разобрали, как игнорировать все файлы, которые оканчиваются одинаково. Но что делать, если вы хотите сделать исключение для одного из этих файлов? Допустим, вы добавили в свой файл .gitignore следующее: .md Этот шаблон позволит игнорировать все файлы, оканчивающиеся на .md, но вы, например, не хотите, чтобы Git игнорировал файл README.md. Для этого вам нужно будет воспользоваться шаблоном с отрицанием (с восклицательным знаком), чтобы исключить файл, который в противном случае был бы проигнорирован, как и все остальные: # игнорирует все файлы .md .md # не игнорирует файл README.md !README.md Учитывая эти два шаблона в файле .gitignore, все файлы, оканчивающиеся на .md будут игнорироваться, кроме файла README.md. Стоит отметить, что данный шаблон не будет работать, если вы игнорируете весь каталог. Допустим, что вы игнорируете все каталоги test: test/ И допустим, внутри папки test у вас есть файл example.md, который вы не хотите игнорировать. В этом случае вы не сможете сделать исключение для файла внутри игнорируемого каталога следующим образом: # игнорировать все каталоги с именем test test/ # попытка отрицания файла внутри игнорируемого каталога не сработает !test/example.md Как игнорировать ранее закоммиченый файл Лучше всего создать файл .gitignore со всеми файлами и различными шаблонами файлов, которые вы хотите игнорировать, при создании нового репозитория, до его коммита. Git может игнорировать только неотслеживаемые файлы, которые еще не были зафиксированы в репозитории. Что же делать, если вы уже закоммитили файл, но хотели бы, чтобы он все-таки не был закоммичен? Допустим, что вы случайно закоммитили файл .env, в котором хранятся переменные среды. Для начала вам необходимо обновить файл .gitignore, чтобы включить файл .env: # добавить файл .env в .gitignore echo ".env" >> .gitignore Теперь, вам нужно указать Git не отслеживать этот файл, удалив его из перечня: git rm --cached .env Команда git rm вместе с параметром --cached удаляет файл из репозитория, но не фактический файл. Это значит, что файл остается в вашей локальной системе и в вашем рабочем каталоге в качестве файла, который игнорируется. Команда git status покажет, что файла в репозитории больше нет, в ввод команды ls покажет, что файл существует в вашей локальной файловой системе. Если вы хотите удалить файл из репозитория и вашей локальной системы, то не используйте параметр --cached. Затем добавьте .gitignore в область подготовленных файлов с помощью команды git add: git add .gitignore И наконец, закоммитте файл .gitignore с помощью команды git commit: git commit -m "update ignored files" Заключение Вот и все – теперь вы знаете, как игнорировать файлы и папки в Git.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59