Недавно мы публиковали подборку книг для Java-разработчиков. Сегодня предлагаем ещё один список, на этот раз для инженеров Linux. Знания и опыт у представителей этой специальности практически всегда очень разносторонние. Но книги помогают повышать квалификацию даже профессионалам с солидным багажом знаний, опыта и скилов, не говоря уже о новичках. Сегодня в подборке — пять хороших книг, на которые стоит обратить внимание.
web-разрабочик
Маст-хэв PHP-инструменты
В последние годы PHP динамично развивался с появлением новых версий языка, содержащих ряд новых фич, депрекаций и более строгий синтаксис. Кроме того, библиотеки и фреймворки, такие как Symfony, постоянно претерпевают изменения: каждые полгода появляются новые минорные релизы, а каждые два года - мажорные, наиболее существенные. Для нас в Westwing очень важно регулярно обновлять имеющуюся кодовую базу, чтобы она оставалась работоспособной, безопасной и актуальной. К счастью, в сообществе PHP появилось множество инструментов, способствующих улучшению кодовой базы.
Чистая архитектура. Часть I — Введение
Стать инженером DevOps в 2021 году: подробное руководство
Что касается нынешнего ИТ-рынка, среда DevOps — один из лучших вариантов для ИТ-специалистов с точки зрения заработной платы и карьерного роста. И мне довольно часто задают вопрос: «Как стать инженером DevOps?»
В этом блоге я попытаюсь ответить на него на примере своего собственного опыта работы DevOps в различных организациях.
Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…
Под катом мои комментарии на некоторые тезисы.
{/UPD}
Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.
В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.
То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».
К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.
И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.
Видимо, только этот котэ добросовестно охраняет вокзал.
Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
Будущее русского фриланса: проекты для специалистов с высокой квалификацией
Одна из возможных причин застоя — что на рынке фриланса всегда господствовал один главный продукт: услуга. С рождения китов, на которых стоит фриланс, FL.ru и Weblancer, и до 2020 года формат всех бирж по-прежнему заточен на подбор услуг под заказы. Однако заказчики приходят на фриланс не только за услугами, но и за исполнителями. Два самых заметных пополнения на рынке с тех пор, «Фрилансим» и Kwork, не изменили парадигме фриланса как рынка услуг, а «Кворк» ещё и усилил степень деперсонализации услуг. Тот факт, что заказчики приходят на фриланс не только за услугами, но и за исполнителями, продолжал игнорироваться.
И вот, спустя пять лет и несколько новых проектов, не поменявших ничего, первый сайт обратил, наконец, внимание на то, что заказчики приходят на фриланс не только за услугами, но и за исполнителями. Topfreelancer, кстати, запустил именно «Кворк», очистив свою карму первым на русском фрилансе проектом, своим продуктом сделавшим самих исполнителей, а не услуги. Это всё ещё нишевый проект, причём, принципиально нишевый: сейчас на Topfreelancer берут только разработчиков и дизайнеров.
Простое объяснение делегирования событий в JavaScript
Приветствую. Представляю вашему вниманию перевод статьи «A Simple Explanation of Event Delegation in JavaScript», опубликованной 14 июля 2020 года автором Dmitri Pavlutin
В данной статье Дмитрий Павлутин объясняет, на чём основан один из базовых паттернов работы с DOM-событиями.
Vue.js для начинающих, урок 8: компоненты
→ Vue.js для начинающих, урок 1: экземпляр Vue
→ Vue.js для начинающих, урок 2: привязка атрибутов
→ Vue.js для начинающих, урок 3: условный рендеринг
→ Vue.js для начинающих, урок 4: рендеринг списков
→ Vue.js для начинающих, урок 5: обработка событий
→ Vue.js для начинающих, урок 6: привязка классов и стилей
→ Vue.js для начинающих, урок 7: вычисляемые свойства
→ Vue.js для начинающих, урок 8: компоненты
Мне не нравится то, во что превращается PHP
И я уже знаю, что скажете вы, глядя на заголовок статьи:
— Кто ты такой? Почему ты позволяешь себе так говорить?
Отвечу сразу, чтобы не было недомолвок:
- Я профессионально программирую на PHP с 2004 года, то есть вот уже 16 лет на момент написания этой статьи, и продолжаю это делать каждый день
- Я преподаю программирование, в том числе и на PHP, примерно 10 лет и за это время выпустил в свет несколько тысяч студентов
- Я всегда был в восторге от каждой новой версии PHP, что выходила со времен от 5.0 до 7.4 и всегда был адептом подхода «пишем на самой свежей версии, тестируем на следующей»
И всё-таки, несмотря на всё сказанное выше, мне не нравится то, во что превращается PHP сейчас и во что он превратится уже скоро, буквально этой осенью.
Почти каждый принятый в PHP 8 RFC вызывает во мне боль и недоумение. И я готов объяснить и защитить свою позицию.
Почему Мистер Робот — лучший сериал про IT-индустрию
23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к моему юбилею на портале. Моя первая статья появилась ровно 2 года назад.
Disclaimer
Я понимаю, что читатели Хабрахабра — люди работающие в IT-индустрии, опытные пользователи и заядлые гики. Данная статья не несёт в себе какой-то важной информации и не является обучающей. Здесь я хотел бы поделиться мнением о сериале, но не как кинокритик, а как человек из мира IT. Если вы согласны или же не согласны со мной в каких-то вопросах, давайте обсудим их в комментариях. Расскажите своё мнение. Оно будет интересно.
Если вам, читателям Хабрахабра, понравится данный формат, я обещаю продолжить работу над другими фильмами и сериалами, стараясь выбрать лучшие, на мой взгляд, работы.
Что же, давайте приступим к разбору сериала.
Осторожно! Спойлеры.
Hack The Box. Прохождение Bankrobber. XSS, SQL инъекция, CSRF, port forwarding
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье мы угоним куки администратора сайта через XSS, узнаем код с помощью SQL инъекции, получим шелл через форму выполнения команды с помощью XSS и CSRF, прокинем порт из Windows и побрутим PIN легенького приложения перевода средств с помощью pwntools.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
- PWN;
- криптография (Crypto);
- cетевые технологии (Network);
- реверс (Reverse Engineering);
- стеганография (Stegano);
- поиск и эксплуатация WEB-уязвимостей.
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Hack The Box — прохождение Zetta. FXP, IPv6, rsync, Postgres и SQLi
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье узнаем IPv6 адрес сервера с помощью FXP, поработаем с rsync, а также запишем ssh-ключ используя SQL-инъекцию при обработке журналов логов в Postgres.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
- PWN;
- криптография (Crypto);
- cетевые технологии (Network);
- реверс (Reverse Engineering);
- стеганография (Stegano);
- поиск и эксплуатация WEB-уязвимостей.
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Как начать заниматься Bug Bounty
Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в сообщениях день ото дня. Я не могу ответить на каждое сообщение, поэтому решил написать статью и отправлять всех новичков читать ее.
Я занимаюсь Bug Bounty уже пять лет. Тем не менее, есть множество вещей, которых я не знаю, да и сам я не эксперт, поэтому прошу не считать эту статью советом от эксперта. Я просто поделюсь тем, чего достиг за последние 5 лет, совершенствуя свои навыки день ото дня.
Методы борьбы с DDoS-атаками
Как же от этого защититься? К сожалению, универсальных мер защиты от DDoS-атак до сих пор не существует. Тут необходим комплексный подход, который будет включать меры аппаратного, программного и даже организационного характера.
Нагрузочное тестирование «по-быстренькому»
Подробности под катом
1000+ часов видео по Java на русском
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
- Java Core
- Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
- Multicore programming in Java.
Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).
В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.
(GolovachCourses.com)
Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Реализация MVC паттерна на примере создания сайта-визитки на PHP
Как вы уже догадались из названия статьи, сегодня речь пойдет о самом популярном, разве что после Singleton, шаблоне проектирования MVC, хотя такое сравнение не совсем уместно. Понимание концепции MVC может помочь вам в рефакторинге и разрешении неприятных ситуаций в которые, возможно попал ваш проект. Дабы восполнить пробел, мы реализуем шаблон MVC на примере простого сайта-визитки.
Система автоматического документирования REST-API в Laravel проектах
Преамбула
Для того, чтоб описать и задокументировать правила клиент-серверного
взаимодействия используя Rest-api можно выделить три основных метода:
- Описывать своим коллегам правила обращения к серверу на пальцах
Этот метод быстр и не требует долгосрочной поддержки, но высока вероятность, что вас за это будут бить.
- Руками составлять Google-docs/Wiki/Readme в проекте
Удобно тем, что однажды написанная документация не требует повторного объяснения. Её можно показать коллегам и даже иногда заказчику. Минусом данного метода является долгосрочная поддержка такой документации. Когда Api в проекте вырастает до таких размеров, что сама мысль "А когда же я обновлял документацию?" вызывает холодок по спине, тогда вы понимаете, что дальше так продолжаться не может. Формально вы можете обновлять документацию очень часто и маленькими фиксами, но это до первого отпуска. Использовать систему автодокументирования
И вот для того, чтобы решить минусы первых двух методов человечество придумало системы автоматического документирования. Основная идея заключается в том, что к проекту пристыковывается некий плагин, который собирает информацию по вашему коду, сам составляет документацию и обёртывает её в удобочитаемый формат. Но большинство решений по этому методу не идеальны. Давайте попробуем сделать инструмент, который поможет получить документацию нашего проекта с минимальным количеством телодвижений
M в MVC: почему модели непоняты и недооценены (перевод)
Многие из вас наверняка заметили, что я пишу книгу о Zend Framework. Недавно я закончил черновики двух глав: «Архитектура приложений на Zend Framework» и «Понимая Zend Framework». В первой главе объясняется архитектурный шаблон Model-View-Controller (MVC) и причины, по которым он стал стандартом де-факто для веб-приложений. Во второй исследуется связь MVC с компонентами Zend Framework, их структурой и взаимодействием.
Завершив обе главы я осознал, что большую часть времени описывал модель и ее фактическое отсутствие в Zend Framework. На самом деле ни один веб-фреймворк не предлагает нам полноценную модель (по причинам, которые я объясню чуть позже). И ни в одном из них не дается внятного объяснения этому обстоятельству. Вместо этого они последовательно связывают понятие модели с родственным, но не идентичным понятием доступа к данным, что изрядно всех запутывает.
Эта сторона фреймворков никогда не привлекала особого внимания. И все же именно она лежит в основе целого класса проблем в тех приложениях, которые пытаются использовать MVC по образу и подобию фреймворков для веб-приложений. Более того, попытки донести идею модели до других разработчиков нередко напоминают битье головой о стену. Я не хочу сказать, что все разработчики тупые или не понимают саму идею, просто никто из них (вне зависимости от того, работают они с PHP или нет) не связывает модели с той областью, которая наделяет их смыслом — принципами объектно-ориентированного программирования.
Создание простой MVC-системы на PHP 5
Предисловие
В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity