Яндекс Практикум. Программирование и анализ данных
12.8K subscribers
525 photos
2 videos
513 links
Полезное для начинающих разработчиков, тестировщиков и аналитиков данных. Отвечаем на вопросы и делимся новостями Практикума. Выбрать курс и попробовать свои силы бесплатно: https://ya.cc/t/3bO2f2245AmCeQ

Номер заявления в РКН 4970781590
Download Telegram
PHP жил, PHP жив, PHP будет жить!

К PHP в индустрии относятся по-разному: кто-то любит, кто-то ненавидит. Споры про его актуальность и будущее идут уже лет десять. А PHP всё так же живёт, развивается и обновляется.

90% веба написано на PHP: например, всем знакомые Wikipedia, ВКонтакте и Авито. Продуктам и бизнесам всё так же нужны разработчики, которые будут поддерживать и развивать продукты, написанные на PHP.

У языка низкий порог входа: многим выучить его легче, чем Python или Java. А с поддержкой Практикума за 1 год вы научитесь:

▪️Верстать сайты с помощью HTML и CSS, править чужую вёрстку
▪️Разрабатывать бэкенд на PHP, поддерживать и улучшать чужой код
▪️Создавать и дорабатывать сайты на WordPress
▪️Создавать приложения на фреймворке Laravel
▪️Работать с заказами на фриланс-бирже Kwork
▪️Работать с базами данных и языком запросов SQL

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

До 30 ноября курс можно приобрести со скидкой: вместо 168 000 рублей вы заплатите 134 400.

Чтобы получить скидку, оставьте заявку на сайте курса PHP-разработчик.
↓ Знакомимся! Это Иван, инженер по безопасности, соведущий подкаста «Кверти», а также автор и наставник курса «Специалист по информационной безопасности: веб-пентест».

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

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

Также я веду подкаст про кибербезопасность, где мы с соведущим стараемся доступным языком рассказывать о насущных проблемах. Я бы сказал, что наш подкаст — это «ИБ с человеческим лицом» :) Поделюсь несколькими выпусками, которые посчитал полезными и интересными:

Что? Где? ИБ? — довольно весёлый выпуск с ответами на вопросы, в котором мы говорим о защите личных данных. Например, мы обсуждаем, что будет с людьми, которые сохраняют пароли в приложениях и браузерах.

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

Как быть, если твои данные слили в сеть — разбираемся, как жить, если данные утекли в сеть. Мы обсуждаем, например, можно ли оформить микрозайм по скану паспорта, что такое цифровой след и существует ли подлинная анонимность.

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

В один момент я начал администрировать антивирусное ПО и, в итоге, стал консультантом отдела и администратором средств антивирусной защиты. Тогда я администрировал всё это дело где-то на 60 тысячах хостов.

Понятное дело, я на этом не стал останавливаться: учился, когда была возможность, практиковался в локальной сети, изучал уязвимости. Тогда уже меня позвали в более крупную компанию, где я попал именно в кибербезопасность. Там я начал работу в качестве начинающего специалиста и постепенно рос. И вот я здесь.

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

Впрочем, информационная безопасность — это не всегда только вопросы безопасности. Могут встречаться вопросы, которые к ней близки, но напрямую не соприкасаются. Для примера: если нужно построить туннель между двумя серверами, его нужно сделать в том числе безопасным, пусть даже основная задача не связана с ИБ.

В следующем посте я расскажу о разнице между специалистом и инженером. Если у вас уже есть какие-то вопросы — спрашивайте😉
В чём же разница между специалистом и инженером?

Специалист, как правило, занимается узконаправленной задачей. Например, администрированием антиспама или WAF. А инженер — это человек, который участвует в куче процессов: например, в разработке, тестировании, модернизации ПО или мобильного приложения.

Инженер уже может давать рекомендации по архитектуре приложения. Он занимается постоянной модернизацией процессов безопасности в зоне своей ответственности.

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

Бывает и наоборот: специалисты приходят с какой-то потребностью и не знают, как её решить. Инженер со своей компетенцией им помогает.

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

