Pull to refresh
0
0
Александр @alkov

User

Send message

Хабраиндекс для статей по программированию под Android

Reading time2 min
Views94K
Читать дальше →
Total votes 220: ↑204 and ↓16+188
Comments43

Просто о make

Reading time6 min
Views447K
Меня всегда привлекал минимализм. Идея о том, что одна вещь должна выполнять одну функцию, но при этом выполнять ее как можно лучше, вылилась в создание UNIX. И хотя UNIX давно уже нельзя назвать простой системой, да и минимализм в ней узреть не так то просто, ее можно считать наглядным примером количество- качественной трансформации множества простых и понятных вещей в одну весьма непростую и не прозрачную. В своем развитии make прошел примерно такой же путь: простота и ясность, с ростом масштабов, превратилась в жуткого монстра (вспомните свои ощущения, когда впервые открыли мэйкфайл).

Мое упорное игнорирование make в течении долгого времени, было обусловлено удобством используемых IDE, и нежеланием разбираться в этом 'пережитке прошлого' (по сути — ленью). Однако, все эти надоедливые кнопочки, менюшки ит.п. атрибуты всевозможных студий, заставили меня искать альтернативу тому методу работы, который я практиковал до сих пор. Нет, я не стал гуру make, но полученных мною знаний вполне достаточно для моих небольших проектов. Данная статья предназначена для тех, кто так же как и я еще совсем недавно, желают вырваться из уютного оконного рабства в аскетичный, но свободный мир шелла.
Читать дальше →
Total votes 104: ↑98 and ↓6+92
Comments111

Process Explorer vs Process Hacker

Reading time6 min
Views93K
Многим людям рано или поздно приходит в голову мысль, что стандартный менеджер процессов Windows весьма слаб по функционалу. Начинаются поиски альтернативы, которые в основном тут же и заканчиваются при обнаружении Process Explorer от Марка Руссиновича. Вот и Хабр даже советует эту программу.

Что тут можно сказать? Конечно, Process Explorer — это хорошая программа. Однако, не идеал. Именно в пику её неидеальности существует не только бесплатная, но и свободная альтернатива — Process Hacker. А теперь мы детально и по пунктам рассмотрим, почему Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.
Читать дальше →
Total votes 91: ↑80 and ↓11+69
Comments64

Опубликованы профессиональные стандарты РФ для программистов, админов БД и других профессий

Reading time1 min
Views88K
В рамках федеральной программы, инициированной указом президента РФ №597 от 7 мая 2012 г., ведётся разработка новых профессиональных стандартов в области ИТ. На днях опубликованы черновики профстандартов админа БД, программиста, руководителя проектов в области информационных технологий, руководителя разработки программного обеспечения и т.д.

11-13 сентября 2013 года пройдут открытые вебинары с подробным обсуждением первой версии каждого из разрабатываемых профессиональных стандартов.
Читать дальше →
Total votes 85: ↑76 and ↓9+67
Comments132

Help, my database is corrupt. Now what?

Reading time12 min
Views39K
Поврежденная база данных — это, наверное, один из худших ночных кошмаров большинства администраторов баз данных. Результатом повреждения являются простои, вопли менеджеров и всякие другие неприятные штуки.
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.

Как обнаружить, что база данных повреждена


Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xfdff74c9; actual: 0xfdff74cb). It occurred during a read of page (1:69965) in database ID 13 at offset 0x0000002229a000 in file 'D:\Develop\Databases\Broken1.mdf'.
Attempt to fetch logical page 1:69965 in database 13 failed. It belongs to allocation unit 72057594049069056 not to 281474980642816.
Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments15

Безопасность OAuth2

Reading time5 min
Views117K
Данная блогозапись на хабр прежде всего обусловлена появлением «Ключницы» — хороший повод связать и перевести накопленное.


У нас в программе: вольный пересказ спек OAuth2, слабые стороны и Threat Model, 0day на хабретрюк с аутенфикацией.
image
Читать дальше →
Total votes 168: ↑160 and ↓8+152
Comments65

Расставляем точки на Li: Нужна ли тренировка литиевых аккумуляторов?

Reading time7 min
Views755K
Прошло уже достаточно времени с тех времен, когда Ni-Cd и Ni-Mh аккумуляторы безраздельно властвовали в мобильных устройствах, но с самого начала эпохи Li-ion и Li-pol все не утихают споры по поводу того, надо ли «тренировать» эти аккумуляторы сразу после покупки.
Доходит до смешного, в теме обсуждения ZP100 на china-iphone всем новичкам рекомендовали в приказном тоне пройти 10 циклов зарядки-разряда, а только потом приходить с вопросами о аккумуляторах.



