Search
Write a publication
Pull to refresh
84
0
Брюхов Дмитрий @globik

User

Send message

Несколько советов для PHP-разработчиков

Reading time4 min
Views8K
image Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
Читать дальше →

40 советов по оптимизации вашего PHP-кода

Reading time4 min
Views57K
Всем доброго времени суток.

Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.

  1. Если метод может быть статическим, объявляйте его статическим.
  2. echo быстрее, чем print.
  3. Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
  4. Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
  5. Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
  6. Остерегайтесь магических методов, таких как __set, __get, __autoload.
  7. require_once дорого обходится.
  8. Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
  9. Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
  10. Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.

Читать дальше →

Не строим с нуля. Теперь у Вас есть шаблон для верстки HTML5

Reading time2 min
Views17K
Любовь к HTML5 продолжает вдохновлять Поля Айриша. Во-первых, он подарил нам Modernizr, а сейчас он объединился с Divya Manian для создания шаблона HTML5, который использует передовые техники, чтобы Вы могли начать использовать его в своей практике.

Он, в сущности, является хорошей отправной точкой, состоящей из HTML и CSS, предлагающим также и структуру папок, которая работает. Но созданным с учётом многих лет передового опыта профессионалов в разработке клиентской части. Загляните в исходные тексты, чтобы почувствовать, что находится внутри. А если вы думаете, что этого слишком много, просто удалите лишнее.
Читать дальше →

jQuery плагин для добавления ссылок в буфер обмена

Reading time3 min
Views19K
У многих из нас есть блоги, интернет-магазины, новостные сайты etc… Понятное дело стараемся опубликовывать оригинальный контент, но что же происходит после появления контента в интернетах, его конечно же просматривают и если он интересный, пользователи иногда обмениваются ссылкой на страничку с контентом. Новые переходы на нужную страницу и нам очень хорошо, а что если наш отличный текст просто взяли скопировали и скинули в аську\скайпик\почту — наш текст ушел, а перехода нету :(.

addtocopy plugin

Запретить копирование, это очень неправильно, весело и смешно ©, но мы ведь можем при копировании добавить в буфер обмена ссылку на наш сайтик. Рассмотрим как же нам это лучше сделать:

Читать дальше →

Удалённая переустановка linux на примере Debian

Reading time7 min
Views24K
Существует множество фичей упрощающих жизнь системному администратору. Различные системы удаленного управления позволяют установить ОС на девственно-чистый сервер и сегодня это совсем не проблема. Даже наличие второго винчестера превращает проблему переустановки операционки в банальность. Поэтому в этой статье рассмотрим самый суровый из случаев: пусть на сервере имеется только один полностью разбитый винчестер, а наша задача — удалённо переустановить ОС.

Удивлённо поднимем брови, умиляясь тому, как гибка наша любимая операционка, засучим рукава и приступим к делу.

Читать дальше →

Самые глупые вещи, которые я сделал будучи программистом

Reading time2 min
Views8.7K
Оригинальное название статьи: «The * stupidest things I’ve done in my programming job», поэтому перевод названия статьи не очень точен, однако то, что автор имел ввиду под "*" мы опустим — мы ведь не знаем наверняка :)

Я больше не стыжусь своих грешков, так что — вперед:

1. ORM


Глупость

Создал собственную ORM (Object Relational Mapping) библиотеку

Следствие

Неразбериха в проекте после двух лет поддержки, в следствие хаков-обходов моей ORM библиотеки для запуска прямых SQL запросов

Что я должен был сделать

Использовать Hibernate, iBATIS, Cayenne или нечто подобное.

Читать дальше →

Отправляем SMS.ru с удобством

Reading time7 min
Views7.3K
Было дело, проскакивала на хабре статься о сервисе sms.ru
Попробовал, работает. Понравилось. Тогда на этом дело и закончилось.
Но вот недавно потребовалось мне сделать отправку SMS подписавшимся клиентам. API на сайте сервиса хорошо документирован и приведены примеры, но не хватает удобства использования. В результате написал небольшой класс для взаимодействия с sms.ru.

Читать дальше →

Амперка — магазин Arduino

Reading time1 min
Views8.3K
image
Многие на Хабре знают, что такое Arduino. Собственно, ему посвящён отдельный блог. Некоторые даже успели возненавидеть его за то, что для любой примитивной штуковины мигающей лампочками вместо пары транзисторов за пять копеек, народ за основу берёт эту платформу.

Не буду рассуждать на эту тему. Скажу лишь, что некоторое время назад меня так же заинтересовала эта игрушка. Однако когда я решил приобрести себе такую, стало понятно, что это не тривиально. Лучшее, что предлагалось в российских магазинах на тот момент — реплика оригинального Ардуино, с 100% предоплатой, с доставкой Почтой России. Да и ассортимент аксессуаров сильно отставал от европейских. Поэтому в итоге я сделал заказ в немецком магазине с доставкой через UPS. Переплата за доставку была ощутимой.

Я поэкспериментировал с платформой, понял, что это на самом деле — крутотень. Показал друзьям — они одобрили. Вспомнил про интерес, любовь и ненависть на Хабре и подумал: «А почему бы не попробовать продавать их в России? Ну или в Москве для начала».
Читать дальше →

Неправильные деньги. История одного стартапа — часть III

Reading time4 min
Views15K
История TheCommentor - неправильные деньги После длинного затишья мы продолжаем наш цикл статей посвященных созданию стартапа. В этой, третей по счету, части мы расскажем как мы за месяц получили финансирование нашего проекта и как и почему мы через 4 месяца его потеряли.

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

Для тех, кто не читал предыдущие части: I часть про идеи и II часть про пилот
А теперь подробнее ....

