Pull to refresh
18
0
Максим @GenkaOk

Разработчик

Send message

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

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

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

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

Reading time3 min
Views34K

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

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

Reading time4 min
Views135K


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

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

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

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

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>';

Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments8

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

Reading time4 min
Views38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


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

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




Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments9

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

Reading time5 min
Views355K


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

Подробности
Total votes 548: ↑542 and ↓6+536
Comments364

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

Reading time7 min
Views163K


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

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

Reading time3 min
Views45K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

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 обычный форум, но современный веб-разработчик просто не в состоянии сделать по старому и поэтому это совершенно новый продукт, где присутствуют веяния всех этих сегодняшних тенденций. Простой в использовании и кастомизации, очень гибкий и модульный, адаптивный для различных типов устройств.
Еще несколько скринов




Читать дальше →
Total votes 98: ↑95 and ↓3+92
Comments6

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

Reading time2 min
Views83K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Total votes 290: ↑280 and ↓10+270
Comments94

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

Reading time10 min
Views124K
Привет Хабр!

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

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

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

Reading time3 min
Views39K

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

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

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

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

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

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

Reading time9 min
Views185K
Всем привет. Недавно появилась необходимость поднятие 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.

Далее
Total votes 159: ↑119 and ↓40+79
Comments95

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

Reading time3 min
Views90K
Любите программировать? Тогда и не мечтайте о должности CEO, если только не начнете свой бизнес, и даже в этом случае, менеджмент, скорее всего, вытеснит кодинг из вашей жизни.

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

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

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

Reading time8 min
Views64K
Яндекс.Почта теперь умеет обмениваться письмами с другими почтовыми системами по 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%.
Читать дальше →
Total votes 107: ↑99 and ↓8+91
Comments81

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

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



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

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

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

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

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

Reading time1 min
Views40K
Привет!

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

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

Reading time3 min
Views20K
Уровень подготовки веб-мастера: средний или высокий

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

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

Reading time26 min
Views216K


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

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

Reading time3 min
Views24K

src

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

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

Information

Rating
Does not participate
Location
Йошкар-Ола, Марий Эл, Россия
Date of birth
Registered
Activity