Давайте попробуем разобраться, имеет ли такая рекомендация право на жизнь, или это рефлексы спинного мозга (за отсутствием головного, наверное) некоторых индивидуумов, у которых они остались со времен никелевых батарей.
Читать дальше →
Total votes 328: ↑306 and ↓22+284
Comments194

Восстановление отдельных страниц в базе данных

Reading time7 min
Views30K
Предисловие

Статья Gail Shaw «Help, my database is corrupt. Now what?», перевод которой я запостил на прошлой неделе, вызвала, вроде бы, определенный интерес, но она, увы, не содержала «практики». Да, там написано как можно спасти данные, но нет никаких примеров.
Изначально я хотел сделать еще один перевод все того же автора, но, подумав, решил написать пост «от себя», как бы «по мотивам». Причины, побудившие меня поступить так, я опишу в конце поста, в примечаниях.

Восстановление баз данных в SQL Server


Как уже было сказано в предыдущей статье, в том случае, если повреждены страницы кластерного индекса или кучи, то данные, содержащиеся на этих страницах, потеряны и единственным вариантом для их восстановления является непосредственно восстановление базы данных.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments1

Создаём подсветку синтаксиса в Notepad++

Reading time3 min
Views127K
Программируя в 1С привыкаешь к подсветке синтаксиса, используемой в конфигураторе, но когда хочешь распечатать исходник какого-либо модуля, чтоб вечерком посидеть с карандашом и подумать над написанным, то возникает некоторая проблема: а как же его распечатать с сохранением подсветки? Копипаст в текстовый редактор — потеря раскраски, печать напрямую из конфигуратора — тот же результат.

В последнее время подсел на notepad++, он умеет печатать с выбранной подсветкой синтаксиса, но проблема в том, что нет подсветки именно для языка, используемого в 1С. Долго и безрезультатно искал нужную подсветку синтаксиса. Нашел на одном сайте, но они просят денег и нет гарантии, что это то самое искомое.

Попытался сам вручную создать подсветку, но все шаманства с xml файлами не приводили к успеху. Наткнулся на статью «Включаем подсветку синтаксиса для less файлов в Notepad++», ожидал увидеть там рецепт создания этой самой подсветки, но как и многие комментирующие был разочарован содержанием поста. В результате копания мануалов у меня получилось таки создать нужную мне подсветку. Оказывается это совсем не сложно!
Читать дальше →
Total votes 71: ↑47 and ↓24+23
Comments32

Оценка вредоносности файлов с помощью песочниц: Часть 1. Онлайн-сервисы

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

Итак, ситуация: у нас есть странный файл с подозрением на вредоносность, при этом существующий мультисканеры типа VirusTotal не дают никакой информации. Что же делать?
Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments20

Своеобразие cron при не-переводе времени на зимнее

Reading time1 min
Views4.3K
Сегодня мы бы перевели время. И мы бы сделали это, если бы не указ Президента «Об отмене перехода на сезонное время»… Все, видимо, обновили ПО на серверах (и мы не исключение) и не ждали подвоха, но…

Тестовый скрипт, проверяющий живучесть одной из систем, радостно отрапортовал мне сегодня в час дня вместо запланированных полудня. Я полез на сервер. Время стояло правильное (не переведенное), таймзона тоже верная. Проверил как Ruby возвращает время. Тоже правильно. Посмотрел логи. Время нигде не перевелось! (как и должно было быть).

Закралось одно подозрение, и я вписал в кронтаб тестовый запуск cron'а — ага! — так и срабатывает с задержкой на час! Перезапустил крон. Еще один тест. Да, теперь работает как надо. Нашли! Правда, последовавший за этим ручной перезапуск кронов на остальных (порядка 20) серверах — занятие было еще то.

Мораль: дефолтный cron на FreeBSD (разных версий, вплоть до 8.2) нуждается в перезапуске, после даты «непереведения» времени, иначе где-то в своих недрах все-таки его переводит! Интересно, что будет весной (может быть, к весне обновится?). Или может уже стоило обновить, но теперь удостовериться можно будет только весной?..

«Хозяйке на заметку», как говорится: «если ломатете голову, что сегодня пошло не так, перезапустите крон».

PS. Linux-овые машины (конкретно: Debian и Gentoo с vixie-cron) не оказались подвержены данной оказии. Ну, это не мудрено — там сам крон другой. Но тем не менее, на сабжевой ОС мы все же столкнулись с данным, скажем так, своеобразием поведения отдельно взятого системного приложения.
Total votes 53: ↑47 and ↓6+41
Comments42

Закольцованные сети, или зачем нам STP

Reading time6 min
Views58K