В ИБ нужно знать всегда намного больше технологий, чем тому же разработчику. Например, если разработчик пишет на Go, он может знать Go и не париться. В ИБ же может оказаться так, что есть несколько команд разработки: одна пишет на Go, другая на Python, третья — на Java. И все эти три команды покрывает один человек со стороны безопасности. Он должен знать или хотя бы понимать, как работают эти технологии.

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

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

Чтобы попасть в ИБ вам не нужно обладать каким-то особым «техническим складом ума». Кому-то будет легче, кому-то — тяжелее, но научиться можно всему. Тем не менее, полезно будет обладать следующими качествами:

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

▪️Наблюдательность. Вы должны уметь обращать внимание на детали и вникать в контекст. Это полезно как при проведении пентестов, так и при проведении, например, расследований инцидентов.

▪️Умение собирать и каталогизировать информацию. Чем лучше у вас это получится, тем больше вероятность успешного тестирования. В некоторых случаях, возможно, даже не придётся ничего «ломать».

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

▪️Самостоятельность. Вы не должны ждать чего-то от кого-то — вы должны уметь действовать самостоятельно и в группе. Часто условия тестирования предполагают, что пентестер будет в отрыве от всех и, возможно, в том числе и без доступа к интернету.

▪️Знание средств автоматизации. Это пункт со звёздочкой — нельзя полагаться на них постоянно. Например, эти средства могут ничего не обнаружить, но это совсем не значит, что уязвимости нет. Автоматизация нужна для облегчения процессов, а не выполнения вашей работы. Вы должны уметь эксплуатировать все уязвимости вручную.
Приходите учиться на веб-пентестера в Практикум

Научитесь взламывать сервисы и фиксить слабые места на курсе Практикума «Специалист по информационной безопасности».

Зачем учиться на веб-пентестера:
— сервисы часто страдают от злоумышленников — специалисты по информационной безопасности очень востребованы;
— обучение даст вам возможность расширить набор компетенций и научиться писать более безопасный код;
— специалисты по безопасности могут участвовать в программе Bug Bounty и получать вознаграждения.

Освойте профессию «Специалист по информационной безопасности: веб-пентест» и станьте востребованным IT-специалистом.

Начать учиться
Число Шеннона

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

В середине XX века американский математик Клод Шеннон разрабатывал компьютерные программы, которые могли бы играть в шахматы. И пришёл к тому, что количество всевозможных партий можно оценить числом 10¹²⁰. Дать компьютеру «просто просчитать» все эти партии не получится — у нас нет даже рядом лежащих мощностей, чтобы просчитать такое за адекватное (или даже не очень адекватное) время.
На самом деле эта оценка достаточно грубая и основана на среднем количестве возможных ходов в каждый момент времени и на средней длительности партии. Но зато число получилось впечатляющее😁

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

А что насчёт количества атомов (или даже частиц) во вселенной? Их, конечно, тоже много, но оценка гораздо скромнее — около 10⁸⁰. Про то, как прикинуть это количество — есть отдельное видео. В нём ещё содержится бонусный кусочек информации: через сколько лет человечество истратит все частицы в обозримой Вселенной, если популяция продолжит расти с текущей скоростью. И это подозрительно скоро😅

Эти любопытные вычисления мы подсмотрели в канале Практически математически. Это Телеграм-канал о математике в IT: для будущих аналитиков, разработчиков, тестировщиков и маркетологов. От создателей бесплатного тренажёра «Основы математики для цифровых профессий» в Практикуме.
↓ Знакомимся! Это Руслан, и следующие несколько дней он будет рассказывать о языке PHP и немножко о себе. Сейчас он работает техлидом в компании, которая занимается процессингом карт лояльности, Loymax. А ещё он приглашенный эксперт на курсе «PHP-разработчик» в Практикуме.

Не стесняйтесь задавать вопросы в комментариях!
Всем привет! Меня зовут Руслан Полин, сейчас я работаю PHP-разработчиком. Моя история — лишнее подтверждение тому, что никогда не поздно поменять планы и выбрать то, что действительно интересно.

