Pull to refresh
3
0
Send message

Доступен PhpStorm 2018.3

Reading time5 min
Views19K


Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.

Обзор релиза можно посмотреть на странице “What’s new”. Скачать новую версию можно там же или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также студенты и разработчики проектов с открытым исходным кодом.

Под катом обзор основных нововведений. (Осторожно, много картинок)
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments116

Конференция DEFCON 21. DNS может быть опасен для вашего здоровья. Часть 2

Reading time11 min
Views7.3K
Конференция DEFCON 21. DNS может быть опасен для вашего здоровья. Часть 1

При этом предполагалось, что границы домена организации – это foo.com и вы никогда не захотите использовать www.com. Microsoft изменила это поведение DNS, потому что, очевидно, не все организации имеют два уровня для доменных имён.



Если ваш домен верхнего уровня – Великобритания, то при соединении с конкретным доменом ad.foo.co.uk поведение DNS по умолчанию будет выглядеть так:



То есть запрос будет отсылаться за границы вашего доменного имени на www.co.uk. Поэтому был создан случайный хотфикс, исправление безопасности, сужающее организационные границы домена до 3-х, и в этом случае деволюция DNS останавливалась после второго запроса www.foo.co.uk.
Total votes 29: ↑26 and ↓3+23
Comments3

Запуск просмотрщика картинок из Windows XP на современных Windows

Reading time2 min
Views37K
Есть у меня папка со старыми картинками, которые я собирал в нулевых. Переношу с компьютера на компьютер вместе со всеми моими файлами при каждом апгрейде, изредка захожу поностальгировать. Но каждый раз меня немного смущало то, что стандартный просмотрщик Windows 7 не показывал GIF-анимацию, хотя память мне подсказывала, что во времена XP анимация показывалась без проблем. При очередном приступе ностальгии я всё же решил запустить просмотрщик из XP на Windows 7. После преодоления ряда препятствий, я теперь уверен — GIF-анимация там действительно поддерживалась! А главное — теперь я могу смотреть свою старую папку с картинками в аутентичном интерфейсе просмотрщика картинок Windows XP, что создаёт более подходящую атмосферу =)


Скачать: shimgvw_xp32.7z (включает бинарник и исходный код лаунчера, плюс shimgvw.dll из англоязычной Windows XP SP3).

Читать дальше →
Total votes 85: ↑84 and ↓1+83
Comments130

Transfer Learning: как быстро обучить нейросеть на своих данных

Reading time11 min
Views49K
Машинное обучение становится доступнее, появляется больше возможностей применять эту технологию, используя «готовые компоненты». Например, Transfer Learning позволяет использовать накопленный при решении одной задачи опыт для решения другой, аналогичной проблемы. Нейросеть сначала обучается на большом объеме данных, затем — на целевом наборе.

Food recognition

В этой статье я расскажу, как использовать метод Transfer Learning на примере распознавания изображений с едой. Про другие инструменты машинного обучения я расскажу на воркшопе «Machine Learning и нейросети для разработчиков».
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments8

Получение ссылок на аудио без VKApi

Reading time3 min
Views43K
Данная страница будет полезной для тех, кто решил взять заказ на парсер аудио-треков VK и резко понял, что ничего не понял.

В чем проблема


Знакомо?

https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu

Если да — то вы пытались парсить мобильную версию сайта и успешно доставали ссылки. Неверные ссылки. Ссылки на 25-секундный голос, сообщающий что все идет не по плану.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments41

Написание собственной работоспособной ОС за полгода

Reading time4 min
Views89K
image

Предыстория


Здравствуйте! Всех категорически приветствую, сегодня хотел бы рассказать Вам о своём опыте написание работоспособной ОС под архитектуру x86.

Как-то весенней ночью у меня родилась гениальная идея — попробовать себя в написании собственной ОС, которая может позволить запускать программы, работать с устройствами, да и в общем выжимать всю мощь из Intel'овской архитектуры в своих нуждах: к примеру, для своей фабрики или чего-либо иного. Моей целью было и есть написание такой ОС, которая могла бы позволить максимальную производительность для каких-то конкретных задач, не тратя процессорное время на всяческие излишества. В основном я преследую лишь спортивный интерес, получение опыта для себя в системном программировании и написания драйверов для устройств, которые используются повсеместно. Что из этого вышло — решать вам, сразу говорю, что не надо писать комментарии про создание собственного дистрибутива линукса, и преследовал интерес написать всё «From scratch» — с нуля, дабы хорошо погрузиться в тему ОСдева. Сразу хочу выразить огромную благодарность Бенджамину Лунту и форуму OSDev, так же как их Вики. Бен помог мне разобраться с EHCI, что несомненно внесло огромный вклад в мою ОС — USB устройства, они везде! Так же передо мной стояла задача создать собственную архитектуру, удобную мне, не исключая использование стандартов ELF-файлов.
Читать дальше →
Total votes 196: ↑187 and ↓9+178
Comments207