Суть проблемы


Целью жизни коммутатора сетевого (он же свитч) является неустанная пересылка пакетов от отправителя получателю. Для оптимизации работы, свитч содержит т.н. CAM-таблицу, содержащую в себе адреса устройств, пакеты от которых он когда-то получал, и номера физических портов, из которых эти самые пакеты были получены.

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

Но что делать свитчу, если приходит широковещательный пакет (broadcast)?
Логично предположить, что такие пакеты пересылаются во все порты, кроме того, откуда изначально были получены.
Что, при определённой конфигурации сети, может привести к весьма печальным последствиям…
Читать дальше →
Total votes 69: ↑65 and ↓4+61
Comments41

Популярные менеджеры паролей в сравнении

Reading time5 min
Views345K
imageБезопасное хранение паролей — тема очень актуальная в любое время, тем более после недавних громких взломов крупных сайтов. После того как один из моих паролей утек в Сеть после взлома биржи MtGox, я озаботился переходом на серьезные методы защиты.

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

Итак, программы, попавшие под мой выбор, следующие: KeePass, eWallet, LastPass, 1Password, RoboForm. Кому интересно — добро пожаловать под кат.

Читать дальше →
Total votes 82: ↑78 and ↓4+74
Comments122

Что должен знать о времени каждый программист

Reading time3 min
Views95K

Некоторые замечания о времени

  • UTC: время на нулевом меридиане называется Всемирное координированное время, Universal Coordinated Time. Несовпадение акронима было вызвано необходимостью универсальности его для всех языков.
  • GMT: ранее вместо UTC использовалось среднее время по Гринвичу (Greenwich Mean Time, GMT), так как нулевой меридиан был выбран так, чтобы проходить через Гринвичскую королевскую обсерваторию.
  • Прочие часовые пояса могут быть записаны как смещение от UTC. Например, Австралийское восточное стандартное время (EST) записывается как UTC+1000, то есть время 10:00 по UTC есть 20:00 по EST того же дня.
Читать дальше →
Total votes 250: ↑237 and ↓13+224
Comments100

su или sudo?

Reading time3 min
Views240K
С давних времен многих смущает разнообразие вариантов обеспечения безопасности при выполнении операций с максимальными привилегиями. Например, в официальной документации Ubuntu в качестве команды редактирования рекомендуется использовать что-то вроде sudo nano, а в многочисленных любительских мануалах (в стиле «5 фокусов в командной строке, которые удивят вашу бабушку») для получения root'ового шелла предлагается писать sudo su -. Попробую объяснить, почему такое положение вещей кажется мне неправильным.
Читать дальше →
Total votes 117: ↑105 and ↓12+93
Comments58

Идеальный корпоративный почтовый клиент

Reading time26 min
Views176K
Когда возникает необходимость настроить почтовую систему для компании в первую очередь на ум приходит использовать решения от Microsoft — Exchange и Outlook. К сожалению, эти решения не обеспечивают достаточной гибкости и многим не подходят по разным параметрам.

Хорошо, но что же использовать вместо них, ведь хочется такой же красивой и прозрачной для пользователя работы с почтой, которую обеспечивает протокол MAPI? Небольшая перетасовычка и на свет появляется вполне очевидное и на самом деле безальтернативное решение — IMAP. IMAP, слава Богу, в современном мире в той или иной степени поддерживают чуть ли не все почтовые клиенты, так что выбор у нас огромен. Но если присмотреться внимательней, то он сужается до весьма скромного множества из одного-двух наименований.

Итак, нам бы хотелось:
  • Для начала — кросплатформенность. Глупо использовать стандартизированные технологии, но привязываться изначально к одной ОС, тогда уж проще сразу купить Exchange и навсегда забыть о какой-либо гибкости разворачиваемой инфраструктуры.
  • Полная поддержка IMAP и IMAP ACL. Второй пункт важен, т.к. без него нельзя будет организовать ни общих папок, ни передачу прав на различные операции с ящиком другим пользователям, а без этого в корпоративной почтовой системе никак.
  • Возможность централизованной настройки клиента через сервер.
  • Гибкость настроек клиента и удобство в использовании.
Недолгий поиск в интернете может поведать, что единственный вариант, который можно было бы рассмотреть поближе — это Mozilla Thunderbird. Но вот вопрос: может ли Thunderbird предоставить весь необходимый функционал, чтобы можно было с лёгкостью заменить им связку Exchange и Outlook? Оказывается не только может, но и позволяет добиться куда как большего, чем просто банальное подражание продуктам Microsoft.

Мне интересно!
Total votes 191: ↑175 and ↓16+159
Comments238
2

Information

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