Да, кстати.
Совсем забыл про основной ресурс, так сказать, библию для новичка.
http://www.phptherightway.com/
Авторы собрали очень много важных вещей о PHP в одном месте.
Конечно, это далеко не все, библия скорее похожа на методичку...
Кстати, русская версия слегка отстает от английской, поэтому лучше читать «в оригинале».
Совсем забыл про основной ресурс, так сказать, библию для новичка.
http://www.phptherightway.com/
Авторы собрали очень много важных вещей о PHP в одном месте.
Конечно, это далеко не все, библия скорее похожа на методичку...
Кстати, русская версия слегка отстает от английской, поэтому лучше читать «в оригинале».
Очень поучительная история с Хабра, о том, как не нужно делать кеширование. http://telegra.ph/Kak-mozhno-vzlomat-svoj-zhe-Web-proekt-11-04
Telegraph
Как можно взломать свой же Web проект?
Недавно мне позвонили и попросили помочь разобраться с очень странными симптомами на сайте. А симптомы выглядели вот так. Cовершенно разные клиенты звонили и рассказывали, что они на сайте попадают в личные кабинеты других случайных клиентов. Логинятся под…
Всем привет!
Сегодня понедельник, а это значит что настало время включаться в работу, и немного поразмять мозги.
И у меня для вас есть интересная задачка из разряда "задачки из собеседований".
Есть таблица MySQL, содержащая личные сообщения пользователей
CREATE TABLE
PRIMARY KEY (
);
Нужно выбрать самую активную пару (пару пользователей с самым большим количеством сообщений) одним MySQL запросом.
Можно несколько вариантов ответа.
Свои ответы присылайте в гугл-форму тут: http://bit.ly/2zghotV
#задачисобеса
Сегодня понедельник, а это значит что настало время включаться в работу, и немного поразмять мозги.
И у меня для вас есть интересная задачка из разряда "задачки из собеседований".
Есть таблица MySQL, содержащая личные сообщения пользователей
CREATE TABLE
messages
(id
INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,user_from_id
INT(10) UNSIGNED NOT NULL,user_to_id
INT(10) UNSIGNED NOT NULL,message
TEXT NOT NULL,created_at
INT(10) UNSIGNED NOT NULL,PRIMARY KEY (
id
));
Нужно выбрать самую активную пару (пару пользователей с самым большим количеством сообщений) одним MySQL запросом.
Можно несколько вариантов ответа.
Свои ответы присылайте в гугл-форму тут: http://bit.ly/2zghotV
#задачисобеса
Еще немного про уязвимости.
Представьте себе, что вы даете пользователям возможность принимать сообщения на адрес вида some-name@yourdomain.com
К примеру - взять Трелло. Там можно создавать карточки, просто отправляя письмо на blablabla@trello.com.
А также представьте, что на этот домен у вас настроен SSO. Ну или есть тима в слаке.
Что из этого может выйти плохого - можно почитать в следующей статье.
http://telegra.ph/Nemnogo-ob-uyazvimostyah-11-06
Представьте себе, что вы даете пользователям возможность принимать сообщения на адрес вида some-name@yourdomain.com
К примеру - взять Трелло. Там можно создавать карточки, просто отправляя письмо на blablabla@trello.com.
А также представьте, что на этот домен у вас настроен SSO. Ну или есть тима в слаке.
Что из этого может выйти плохого - можно почитать в следующей статье.
http://telegra.ph/Nemnogo-ob-uyazvimostyah-11-06
Telegraph
Немного об уязвимостях
Вы когда-нибудь слышали о Google Issue Tracker? Наверное, нет, если вы не являетесь сотрудником Google или разработчиком, который недавно сообщил о проблемах в инструментах Google. И я тоже не знал, пока не заметил, что мои сообщения об уязвимостях теперь…
Всем доброе субботнее утро! (А кому-то уже и добрый субботний день)
Знаете, почему мы получаем удовольствие от выполнения задачи? Это дофамин, так сказать - гормон удовлетворения. Достигли поставленную цель - получили порцию дофамина.
Эдакое мини-счастье.
Для разработчика очень важно получать дофамин в процессе выполнения больших задач, т.к. иначе мы просто начинаем думать "а на кой оно все", или "ну нафиг это грамотное исполнение, напишу говнокодом, и так убил 2 недели".
Поэтому всегда старайтесь разбивать задачу на дробные кусочки, и получать дофамин за выполнение каждого из них.
Ну и не забывайте про мини-достижения, будь то "красивый рефакторинг вон того класса", звездочка на гитхабе, ну или успешно пройденный профессиональный мини-тест.
Кстати, хочу рассказать об одном интересном проекте - Geekbrains (его купила Mail Ru, но не пугайтесь) - это IT академия, но наш интерес не в этом. Самое главное для нас - там есть бесплатные тесты по различным языкам программирования на различные уровни.
Очень советую пройти тест по PHP для всех уровней. Ссылку оставлю ниже:
http://bit.ly/2yq6azB
Знаете, почему мы получаем удовольствие от выполнения задачи? Это дофамин, так сказать - гормон удовлетворения. Достигли поставленную цель - получили порцию дофамина.
Эдакое мини-счастье.
Для разработчика очень важно получать дофамин в процессе выполнения больших задач, т.к. иначе мы просто начинаем думать "а на кой оно все", или "ну нафиг это грамотное исполнение, напишу говнокодом, и так убил 2 недели".
Поэтому всегда старайтесь разбивать задачу на дробные кусочки, и получать дофамин за выполнение каждого из них.
Ну и не забывайте про мини-достижения, будь то "красивый рефакторинг вон того класса", звездочка на гитхабе, ну или успешно пройденный профессиональный мини-тест.
Кстати, хочу рассказать об одном интересном проекте - Geekbrains (его купила Mail Ru, но не пугайтесь) - это IT академия, но наш интерес не в этом. Самое главное для нас - там есть бесплатные тесты по различным языкам программирования на различные уровни.
Очень советую пройти тест по PHP для всех уровней. Ссылку оставлю ниже:
http://bit.ly/2yq6azB
Нет времени объяснять, просто держите еще несколько задач на логику
http://telegra.ph/Eshche-para-zadach-na-logiku-11-16
http://telegra.ph/Eshche-para-zadach-na-logiku-11-16
Telegraph
Еще пара задач на логику
1. Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее…
Немного отойду от темы, но вот вчерашний перевод с Хабра, который вызвал нехилый холивар у многих, да и мне тема показалась очень интересной и актуальной.
В общем - http://telegra.ph/Pochemu-programmisty-ne-poluchayut-rabotu-chetyre-strashilki-11-17
В общем - http://telegra.ph/Pochemu-programmisty-ne-poluchayut-rabotu-chetyre-strashilki-11-17
Telegraph
Почему программисты не получают работу: четыре страшилки
В рекрутинге больше бардака, чем вы думаете. Расскажу четыре истории, где отличным инженерам отказали по причинам, абсолютно не связанным с их профессиональными знаниями или соответствием корпоративной культуре. Когда люди не получают предложения о работе…
Немного запоздалая, но все же актуальная новость.
Вещь, которая может помочь в high-load:
http://telegra.ph/Predstavlen-novyj-kod-otveta-HTTP---103-11-21
Вещь, которая может помочь в high-load:
http://telegra.ph/Predstavlen-novyj-kod-otveta-HTTP---103-11-21
Telegraph
Представлен новый код ответа HTTP - 103
Представлен новый код ответа HTTP - 103 Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, одобрил дополнение списка кодов состояния HTTP новым значением 103, которое предлагается использовать для упреждающего…
И в догонку - очень полезный гайд по настройке mysql сервера под высокие нагрузки.
Если вы уперлись в потолок вашего сервера - не спешите бежать докупать железо, возможно вы забыли поиграться с настройками.
http://telegra.ph/Optimizaciya-MySQL-indeksy-medlennye-zaprosy-konfiguraciya-11-21
Если вы уперлись в потолок вашего сервера - не спешите бежать докупать железо, возможно вы забыли поиграться с настройками.
http://telegra.ph/Optimizaciya-MySQL-indeksy-medlennye-zaprosy-konfiguraciya-11-21
Telegraph
Оптимизация MySQL: индексы, медленные запросы, конфигурация
MySQL по-прежнему является самой популярной в мире реляционной базой данных, но в то же время и наиболее не оптимизированной. Многие люди остаются с настройками по умолчанию, не "копая" глубже. В этой статье мы рассмотрим некоторые советы по оптимизации MySQL…
Всем привет. Сегодня хотелось бы затронуть SQL базы данных. Я недавно ставил сборку nginx+mysql+php на новый сервер, на всякий случай залез в мануалы, и digital ocean в своем мане предлагает ставить MariaDB вместо mysql. И правда, эти штуки совместимы между собой (до тех пор, пока вы не используете множественные триггеры, или еще какую-нибудь завернутую хрень).
А почему все-таки стоит перейти на MariaDB - описано тут
http://telegra.ph/MariaDB-protiv-MySQL-11-24
А почему все-таки стоит перейти на MariaDB - описано тут
http://telegra.ph/MariaDB-protiv-MySQL-11-24
Telegraph
MariaDB против MySQL
Существует довольно много причин для того, чтобы перейти на MariaDB. Давайте посмотрим, настолько ли они веские, чтобы убедить вас это сделать. MariaDB - разновидность исходного кода MySQL, отделившегося сразу после того, как начали появляться сомнения о…
Всего 3 дня осталось до релиза одного из самых популярных фреймворков: Symfony, который ожидается 30 ноября. Это будет 4 версия, которая принесет много нового и интересного.
Интересно, как симфони изменила нашу жизнь. Отдельные ее компоненты можно найти в самых неожиданных местах 😆.
Подробнее об основных нововведениях четвертой версии можно почитать тут (ну или пойти дальше ковырять свой -друпал- (зачеркнуто) любимый фреймворк)
http://telegra.ph/Budushchij-reliz-Symfony-40-i-proekt-s-ispolzovaniem-Symfony-Flex-11-27
Интересно, как симфони изменила нашу жизнь. Отдельные ее компоненты можно найти в самых неожиданных местах 😆.
Подробнее об основных нововведениях четвертой версии можно почитать тут (ну или пойти дальше ковырять свой -друпал- (зачеркнуто) любимый фреймворк)
http://telegra.ph/Budushchij-reliz-Symfony-40-i-proekt-s-ispolzovaniem-Symfony-Flex-11-27
Telegraph
Будущий релиз Symfony 4.0 и проект с использованием Symfony Flex
30 Ноября 2017 года состоится релиз Symfony 4.0
А какой фреймворк вы считаете самым прогрессивным (ну или просто - самым лучшим/элегантным)
▪️ 39% (170) Laravel
🔸🔸🔸🔸🔸🔸🔸🔸
▫️ 14% (64) Symfony
🔸🔸🔸
▪️ 22% (97) Yii
🔸🔸🔸🔸
▫️ 2% (9) Zend
▪️ 1% (8) CodeIgniter
▫️ 1% (6) CakePHP
▪️ 3% (13) Phalcon
▫️ 0% (3) PHPixie
▪️ 1% (7) Другой
▫️ 12% (52) Отсутствие фреймворка
🔸🔸
👥 429 - всего голосов
▪️ 39% (170) Laravel
🔸🔸🔸🔸🔸🔸🔸🔸
▫️ 14% (64) Symfony
🔸🔸🔸
▪️ 22% (97) Yii
🔸🔸🔸🔸
▫️ 2% (9) Zend
▪️ 1% (8) CodeIgniter
▫️ 1% (6) CakePHP
▪️ 3% (13) Phalcon
▫️ 0% (3) PHPixie
▪️ 1% (7) Другой
▫️ 12% (52) Отсутствие фреймворка
🔸🔸
👥 429 - всего голосов
Немного об аутентификации.
В нашем мире часто никто не задумывается об аутентификации всерьез. Ну, вводи логин-пароль, а я их сохраню. Что? Не секьюрно сохранять так? Ок, давайте в md5.
Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.
http://telegra.ph/Kak-ty-realizuesh-autentifikaciyu-priyatel-11-29
В нашем мире часто никто не задумывается об аутентификации всерьез. Ну, вводи логин-пароль, а я их сохраню. Что? Не секьюрно сохранять так? Ок, давайте в md5.
Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.
http://telegra.ph/Kak-ty-realizuesh-autentifikaciyu-priyatel-11-29
Telegraph
Как ты реализуешь аутентификацию, приятель?
Нельзя отрицать, что в любых приложениях и ОС «аутентификация» — крайне важный элемент обеспечения сохранности пользовательских данных и регулирования доступа к информации. Чтобы понять, какой метод аутентификации для вас лучше, нужно разбираться в достоинствах…
Когда-то, на заре моей карьеры, на собеседовании меня спросили: "Как вы считаете, чем плох Singleton?".
Я тогда сильно удивился, ведь как, самый популярный паттерн - плохой? И кому теперь верить? Да, каюсь, я тогда не использовал unit-тестирование. Иначе я знал бы хотя бы один ответ.
А в этой статье подробно разобрано, почему Singleton нужно использовать с осторожностью. http://telegra.ph/Pochemu-Singleton-ehto-ploho-12-01
Я тогда сильно удивился, ведь как, самый популярный паттерн - плохой? И кому теперь верить? Да, каюсь, я тогда не использовал unit-тестирование. Иначе я знал бы хотя бы один ответ.
А в этой статье подробно разобрано, почему Singleton нужно использовать с осторожностью. http://telegra.ph/Pochemu-Singleton-ehto-ploho-12-01
Telegraph
Почему Singleton это плохо?
Паттерн “Одиночка” — пожалуй, самый известный паттерн проектирования. Тем не менее, он не лишен недостатков, поэтому некоторые программисты (например, Егор Бугаенко) считают его антипаттерном. Разбираемся в том, какие же подводные камни таятся в Singleton’е.…
Знаете, то чувство, когда ты не очень любишь mail.ru, но вдруг почувствовал его полезность?😱
Что мне нравится - так это их любовь к своему блогу на хабре и перевод интересных материалов.
Предлагаю ознакомиться с разборкой по кирпичикам механизма кеширования PHP кода.
http://telegra.ph/Vo-vsyom-vinovat-PHP-OPCache-12-04
Что мне нравится - так это их любовь к своему блогу на хабре и перевод интересных материалов.
Предлагаю ознакомиться с разборкой по кирпичикам механизма кеширования PHP кода.
http://telegra.ph/Vo-vsyom-vinovat-PHP-OPCache-12-04
Telegraph
Во всём виноват PHP OPCache?
Когда я начинал карьеру разработчика, то очень удивился, прочитав фразу, которую приписывают Филу Карлтону (Phil Karlton): «В информатике есть лишь две сложности: инвалидация кеша и присвоение имён». Я отнёсся к этому недоверчиво, поскольку не понял сути…
Всем привет!
Отличная статья для тех, кто всегда мечтал нормально разобраться в регулярках. Разложено по полочкам. Не проходим мимо http://telegra.ph/Regulyarnye-vyrazheniya-dlya-samyh-malenkih-12-12
Отличная статья для тех, кто всегда мечтал нормально разобраться в регулярках. Разложено по полочкам. Не проходим мимо http://telegra.ph/Regulyarnye-vyrazheniya-dlya-samyh-malenkih-12-12
Telegraph
Регулярные выражения для самых маленьких
Вступление Регулярные выражения — язык поиска подстроки или подстрок в тексте. Для поиска используется паттерн (шаблон, маска), состоящий из символов и метасимволов (символы, которые обозначают не сами себя, а набор символов). Это довольно мощный инструмент…
Используешь SSL via TLS? Ты в опасности!
Внизу статьи скриптик для тестирования.
А мы пойдем дальше юзать http 😂 (На самом деле - нет)
http://telegra.ph/Kriptograficheskaya-uyazvimost-ROBOT-19-letnej-davnosti-ugrozhaet-Facebook-PayPal-i-mnogim-drugim-sajtam-12-14
Внизу статьи скриптик для тестирования.
А мы пойдем дальше юзать http 😂 (На самом деле - нет)
http://telegra.ph/Kriptograficheskaya-uyazvimost-ROBOT-19-letnej-davnosti-ugrozhaet-Facebook-PayPal-i-mnogim-drugim-sajtam-12-14
Telegraph
Криптографическая уязвимость ROBOT 19-летней давности угрожает Facebook, PayPal и многим другим сайтам
Атака Блейхенбахера В далеком 1998 году специалист Bell Laboratories Даниэль Блейхенбахер (Daniel Bleichenbacher) обнаружил проблему (PDF), связанную с тем, как ведет себя TLS-сервер, в том случае, если его оператор решил зашифровать обмен ключами между клиентом…
Приближается 2018 год, и технари — в частности веб-разработчики — должны отбросить многие старые методики и верования в сфере разработки защищённых PHP-приложений. Особенно это относится ко всем, кто не верит, что такие приложения вообще возможны.
Это руководство — дополнение к электронной книге PHP: The Right Way с сильным уклоном в безопасность, а не общие вопросы программирования на PHP (вроде стиля кода).
Part 1. http://telegra.ph/Rukovodstvo-po-napisaniyu-zashchishchyonnyh-PHP-prilozhenij-v-2018-m-Part-1-12-18
Это руководство — дополнение к электронной книге PHP: The Right Way с сильным уклоном в безопасность, а не общие вопросы программирования на PHP (вроде стиля кода).
Part 1. http://telegra.ph/Rukovodstvo-po-napisaniyu-zashchishchyonnyh-PHP-prilozhenij-v-2018-m-Part-1-12-18
Part 2.
http://telegra.ph/Rukovodstvo-po-napisaniyu-zashchishchyonnyh-PHP-prilozhenij-v-2018-m-Part-2-12-18
http://telegra.ph/Rukovodstvo-po-napisaniyu-zashchishchyonnyh-PHP-prilozhenij-v-2018-m-Part-2-12-18
Telegraph
Руководство по написанию защищённых PHP-приложений в 2018-м. Part 2
Содержание Межсайтовая подделка запросов (CSRF) XML-атаки (XXE, XPath-внедрения) Десериализация и внедрение PHP-объектов Хеширование паролей Криптография общего назначения Особые случаи Шифрование с возможностью поиска Аутентификация на основе токенов без…
Поговорим немного о работе с большими файлами в php: http://telegra.ph/Kak-prochitat-bolshoj-fajl-sredstvami-PHP-ne-grohnuv-pri-ehtom-servak-12-19