Как стать автором
Обновить
18
0
Максим @GenkaOk

Разработчик

Отправить сообщение

Как использовать API сайта, у которого нет API?

Время на прочтение4 мин
Количество просмотров80K
У меня достаточно часто появляется задача получить данные от стороннего сайта, при этом далеко не всегда этот сайт предоставляет возможность удобно получить эти данные через API. Единственное решение в таком случае — парсить html содержимое страниц. Когда-то я писал регэкспы, потом появились библиотеки, позволяющие получить нужное содержимое по css-селектору, а сейчас и это кажется сложной задачей, которую хотелось бы упростить.

Сегодня я хочу рассказать вам о моей небольшой библиотеке, позволяющей описать в API-стиле http-запросы и парсить ответ сервера в нужный вам формат.
Читать дальше →
Всего голосов 115: ↑105 и ↓10+95
Комментарии40

Халява приди!

Время на прочтение3 мин
Количество просмотров34K

Халява — студенческая богиня, к которой студенты взывают накануне экзамена, вместо подготовки к нему. Но несмотря на то, что сессия далеко, её величество халява может дать знать о себе даже сейчас и принести пользу. И речь в данном случае о инструментах доступных студентам бесплатно.
Читать дальше →
Всего голосов 30: ↑17 и ↓13+4
Комментарии11

Теория относительности в реальном мире: GPS

Время на прочтение4 мин
Количество просмотров134K


Люди часто спрашивают меня: «Чем же так хороша теория относительности?». Обычно о ней думают как о некой абстрактной, мистической математической теории, никак не связанной с повседневной жизнью. На самом деле, это совсем не так.
Читать дальше →
Всего голосов 168: ↑155 и ↓13+142
Комментарии162

Малоизвестные функции в WordPress

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

Дабы уменьшить количество расстройств, я решил описать несколько малоизвестных, но весьма полезных функций:

make_clickable
Находит в тексте ссылки и делает их кликабельными.
Пример:
$string = "This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .";
echo make_clickable( $string ); 


popuplinks
Добавляет target='_blank' rel='external' всем ссылкам в тексте.
Пример:
$string = "This is a long text that contains some links like <a href='http://www.wordpress.org'>http://www.wordpress.org</a> and <a href='http://www.wordpress.com'>http://www.wordpress.com</a> .";
echo popuplinks( $string ); 


wp_list_pluck
Достает определенные поля из коллекции.
Пример:
$posts = get_posts();
$ids = wp_list_pluck( $posts, 'ID' ); // [1, 2, 3, ...]


antispambot
Преобразовывает адреса электронной почты в символы HTML, для защиты от спам-ботов.
Пример:
$email = 'example@email.com';
echo '<a href="mailto:' . antispambot( $email ) . '">' . antispambot( $email ) . '</a>';

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии8

Несколько интересностей и полезностей для веб-разработчика #22

Время на прочтение4 мин
Количество просмотров38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


В прошедшие несколько недель мне регулярно попадались Awesome-* проекты, о которых я упоминал в последних подборках. Началось все с Awesome-PHP, потом появились «живые списки» полезностей для сисадминов и питонистов. Все заметили положительную тенденцию и как по желанию это переросло в целый тренд. Сейчас есть коллекции инструментов для языков Ruby, Go, NodeJS, JavaScript, Java, Scala, Bash и др. Уже даже существуют подобные наборы для целых направлениям в ИТ, к примеру Big Data. Awesome Awesomeness — это живой список живых списков всего самого необходимого для разработчика из той или иной сферы.

Breach — полноценный браузер на JavaScript




Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии9

Банкомат. Некоторые особенности

Время на прочтение5 мин
Количество просмотров354K


Никого из нас не удивить банкоматом (АТМ). Даже люди старшего поколения мало-помалу привыкли к этому устройству и свою пенсию в состоянии как-то снять. Однако кроме всего прочего — банкомат – это крайне занятная штука с технической и организационной точки зрения. Даже сотрудники банковских учреждений (в т.ч. и связанных с платежными картами) не всегда представляют себе тонкости его работы. В прошлой жизни я достаточно много лет был связан с платежными картами и обслуживанием банкоматов. Мне доводилось и отогревать его феном и выковыривать оттуда по кусочкам мышь кровь кишки, застрявшую в обнимку с купюрами. Даже спалил один из подконтрольных банкоматов. Дважды. Поэтому поделюсь некоторыми, на мой взгляд, интересными техническими нюансами в работе АТМ.

Подробности
Всего голосов 548: ↑542 и ↓6+536
Комментарии364

Карточные игры

Время на прочтение7 мин
Количество просмотров163K


Раз предыдущая статья про банкомат вызвала определённый интерес — то продолжаем банковскую тему. «Пластиковая карта» — обывательское название банковской платежной карты (БПК). Вещь в хозяйстве крайне полезная — ведь её можно прекрасно использовать чтобы ровнять дорожку вырезать из неё отличный медиатор для электрогитары. Но — шутки в сторону — любопытная конкретика…
Читать дальше →
Всего голосов 286: ↑282 и ↓4+278
Комментарии429