Дорогая, мы убиваем бесплатный текстовый контент

Reading time4 min
Views56K


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

Три-четыре года назад я постоянно закусывался в комментариях на тогда еще существовавшем GT с сектантами адблока, которые с гордостью вещали «я блочу все, что могу. Ибо нефиг!». Вещали они это громко, с выражением (которое было видно даже в печатном тексте), а таких как я, осторожно спрашивающих «А как будет жить журналистика без рекламодателей?», клеймили «продажными корпоративщиками» и отвечали, что мол-де «качественный контент всегда выплывет на любви аудитории».

Так вот немного поразмыслив сегодня утром над ситуацией, я осознал, что тот жуткий день, наступление которого я ждал еще с 2013-2014 годов, настал: мы, пользователи, убили бесплатный доступ к качественному контенту. Своими собственными руками. И все стремится к тому, что мы вовсе «пристрелим» концепцию бесплатного интернета. Пост будет небольшим, пятничным и посвященным исключительно тому, что мы натворили. С открытой концовкой, само собой.
Читать дальше →
Total votes 148: ↑91 and ↓57+34
Comments661

Вычисляем по IP: как бороться со спамом в социальной сети

Reading time19 min
Views40K
Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.


О спикере: Михаил Овчинников работает в Badoo и последние пять лет занимается антиспамом.

В Badoo зарегистрировано 390 миллионов пользователей (данные на октябрь 2017). Если сравнивать размер аудитории сервиса с населением России, то можно сказать, что в нашей стране по статистике каждых 100 млн человек охраняет 500 тысяч полицейских, а в Badoo каждые 100 млн пользователей защищает от спама всего один сотрудник Антиспама. Но даже такое небольшое количество программистов способно защитить пользователей от разных неприятностей в интернете.
Total votes 76: ↑72 and ↓4+68
Comments50

Взрывающие телефон

Reading time15 min
Views27K

Bob Gudgel, Jay Dee Pritchard, и John “Captain Crunch” Draper с bluebox,используемом для обмана телефонной системы для совершения бесплатных звонков, во время поездки в Duvall, Washington, 1971. Фото Bob Gudgel


Нерассказанные истории о подростках и хакерах которые взламывали Ma Bell


Когда компьютеры были большими, а деревья маленькими, до всех этих смартфонов, iPad’ов и планшетов, до времен Интернета или персональных компьютеров, группа технофилов, подростков, хиппи и преступников выяснила, как взломать самую большую в мире машину: телефонную систему.


Ниже приводится перевод отрывка из книги «Exploding the Phone», написанной Филом Лапсли (Phil Lapsley), в которой рассказывается история «телефонных фриков».


На заглавном фото: Bob Gudgel, Jay Dee Pritchard, и John “Captain Crunch” Draper с bluebox, используемом для обмана телефонной системы для совершения бесплатных звонков, во время поездки в Duvall, Washington, 1971. Фото Bob Gudgel.

Читать дальше →
Total votes 59: ↑45 and ↓14+31
Comments47

Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)

Reading time5 min
Views104K

Вместо вступления


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


Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments177

Прощай, объектно-ориентированное программирование

Reading time8 min
Views105K


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

Я не мог ошибаться сильнее.
Читать дальше →
Total votes 225: ↑118 and ↓107+11
Comments329

Поле загрузки файлов, которое мы заслужили

Reading time10 min
Views124K
Все течет, все меняется, но только input[type=file] как портил нервы всем начинающим веб-разработчикам, так и продолжает это делать до сих пор. Вспомните себя N лет назад, когда вы только начинали постигать азы создания веб-сайтов. Молодой и неопытный, вы искренне удивлялись, когда кнопка выбора файла напрочь отказывалась менять цвет своего фона на ваш любимый персиковый. Именно в тот момент вы впервые столкнулись с этим несокрушимым айсбергом под названием «Загрузка файлов», который и по сей день продолжает «топить» начинающих веб-разработчиков.

