Как стать автором
Обновить
0
0
Boris P @AlexeyK

Пользователь

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

Vim по полной: Введение

Время на прочтение5 мин
Количество просмотров70K
Привет, хабраюзер!

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

В этой серии статей я решил поделиться собственными наработками и, возможно, показать, на что может быть способен этот редактор в руках программиста. Серия будет состоять из следующих частей:
  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

Хочется сразу заметить, что я не преследую цель «посадить как можно больше людей на иглу Vim», так как статья больше расчитана на опытных пользователей, нежели на новичков.

Готов? Вперед под кат!
Всего голосов 52: ↑49 и ↓3+46
Комментарии86

Как определить дубликаты картинок с помощью PHP

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



Потому рано или поздно встает вопрос автоматизации процесса поиска повторов, и тут мы рассмотрим основные, а также попробуем в деле.
Читать дальше →
Всего голосов 45: ↑37 и ↓8+29
Комментарии24

Расследование одного взлома или как быстро и просто потратить миллиард

Время на прочтение6 мин
Количество просмотров157K
UPDATE: Всем привет! Сегодня с удивлением узнал от коллег об этой записи. Выяснилось, что мой аккаунт взломали — представители Хабрахабра это подтвердили и восстановили мне доступ и сейчас разбираются, как так получилось. Но я оставляю эту запись как есть, для истории.
В комментариях уже отметились представители Яндекса: говорят, что уязвимость закрыта, ведётся аудит безопасности софта.

И, пользуясь случаем, хочу напомнить, что у нас в Badoo уже несколько лет идет программа "Проверь Badoo на прочность" и мы платим за найденные уязвимости.


Все вокруг постоянно рассуждают о коррупции. А я хочу рассказать Вам о случае, на коррупцию очень похожем, но в среде чистого IT-бизнеса, на государство никак не завязанного.

Описываемый далее случай интересен именно с точки зрения взлома бизнеса, хотя статья больше посвящена взлому в смысле IT.

Начну с нетехнической части.
Читать дальше →
Всего голосов 204: ↑188 и ↓16+172
Комментарии104

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

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

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Всего голосов 117: ↑114 и ↓3+111
Комментарии68

Как продеть слона через игольное ушко. Обработка максимальных объемов данных за минимальное время

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


Чего только ни услышишь от апологетов тех же Java или C# про разработку на C/C++! Якобы этот язык устарел и на нем никто не пишет. Вот только когда требуется создать no latency или low latency сервис или нужно сэкономить память и время выполнения узкого места обработки больших объемов данных, то тут же прибегают за помощью к «архаичным» разработчикам на C/C++. Просто потому, что эти ребята умеют вручную управлять памятью и прекрасно представляют, что за начинка у той или иной высокоуровневой операции. Сегодня наша задача — стать на шаг ближе к этим ребятам.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии27

Релиз FastNetMon 1.1.2 открытого решения для мониторинга DoS/DDoS атак

Время на прочтение3 мин
Количество просмотров27K
За прошедшие почти 10 месяцев с релиза 1.0.0 была очень большая работа по улучшению программы.

Из основных изменений стоит отметить следующие:
  • Возможность выявлять самые популярные виды атак: syn_flood, icmp_flood, udp_flood, ip_fragmentation_flood
  • Добавление поддержки протокола Netflow, поддерживаются 5, 9 и 10 (IPFIX) версии
  • Добавление поддержки протокола sFLOW v5, который поддерживается большинством современных сетевых коммутаторов
  • Добавлена поддержка использования netmap (поддерживаются Linux и FreeBSD, для Linux предоставляется специальная версия драйвера ixgbe: github.com/pavel-odintsov/ixgbe-linux-netmap) для захвата пакетов. Данный режим обеспечивает наивысшую производительность захвата трафика наряду с PF_RING ZC.
  • Добавлена поддержка PF_RING ZC (к сожалению, этот режим требует отдельной лицензии на библиотеку PF_RING)


Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии25

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Время на прочтение3 мин
Количество просмотров133K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

image
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии26

Image Catalyst 2.5

Время на прочтение3 мин
Количество просмотров25K
Adobe Photoshop CC 2014 (Save For Web) — 59,78 КБ kraken.io — 54,90 КБ Image Catalyst (Xtreme) — 51,39 КБ
Image Catalyst — программа для комплексной оптимизации/сжатии изображений форматов PNG, JPEG и GIF без потери качества в рамках того же формата.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии44