В конце 11 класса я делал выбор между работой в IT и профессией эколога. Так получилось, что в день ЕГЭ по информатике я болел, поэтому не смог набрать достаточно баллов. Так я поступил в Геодезическую академию, но после первого курса решил, что это не для меня. Мне нравилась геология, но там были свои подводные камни😐 Довольно нудная профессия.

Я решил, что разработка мне ближе, и стал активно учиться самостоятельно. Я и во время учебы немного занимался программированием: изучал базу фронтенда (HTML, CSS, JS), сам себе ставил какие-то задачки — но это было, скорее, хобби. Потом хобби стало занимать всё больше и больше времени, и я решил его монетизировать.

Я читал много статей и книг, очень много читал и продолжаю читать Хабр. Стал больше фокусироваться на бэкенде: PHP, SQL, базы данных. Курсы никакие не проходил — решил, что справлюсь своими силами. Это заняло довольно много времени, возможно, с курсами было бы быстрее. Постепенно я стал брать заказы на фрилансе, там преобладали заказы с тегом PHP, и работу найти было довольно просто. Потихоньку-помаленьку — и вот я здесь.

Конечно я не ограничиваюсь только PHP и могу писать код на Java, Go, JavaScript. Однако последние 7 лет я пишу в основном на PHP: язык развивается, есть интересные проекты, работы очень много и количество предложений не уменьшается.

В следующем посте расскажу подробнее про PHP: популярный ли это язык, что на нём пишут, для чего он оптимален, а для чего — не очень.
PHP — это язык бэкенда для веба. Практически все интернет-магазины — это PHP. Блоги, какие-то мелкие сайты и весь WordPress — тоже. В целом, 90% всего веба написано с помощью этого языка. PHP используют и самые топовые компании: например, Avito, VK, Деливери и даже некая зарубежная соцсеть, на которую подозрительно похож VK🙈

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

Язык довольно популярен — последние шесть лет он стабильно занимает седьмую строчку в рейтинге GitHub’a. Он может проигрывать в рейтингах каким-нибудь C++, Java или Python, но, опять же, 90% всех веб-проектов — это PHP. И эти проекты нужно поддерживать и развивать, поэтому спрос на разработчиков не падает.

В регионах язык даже популярнее, чем в столицах. Там есть довольно большое количество мелких бизнесов — для многих из них нужны интернет-магазинчики или лендинги.
В отличие от тех же C++ и Java, PHP довольно прост, у него низкий порог входа. Примечательно, что порог не повышается, хотя язык постоянно развивается, появляется много нового и классного.

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

Давайте сразу рассмотрим пример кода Hello, World! для PHP:

<?php
print_r('Hello, World!');
// => Hello, World!


Для сравнения, тот же результат на Go:

package main
import "fmt"
func main() {
fmt.Println("Hello World")
}


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

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

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

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

Я сам провожу довольно много собеседований, поэтому в следующем посте расскажу, как подбираю кандидатов, обязательно ли нужны пет-проекты в портфолио или можно приходить с теоретической базой.
Расскажу про сам процесс подбора: вот приходит к нам джун. Необязательно после курсов, возможно, после первой работы или какой-то стажировки. Мы всегда смотрим на его опыт. Если человек пришёл после курсов, то смотрим, что он учил, какие темы изучал, чем занимался в свободное время.

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

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

Если у кандидата в портфолио есть ссылка на GitHub, я её обязательно смотрю. Даже если там какие-то тестовые или учебные задания, всегда интересно, как человек пишет и мыслит. Большинству компаний важно понимать, какой у соискателя образ мышления — не столько его обширный опыт.

Иметь в портфолио пет-проекты — это большой плюс. Значит, человек умеет ставить себе задачи и их же решать. На собеседовании мы можем обсудить, какие задачи он ставил, как их декомпозировал и так далее — это тоже поможет больше понять образ мышления.
Вывод такой: устроиться совсем без опыта реально, но шансы в разы возрастают, если вам есть, что показать. Это необязательно должна быть реальная задача, подойдут учебные или пет-проекты.