На примере создания поля для загрузки файлов я покажу вам, как правильно прятать input[type=file], настраивать фокус на объекте, у которого фокуса быть не может, обрабатывать события Drag-and-Drop и отправлять файлы через AJAX. А также я познакомлю вас с парой браузерных багов и путями их обхода. Статья написана для новичков, но в некоторых моментах может быть полезна и занимательна даже для матерых разработчиков.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments19

Балансировка трафика между Web-серверами при помощи IP CEF на сетевом оборудовании

Reading time3 min
Views6.7K
Была поставлена задача о реализации отказоустойчивого решения для двух веб-серверов и, при возможности, реализация распределения нагрузки между веб-серверами, так как иногда одна база данных не справлялась со всеми запросами. Покупать специальное оборудование не было возможности, в связи с чем была придумана следующая схема. Возможно, идея неоригинальная, но в интернете ничего подобного не нашел. Топология у нас такая:

My Image
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments32

Облысение: Теория и практика лечения, ч.2 «Даже у простаты есть гланды, простагландины»

Reading time5 min
Views25K

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


image

Использование простагландинов, либо препаратов их блокирующих, является довольно новой (и экспериментальной) формой лечения в борьбе с облысением, которая может стать как альтернативой для миноксидил-финастерид терапии так и дополнении к ней.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments32

Downclocking оперативной памяти на MacBook

Reading time7 min
Views40K
Хочу поделиться своим опытом апгрейда своего MacBook6,1 A1342 (увеличение памяти до 8Гб, установка SSD) и решении ряда проблем связанных с установкой системы на новый диск и борьба с глюками несовместимости RAM.

Сначала может показаться, что апгрейд старого железа тривиальная задача: в интернете должно быть полно статей на эту тему, а на рынке куча дешевых запчастей для него. Но не все так просто на практике. Проблемы начались еще в магазине на этапе подбора комплектующих
Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments46

Чем Figma лучше Photoshop для разработки веб-интерфейсов

Reading time5 min
Views65K


Огромное количество дизайнеров во всем мире в качестве инструмента для разработки веб-интерфейсов использует Adobe Photoshop. В этом нет ничего удивительного — Photoshop способен справиться практически с любой задачей, которая имеет отношение к графике.

Но как и все комбайны, инструмент от Adobe в некоторых случаях уж слишком неповоротлив и сложен. При решении специфических задач, включая разработку веб-интерфейсов, можно попробовать и другие инструменты. Среди прочих можно назвать Sketch, Adobe XD и Figma. Сейчас предлагаем поговорить как раз о последнем, остальные обсудим в следующих публикациях.
Читать дальше →
Total votes 48: ↑39 and ↓9+30
Comments36

Вы все еще храните 404backup.zip на сервере? Я на 200ДА

Reading time2 min
Views42K
Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга.

В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403.

Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404.
Читать дальше →
Total votes 137: ↑125 and ↓12+113
Comments79

Кто сканирует Интернет и существует ли Австралия

Reading time4 min
Views58K
Любой, кто поднимал сайты знает, что стоит запустить веб-сервер, как на него начинают приходить запросы. Еще и DNS про него толком не знает, а в лог-файле ошибок httpd уже полно записей вроде таких:

image

Вот мне стало интересно, и я решил изучить этот вопрос поглубже. Как только появилось время, я написал парсер логов веб-сервера. Поскольку люблю наглядность, результаты поместил на карту.
И вот какая картина получилась:
Читать дальше →
Total votes 63: ↑55 and ↓8+47
Comments156

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time7 min
Views702K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Total votes 212: ↑212 and ↓0+212
Comments352

Управляем браузером с помощью PHP и Selenium

Reading time8 min
Views16K

Интро


Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium.

Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер.

С Википедии
«Selenium — это инструмент для автоматизации действий веб-браузера.
В большинстве случаев используется для тестирования Web-приложений, но этим не
ограничивается. В частности, реализация Selenium WebDriver для браузера phantomjs
часто используется как веб-граббер.»


Мы рассмотрим следующие нюансы:

  • Использование Behat/Mink для соединения с Selenium
  • Запуск Selenium в docker, и удаленный доступ по VNC
  • Расширим функционал Behat с помощью Extension Feature
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Information

Rating
Does not participate
Registered
Activity