Несколько интересностей и полезностей для веб-разработчика #20

Время на прочтение3 мин
Количество просмотров45K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Sysadmin


Мега популярный репозиторий на GitHub, который за несколько дней собрал более 4000 звезд. Это огромной живой список всех самых полезных инструментов с открытым исходным кодом для сисадмина по категориям: Backups, Cloning, Cloud Computing, Cloud Orchestration, Cloud Storage, Collaborative Software, Distributed Filesystems, DNS, VPN и др. Автор проекта упомянул также Awesome PHP, по образу и подобию которого он опубликовал свой список.

NodeBB



Многие уже из названия поняли, что это форум-движок на NodeJS и на самом деле это очень крутой проект. Я бы даже сказал, что это в какой то мере переосмысление сложившегося представления о форумах. Ну сколько уже времени прошло с тех пор… Сколько социальных сетей появилось и «социальности» в целом, сколько рассуждений о дизайне с интуитивно понятным UI и продуманным UX, сколько стремления разработчиков превратить веб в «среду для приложений», где все быстро и асинхронно словно нативный софт.

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




Читать дальше →
Всего голосов 98: ↑95 и ↓3+92
Комментарии6

pv — маленькая, но очень полезная утилита

Время на прочтение2 мин
Количество просмотров82K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Всего голосов 290: ↑280 и ↓10+270
Комментарии94

HTML по стандартам

Время на прочтение10 мин
Количество просмотров124K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →
Всего голосов 190: ↑167 и ↓23+144
Комментарии49

Решаем проблему грамотности в интернете с помощью Яндекс.Спеллера

Время на прочтение3 мин
Количество просмотров38K

«Если человек умер, он об этом не знает, только другим тяжело. То же самое, когда он тупой...»

И то же самое, когда он безграмотный.

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

А что, если подойти к этой проблеме с другой стороны? Как было бы здорово иметь такой браузер, который при открытии страницы проверял бы текст и исправлял все ошибки. Или хотя бы часть. Ведь, по правде говоря, ошибки воспринимаются по-разному: забытая запятая скорее всего останется незамеченной, в то время как какие-нибудь «извени» или «правельно» вызывают кратковременное бешенство.

Что будет, если перед чтением страницы пропустить ее через фильтр и исправить орфографию, наподобие того как adblock режет рекламу?
Читать дальше →
Всего голосов 78: ↑68 и ↓10+58
Комментарии44

Прокачка debian/ubuntu сервера для маленьких

Время на прочтение9 мин
Количество просмотров184K
Всем привет. Недавно появилась необходимость поднятие VPS на debian 7 за скромные деньги.
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.


Выбор пал на https://account.nt-vps.ru/register/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.

В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
64 битная сиcтема была выбрана лишь для моих личных нужд, а вам же советую, на этом VPS, ставить x86.

Далее
Всего голосов 159: ↑119 и ↓40+79
Комментарии95

Программирование — карьерный тупик?

Время на прочтение3 мин
Количество просмотров90K
Любите программировать? Тогда и не мечтайте о должности CEO, если только не начнете свой бизнес, и даже в этом случае, менеджмент, скорее всего, вытеснит кодинг из вашей жизни.

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

Если же вы решите переметнуться в менеджеры, то все дороги для вас открыты. Бывший CEO компании в которой я работаю, начинал как программист 25 лет назад, через 10 лет переключился в менеджмент, и прошел весь путь, до CEO четырех-миллиардной компании. Не так давно, он ушел на пенсию, имея особняк, машины и не имея никаких беспокойств. Тем временем, я работаю с людьми, которые начинали с ним, и которые до сих пор просто ведущие инженеры по разработке программного обеспечения.
Читать дальше →
Всего голосов 190: ↑135 и ↓55+80
Комментарии122

Светлое будущее IPv6: когда уже наконец наступит новый мировой порядок

Время на прочтение8 мин
Количество просмотров64K
Яндекс.Почта теперь умеет обмениваться письмами с другими почтовыми системами по IPv6. Таким образом она становится второй в мире массовой почтовой системой, поддержавшей IPv6.

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



IPv4-адреса, которых было 4 миллиарда, уже закончились. Переход на IPv6 позволит вывести в онлайн 3.4×1038 устройств. А впереди у нас будущее, когда всё больше устройств у каждого человека будут подключены к интернету и когда в онлайн вслед за Европой и Америкой наконец выйдут все жители Азии и Африки. Поэтому всемирная сеть постепенно переходит на новый протокол связи, поддержка которого необходима любому сервису, который собирается работать в будущем в интернете.

От IPv4 к IPv6: история перехода