Освоение Composer: советы и приемы использования

Время на прочтение11 мин
Количество просмотров163K
Предлагаю читателям «Хабрахабра» перевод статьи «Mastering Composer – Tips and Tricks» за авторством Bruno Skvorc.

Composer logo

Composer произвел революцию в управлении пакетами в PHP и помог разработчикам по всему миру создавать независимый от фреймворков и разделяемый код. Но все же мало кто выходит за рамки основ его функционала, так что данная статья постарается осветить некоторые полезные приемы его использования.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии4

Автоматизация ресторана: 24 интересных инструмента

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


Обновлено: 29 июня 2021 года

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

В сегодняшнем материале вашему вниманию 24 инструмента для автоматизации ресторанного бизнеса. При подготовке обзора я также пытался оценить качество работы служб поддержки компаний и скорость отклика на запросы потенциальных клиентов, информация об этом также представлена в статье.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии33

Японские инженеры изобрели подшипники, не требующие смазки

Время на прочтение2 мин
Количество просмотров54K
image
Обычный подшипник

Японские инженеры из компании Coo Space придумали, как можно снизить трение в подшипниках качения и избавиться от необходимости периодически их смазывать. Им удалось исключить из конструкции сепаратор путём нехитрых модификаций внешнего кольца подшипника.



Подшипники качения изобрели очень давно. Ошибочно первый опыт использования тел качения для уменьшения трения приписывают древним египтянам. На самом деле, самый ранний экземпляр подшипника относится к римскому вращающемуся столу, датируемому 40 годом до Н.Э. Леонардо Да Винчи (куда же без него) использовал их в чертежах своего вертолёта около 1500 года. А первый вариант подшипников с сепаратором предложил в 17-м веке Галилей.

Сейчас подшипники можно найти в подавляющем большинстве механизмов. От роликов и велосипеда до мотоцикла, от автомобиля до вертолёта, от жёстких дисков до вентиляторов. Лучшего способа снизить трение вращения пока не придумали – если не считать экзотической, сложной и дорогой магнитной подвески.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии45

Проблеме чтения старых данных Samsung 840 Evo подвержены 840 и другие твердотельники

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

Производительность диска зависит от температуры


Осенью прошлого года стало известно, что твердотельный накопитель Samsung 840 Evo теряет скорость при чтении старых данных. Записанную более месяца назад информацию можно было прочесть лишь с падением производительности, и компания Samsung вскоре выпустила патч с обновлением прошивки, который был призван решить эту проблему. Тогда было указано, что напряжения для ячеек со старыми данными были откалиброваны неправильно. Как выяснилось позднее, проблема всё равно оставалась, и решить её должно второе обновление, которое периодически перезаписывает старые данные в фоне. Пер Ханссон выяснил, что проблеме деградации подвержены и другие диски Samsung с памятью TLC NAND.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии35

Чего ждать, когда ждешь ребенка: PHP 7, часть 1

Время на прочтение6 мин
Количество просмотров78K
Это первая часть нашей минисерии статей «Чего ждать от PHP7». Читать часть 2

Как многие из вас, вероятно, знают, было принято RFC о согласовании названия следующей основной версии PHP, которая будет называться PHP7. Вы можете почитать об этом в моем PHP5 timeline.

Независимо от ваших чувств по поводу этой темы, PHP7 — это свершившийся факт, и он придет в этом году! RFC с таймлайном выпуска PHP7.0 прошло практически единогласно (32 к 2), сейчас разработчики подошли к стадии заморозки фич, а первый релиз-кандидат (RC) мы увидим уже в середине июня.

Но что все это значит для нас, обычных разработчиков? Сейчас мы видим огромное нежелание веб-хостеров двигаться в направлении новых версий 5.x. Не приведет ли крупное обновление, ломающее обратную совместимость, к еще более медленному движению?

Ответ: посмотрим. Продолжайте читать и узнаете подробности.

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

Давайте углубимся в детали.
Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии91

Загрузка и хранение фотографий в Web приложениях

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

Почему это важно?


На современных web сайтах объем картинок может составлять от 30% до 70% всего размера страницы. Например, объем изображений на Хабре обычно составляет несколько мегабайт.

размер фоток на странице

Большинство изображений в Web'e — это фотографии. Профильные фото в соц. сетях, альбом с телефона, профессиональные снимки и т.п. Правильная стратегия и инструменты для работы с фотографиями позволят сделать сайт быстрым для посетителей.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии83