Если у вас остались какие-то вопросы, пишите в комментарии!👇
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP-разработчик: фриланс и найм

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

Не важно, хотите ли вы работать на себя или на компанию, мы вам в этом поможем.

Фриланс
Научим вас работать на фриланс-бирже: искать заказы, оценивать их стоимость и масштаб, общаться с заказчиком. Во время курса вы сделаете и добавите в портфолио проекты, за которые обычно берутся фрилансеры.
⚡️Свой первый заказ на фрилансе вы сможете взять ещё во время учёбы.

Работа в компании
Вы составите резюме, портфолио и сопроводительные письма — их проверят HR-эксперты и дадут обратную связь. Потом вы вместе подготовитесь к собеседованиям и создадите стратегию поиска работы. А ещё мы предложим партнёрские вакансии, чтобы вам точно было с чего начать.

→ Узнать подробнее о программе курса
Год — это много или мало для роста в карьере или даже смены профессии? Герои нашего эфира докажут, что 12 месяцев могут перевернуть жизнь. Один год своей взрослой жизни они посвятили учёбе и поиску работы. И у них всё получилось. Приходите, чтобы узнать, как это было, и убедиться: вам тоже такое по силам.

🪼 Бесплатно, 14 декабря в 18:00 Мск

Вы узнаете, как решиться на новую профессию в IT:
🪼даже если вам уже за 40 лет,
🪼даже если у вас совсем нет опыта работы,
🪼даже если вы хотите кардинально сменить сферу.

Выпускники Яндекс Практикума расскажут, как принимали решение, что помогло не бросить учёбу посередине и что они посоветовали бы самим себе в прошлом. Приходите, задавайте вопросы и делитесь своими планами на 2024-й.

🪼 Зарегистрируйтесь на онлайн-встречу
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача для Гоферов

import (
"encoding/json"
"fmt"
)

type User struct {
id int `json:"id"`
name string `json:"name,omitempty"`
email string `json:"email,omitempty"`
password string `json:"-"`
}

func main() {
users := []User{
{
id: 1,
name: "Gopher",
email: "gopher@example.com",
password: "Im4G0pH3r",
},
{
id: 2,
name: "Rustocaen",
email: "rustocean@example.com",
password: "iT$Ru$t0C34n",
},
}

out, err := json.MarshalIndent(users, "", " ")
if err != nil {
fmt.Printf("serialization error: %s\n", err.Error())
return
}

fmt.Println(string(out))
}
Эта программа сериализует данные из слайса структур User в JSON-формат. Но есть одна проблема: программа не работает. Нужно найти ошибку и исправить её. Когда программа заработает, она выведет данные на экран в JSON-формате.
Решение задачи из предыдущего поста:

import (
"encoding/json"
"fmt"
)

type User struct {
ID int `json:"id"`
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
Password string `json:"-"`
}

func main() {
users := []User{
{
ID: 1,
Name: "Gopher",
Email: "gopher@example.com",
Password: "Im4G0pH3r",
},
{
ID: 2,
Name: "Rustocaen",
Email: "rustocean@example.com",
Password: "iT$Ru$t0C34n",
},
}

out, err := json.MarshalIndent(users, "", " ")
if err != nil {
fmt.Printf("serialization error: %s\n", err.Error())
return
}

fmt.Println(string(out))
}
Задачу составил Владислав Попов — автор курсов «Go-разработчик с нуля» и «Продвинутый Go-разработчик» в Практикуме.
12 декабря в 13:00 в этом канале мы проведем прямой эфир «Как писать сопроводительное письмо разработчику».

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

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

Гость эфира: Нина Уткина — HR с 10-летним опытом (Tutu.ru, «МегаФон», Lamoda), карьерный консультант, эксперт по трудоустройству в Практикуме.

Подключиться к эфиру можно по ссылке.

Если у вас есть вопросы, обязательно пишите их в комментарии и приходите на эфир, мы ответим на них
Please open Telegram to view this post
VIEW IN TELEGRAM