Как вы знаете, уже в сентябре 1981 года, когда Агентство передовых оборонных исследовательских проектов министерства обороны США опубликовало спецификацию IPv4, было понятно, что количество адресов конечно и равно 232. На первый взгляд число кажется большим. В 1995 году адресное пространство IP использовалось всего на 25%, но учёные и инженеры уже сформулировали и опубликовали первую спецификацию следующей версии базового протокола интернета, которую назвали IPv6. В новом протоколе заложили возможность использовать примерно 3.4 * 1038 (340 ундециллионов) адресов, что почти в 1029 (100 октиллионов) раз больше, чем в старой версии. В 2008 году адресное пространство IPv4 было заполнено уже на 86%.
Читать дальше →
Всего голосов 107: ↑99 и ↓8+91
Комментарии81

Редактор скриншотов в Яндекс.Диске

Время на прочтение1 мин
Количество просмотров26K
Сегодня в Яндекс.Диске для Windows и OS X появился редактор скриншотов. То, что многие раньше организовывали с помощью симлинков и скриптов, теперь работает из коробки. Не говоря об удобном и специально предназначенном для работы со скриншотами редакторе.



Сочетания клавиш для снятия скриншота остаются стандартные — Prnt Scrn на Windows и Cmd+Shift+4 на OS X. Вы сразу увидите лаконичный редактор с инструментами: набором стрелок и фигур разных цветов, маркером и инструментом размытия. Выделив важное, вы сможете в один клик сохранить свой скриншот на компьютер или получить короткую ссылку на него.
Читать дальше →
Всего голосов 74: ↑67 и ↓7+60
Комментарии49

Open-source проекты, которые мы проверили с помощью PVS-Studio

Время на прочтение3 мин
Количество просмотров22K
PVS-Studio and Open-Source
Подобная статья уже публиковалась на нашем сайте. Однако, количество проектов увеличивается, и, думаю, будет рационально раз в год обновлять список. Этим и займёмся.

Мы хорошо относимся к бесплатным open-source проектам. Мы стараемся уведомить авторов проектов о найденных недочётах и при необходимости предоставляем им на время лицензию.
Читать дальше →
Всего голосов 107: ↑81 и ↓26+55
Комментарии46

Wiki-FAQ для Хабрахабра

Время на прочтение1 мин
Количество просмотров39K
Привет!

Для сборника ответов на Часто Задаваемые Вопросы мы решили использовать идею wiki, поскольку, как нам кажется, нет смысла писать одному конкретному человеку FAQ для такого сайта, как Хабрахабр. Все равно останутся люди, у которых останутся вопросы.
Посему, обращаюсь к читателям группы со следующим вопросом: какой wiki-движок из доступных, по-вашему, идеально подходит для составления «коллективного» ЧАВО по сайту?
Всего голосов 1: ↑1 и ↓0+1
Комментарии69

Как улучшить мобильную версию сайта. Рекомендации и видеосоветы

Время на прочтение3 мин
Количество просмотров20K
Уровень подготовки веб-мастера: средний или высокий

Задумываетесь, как улучшить мобильную версию веб-сайта, и не знаете, с чего начать? Специально для вас мы подготовили список рекомендаций, которые помогут усовершенствовать ваш мобильный сайт. Часть рекомендаций мы сопроводили ссылками на известные примеры из практики и результаты исследований, а для некоторых даже сняли несколько видеосоветов (их можно смотреть с субтитрами на русском и ряде других языков). Эти советы и рекомендации помогут разобраться, как правильно интерпретировать данные из Google Analytics и Инструментов для веб-мастеров, чтобы улучшить мобильную версию вашего сайта.
Три шага к идеальному мобильному сайту
Всего голосов 17: ↑13 и ↓4+9
Комментарии3

Путешествия во времени и программирование 2: парадоксы

Время на прочтение26 мин
Количество просмотров216K


Эпоха путешествий во времени еще не наступила, а человечество уже давно пытается разрешить сопутствующие им парадоксы. Мы поговорим о самом очевидном из них: что же все-таки произойдет при вмешательстве в ход истории? Существует несколько вариантов того, как поток времени реагирует на действия путешественника из будущего. Эти модели можно увидеть в фантастических фильмах, о них все больше начинают говорить ученые, но какая модель ближе к истине — единого мнения пока нет. Мы только начинаем проникать в тайны времени, и еще не обладаем возможностью экспериментировать с перемещениями в прошлое. Что же можно прояснить в данном вопросе уже сейчас? Под катом нас ждет экскурсия по основам механики времени, мы порассуждаем о парадоксах, и проведем небольшой эксперимент. Да, это будет испытание виртуальной машины времени, построенной на основе алгоритма «Жизнь»!
Читать дальше →
Всего голосов 371: ↑351 и ↓20+331
Комментарии440

Поздравляем с Днём программиста!

Время на прочтение3 мин
Количество просмотров24K

src

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

Мы, программисты, чаще всего интроверты, потому что такой склад характера позволяет сконцентрироваться на интересной задаче, укрывшись в своём «пузыре» от внешних раздражителей.
Читать дальше →
Всего голосов 142: ↑110 и ↓32+78
Комментарии51

Информация

В рейтинге
Не участвует
Откуда
Йошкар-Ола, Марий Эл, Россия
Дата рождения
Зарегистрирован
Активность