Наводим порядок после PhotoRec

Reading time3 min
Views17K
Многим известна бесплатная (Open Source) утилита PhotoRec, которая позволяет восстанавливать файлы с разных типов носителей, даже если файловая система этих носителей серьезна повреждена или даже отформатирована. На Хабре уже был топик (автор: eeexception) о том, как пользоваться этой утилитой для восстановления фотографий с карты памяти фотоаппарата после форматирования. Уже один этот случай говорит о том, что утилита серьезная несмотря на свою бесплатность. А если еще учесть то, что программа кроссплатформенная — ей просто нет цены.
image

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

Идея – лишь множитель при реализации

Reading time1 min
Views3.5K
Смешно слышать, как кто-то так сильно пытается защитить идеи (например, те, кто хочет, чтобы я подписал соглашение о неразглашении, когда делятся со мной простейшей идеей).

Я думаю, идеи ничего не стоят без реализации. Они – всего лишь множитель. Реализация стоит миллионов.

Объяснение:

Ужасная идея = -1
Слабая идея = 1
Идея ничего = 5
Хорошая идея = 10
Отличная идея = 15
Гениальная идея = 20

Без реализации = $1
Слабая реализация = $1000
Реализация так себе = $10 000
Хорошая реализация = $100 000
Отличная реализация = $1 000 000
Гениальная реализация = $10 000 000

Чтобы оценить компанию, нужно умножить одно на другое.

Гениальнейшая идея без реализации стоит $20.

Гениальнейшая идея с отличным исполнением стоит $20 000 000.

Поэтому я не хочу слышать идеи.

Мне неинтересно, пока не увижу реализацию.

Об авторе. Дерек Сиверс (Derek Sivers) — бизнесмен, основатель CD Baby.

Ещё 10 уловок для защиты Wordpress'a

Reading time6 min
Views67K

На сегодняшний день Wordpress как никогда популярен. Блоги, мини-сайты, а то и целые порталы — всё это строится на основе такого удобного движка-конструктора как Wordpress. Но за удобностью и лёгкостью освоения кроются, прежде всего, вопросы, связанные с безопасностью вашего сайта. Большая распространённость — большее внимание злоумышленников.

В этой статье описаны десять простых уловок, которые позволят сделать ваш сайт на Wordpress’e ещё более защищённым и позволят спокойнее спать по ночам.
Читать дальше →

Yii 1.1.3

Reading time4 min
Views5.1K
Yii framework

Фреймворк Yii продолжает активнейшим образом развиваться, и вот появилась новая версия 1.1.3. Что это вообще за фреймворк, и с чем его едят — читать здесь, а кто в курсе — ознакомляются со списком нововведений.
Читать дальше →

Генерация web-шрифтов

Reading time1 min
Views5.3K
Ради интереса, прошелся поиском по хабру, и обнаружил, что тут не освещен один очень полезный сервис: http://www.fontsquirrel.com
Пожалуй, это самый удобный сервис такого рода, создающий на выходе html-страницу с подключенными шрифтами в разных форматах, готовыми font-face в css и демо-текстом.
При этом есть масса настроек по кастомизации шрифтов во время конвертирования.
В частности, можно уменьшить их вес, убрав часть символов или оптимизировав кривые. Так же он умеет хинтовать шрифты и кодировать их в base64. В общем, есть всевозможные плюшки.

Снова про формы: значения по умолчанию

Reading time3 min
Views11K
jQuery дает практически безграничные возможности по обогащению пользовательского интерфейса, а самое интересное зачастую связано с элементами управления на страницах, в частности с формами.

Современные интерфейсы часто стремятся к минимализму. При изяществе дизайна, вэб-технологи стремятся к изяществу решений, принимаемых в процессе реализации. Я часто занимаюсь разработкой интерфейсов, версткой и клиентским программированием — и постоянно ищу новые решения для старых задач.

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

Читать дальше →

Your Personal DNS — еще немного о DNS хостинге

Reading time2 min
Views2.2K
Как уже не раз говорилось, в вопросе хостинга DNS есть ненулевое количество нюансов.
Часть из них, под девизом «мой провайдер предоставляет DNS сервера», описаны например вот тут:
http://habrahabr.ru/blogs/hosting/94496/
http://habrahabr.ru/blogs/hosting/90533/

Помимо оного существует еще ненулевое количество других вопросов. Начиная от фразы «Какие еще TXT записи? Какой еще sip?» и заканчивая «А сегмент сети, в котором наши DNS сервера из вашей %%%%%% не доступен. Нам очень жаль»

Мы думали, думали и решили, что наш лунный модуль будет, ну, как минимум, не хуже существующих.
А тут еще и EveryDNS продали.
Вообщем, если вкратце — то еще одним публичным и бесплатным DNS менеджером прибыло.

Читать дальше →

Общий обзор стандартных средств наблюдений за системой

Reading time5 min
Views17K
Уровень сложности: начальный

Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
Читать дальше →

Домашний linux сервер своими руками

Reading time5 min
Views192K
Хочется поделиться с хабросооществом информацией о том как я собирал домашний сервер.

image

Из софта на домашнем сервере будет «крутиться» следующий набор:
  • torrent клиент с web-мордой
  • DHCP — раздаем ip адреса и сетевые настройки
  • TFTP — для сетевой загрузки
  • OpenVPN — для хождения в сеть с нетбука из недоверенных сетей
  • FTP/Samba/NFS — сетевые шары для доступа с домашних машин
  • Radius — для WPA2 авторизации
  • DigiTemp — мониторинг домашней температуры

Читать дальше →

Information

Rating
Does not participate
Location
Свердловская обл., Россия
Date of birth
Registered
Activity