Выбор движка БД. InnoDB vs MyISAM.
Вообще изначально SQL разрабатывался как записная книжка для компьютера, и использовался примерно так же. Но время идет, требования к хранению и обработке информации растут и то, что закладывалось в СУБД изначально уже не всегда соответствует текущим потребностям. Соответственно появляются новые инструменты и мы должны выбирать, что поставить под капот нашего приложения. История эта началась примерно в 2005 году, когда учитывая недостатки существующих СУБД был разработан движок InnoDB, а особенно когда его поддержку начал осуществлять MySQL. Революционным отличием InnoDB стало отношение к целостности данных. Этот движок начал поддерживать транзакции и внешние ключи, а так же блокировку на ...
Практическая кинология или вред/польза собачек.
Я с детства боюсь собак. Меня ребенком одна овчарка сильно куснула, до сих пор при виде пса холодок по спине.
Поэтому неписаное правило в PHP "собака - зло" я принял с энтузиазмом и всячески старался их избегать. Однако в жизни есть куча примеров, когда собаки приносят пользу. Поводыри, спасатели, следопыты, да и просто позитифф. Значит не нужно отрицательно относиться ко всем скопом. С недавнего времени я и в программировании пересмотрел для себя некоторые моменты кинологии. Все ли собаки "злые"? Всегда ли их нужно избегать? Давайте сначала разберемся, от чего программисты их так боятся. Две основополагающие ...
Информер валют
Тут взялся я привести в порядок информер валют и что-то увлекся... Не, я понимаю, что вряд ли кто-то решит поставить себе такой класс. Это я скорее писал для себя, потешить самолюбие, да и сео не навредит, может какая-нибудь заблудшая душа придет на наш сайт по запросу "хочу валюты".
Но в любом случае поделюсь решением. Может хотя бы частности пригодятся. Сначала я хотел расписать поэтапно, как такое безобразие может придти в воспаленный от бессонных ночей мозг. Но быстро понял, что формат блога не выдержит такого объема. А посему ограничусь комментариями в коде и лучше подробнее опишу, как с ...
Профессионализм в программировании. Хорошо ли это.
Нет, я не сошел с ума. 99% людей, прочитавших заголовок, примерно так сейчас обо мне и подумали. Разве может быть ответ другим - да!
Но не торопитесь. Давайте разберемся по порядку. Что есть профессионализм? Обратимся к кладези знаний - Википедии.
Профессионализм — особое свойство людей систематически, эффективно и надёжно выполнять сложную (профессиональную) деятельность в самых разнообразных условиях. При этом под профессиональной деятельностью понимается сложная деятельность, которая предстает перед человеком как конституированный способ выполнения чего-либо, имеющий нормативно установленный характер. Профессиональная деятельность является объективно сложной, поэтому она трудна для освоения, требует длительного периода теоретического и практического обучения.
Как говорится - ...
Exception VS trigger_error при дебаггинге.
Для начала давайте разберемся, что это за кракозяблы в заголовке. Exception (англ. исключение) - механизм перехвата ошибок, введенный в 5-й версии PHP. Своими словами можно объяснить так. Представьте школу, в ней класс, в классе ученики пишут контрольную. И вдруг один ученик начинает плохо себя вести: кривляется, пускает самолетики или вообще курит. Учитель берет его за ухо и ведет в кабинет директора. И директор решает, что с ним сделать. Пожурить и простить на первый раз, вызвать родителей или вообще выгнать из школы без права на восстановление. Тут школа - это программа, полностью приложение. Класс - ...
Пуд соли (рассуждения о криптографии)
В общем то это рассуждение не о самой криптографии, а о том, что люди часто ошибочно считают, что хорошо в ней разбираются. Но по сути это совершенно не так. Натолкнула меня на мысль написать такую статью вот эта публикация в википедии и жаркий спор на тему моей функции хэширования паролей с одним из авторов этой статьи. Я не претендую на роль гуру в ней, более того, я со всей ответственностью заявляю, что ничего по большому счету в криптографии не понимаю. Однако позволю себе некоторые рассуждения, касательные сохранности паролей пользователей на сайте, раз уж написал функцию хэширования. ...
Классификация заказчиков.
На самом деле я практически не беру одноразовых заказов на фрилансе. Как показала практика, адекватных заказчиков там ничтожно мало. Это объяснимо - заказать продукт в зарекомендовавшей себя конторе для них непосильно дорого, процедура сложна (техзадание, согласования и так далее), ответственность велика. То ли дело на фрилансе: разместил объявление и через 10 минут ты царь и Бог, у твоих ног куча дрожащих коленопреклоненных исполнителей, которые тянут к тебе руки в надежде на подачку. Можно вить из них веревки.
То, что рынок труда PHP программистов дискредитирован кучей голодных и неопытных студентов, готовых работать даже бесплатно за портфель и опыт, это ...
Иконки для сайта
Чего греха таить, всем хочется сделать свой сайт привлекательным и красивым, чтобы глаз не оторвать. Чего только не придумают пытливые умы дизайнеров. Вот и мы сейчас в этой статье покажем, как можно сделать красивые иконки для кнопочек, ссылок или просто пунктам списков или абзацев. Вот такие к примеру. Улетная вечеринка Наливaй! Отжигай! Музон Любовь Супер! Многие ошибочно полагают, что для этого нужно для каждого пункта вставлять свою картинку. Можно конечно, но не камильфо. Есть более продвинутый способ - загрузить все иконки одной картинкой, а потом выводить нужную с помощью CSS, ...
Функция хэширования паролей
Ни для кого не секрет, что нельзя держать пароль в базе в открытом виде. Это чревато неприятностями для пользователей (а бумерангом и для владельца ресурса), если вдруг база станет достоянием жулика. Дело в том, что многие ленятся или не надеются на свою память, и используют один и тот же пароль на разных ресурсах. И получается, что попав в руки к злоумышленнику, пароль для вашего ресурса становится ключом к другим: к аккаунтам в социальных сетях, к электронной почте, вебмани... Однако раз это такой лакомый кусок, то и простое хэширование не всегда помогает. Для получения исходного текста (или коллизии) применяется брутфорс, ...
Переход с mysql на mysqli
Свершилось!
Старый добрый драйвер mysql (не путать с СУБД MySQL) объявлен вне закона. Ну то есть deprecated Пока не совсем, но всё же. Ликуют поборники универсальных и тормознутых классов-велосипедов для работы с СУБД, наконец то они увидели пользу от своих монструозных поделок.
Да фиг с ними, пусть радуются. У нас возникла небольшая проблема и мы её сейчас решим. Решим без всяких "универсальных" велосипедов, во сто крат проще.
Что нужно, что бы перевести проект на mysqli Первым делом необходимо взвесить все за и против. Дело в том, что mysql будет жить на хостингах еще минимум лет 20. ...
Михаил