Бесплатные SSL-сертификаты — теперь на 3 года от WoSign

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


Вчера обнаружил, что WoSign дает бесплатно сертификат, теперь уже на 3 года.
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии80

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

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


Сегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии5

Состоялся релиз Debian Jessie 8.0

Время на прочтение3 мин
Количество просмотров91K
Выпущен релиз Debian под кодовым названием Jessie.


Новый релиз содержит намного больше программ, чем его предшественник Wheezy — добавлено больше 12 000 пакетов, а всего в этом выпуске больше 43 500 пакетов. К тому же большая часть пакетов — больше 24 500 — была обновлена (это примерно 66% от пакетной базы Wheezy). Еще 5441 пакет был удалён по разным причинам.

Официальный дистрибутив Debian теперь занимает от 9 до 10 DVD или от 61 до 69 CD (в зависимости от архитектуры) с собранными пакетами, и 8 DVD или 46 CD дисков занимают пакеты с исходным кодом. Также доступна мультиархитектурная версия дистрибутива на DVD, включающая архитектуры amd64, i386 и исходный код. Кроме этого Debian выпущен в виде образов Blu-ray, по три образа для архитектур amd64 и i386 на каждую архитектуру и два для исходного кода. Из-за размеров, очень большие пакеты не попали в сборки для CD; эти пакеты есть на DVD и BD.
Подробности
Всего голосов 60: ↑58 и ↓2+56
Комментарии116

Яндекс выпустил антивирус для сайтов — Manul

Время на прочтение4 мин
Количество просмотров117K
Поиск Яндекса ежесуточно показывает людям больше восьми миллионов предупреждений о том, что страница, на которую они хотят перейти, заражена. Часто владелец сайта вспоминает о том, что его сайт может быть взломан и на нём может быть размещен вредоносный код, только тогда, когда худшее уже случилось, трафик упал, и пользователи успели заразиться.

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



Однако всегда хочется лучшего. Одна из главных проблем, с которыми мы сталкиваемся при общении с владельцами зараженных сайтов, — это поиск источника заражения на стороне сервера. У Яндекса, который каждые сутки размечает тысячи сайтов как зараженные вирусом и опасные для устройств человека, есть регулярно обновляемая база вирусов. И у нашей команды появилась идея, выросшая в большой проект, – антивирус для сайтов. Так мы создали Manul, который решили выложить в open source. Это утилита, которая поможет вебмастеру понять, что произошло с сайтом и вылечить его. Под катом я расскажу подробнее о том, как он устроен и какие проблемы решает.
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии161

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть пятая

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

Предыдущие части




В данной части мы рассмотрим


Здесь мы в общих чертах рассмотрим работу с операторами модификации данных:
  • INSERT – вставка новых данных
  • UPDATE – обновление данных
  • DELETE – удаление данных
  • SELECT … INTO … – сохранить результат запроса в новой таблице
  • MERGE – слияние данных
  • Использование конструкции OUTPUT
  • TRUNCATE TABLE – DDL-операция для быстрой очистки таблицы

В самом конце вас ждут «Приложение 1 – бонус по оператору SELECT» и «Приложение 2 – OVER и аналитические функции», в которых будут показаны некоторые расширенные конструкции:
  • PIVOT
  • UNPIVOT
  • GROUP BY ROLLUP
  • GROUP BY GROUPING SETS
  • использование приложения OVER


Операции модификации данных очень сильно связаны с конструкциями оператора SELECT, т.к. по сути выборка модифицируемых данных идет при помощи них. Поэтому для понимания данного материала, важное место имеет уверенное владение конструкциями оператора SELECT.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии11

Уязвимость CVE-2015-1635 (MS15-034) эксплуатируется in-the-wild

Время на прочтение2 мин
Количество просмотров37K
На этой неделе мы писали про критическое обновление MS15-034 для драйвера http.sys на Windows 7+ (включая Windows 10 TP). Злоумышленник с использованием специально сформированного заголовка запроса HTTP-протокола может удаленно исполнить код, организовать DoS-атаку или уронить систему в BSOD как на клиентских так и на серверных выпусках Windows. Сам драйвер http.sys загружается Windows на самых ранних этапах и отвечает за реализацию логики работы HTTP-протокола (реализует прикладной уровень модели OSI в Windows).



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

Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность