Как стать автором
Обновить
14
0

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

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

Поднимаем собственный репозиторий пакетов для Ubuntu (Debian)

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

В жизни любого развивающегося проекта рано или поздно (и лучше рано) наступает момент, когда эксплуатация многозначительно смотрит на разработку и предлагает оформить отношения. Дальнейшее развитие событий, как водится, зависит от обеих сторон. О плохом сегодня не будем, рассмотрим сразу случай, когда разработка готова использовать нехитрый инструментарий сборки пакетов, подготовленный для нее эксплуатацией (шаблоны debian/rules и debian/control, команды fakeroot, debuild, и так далее). Осталась самая малость: поднять для собранных пакетов собственный репозиторий.


Поскольку изучения интернетов внезапно показали, что тема, хоть и освещалась, и даже на Хабре, вряд ли может считаться внятно раскрытой, попробуем восполнить этот пробел.

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

Математика CSS-шлюзов

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

CSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.

В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии37

Развеиваем мифы о том, что учредители не отвечают своим имуществом по долгам ООО

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



Василий Иванов — молодой, талантливый и предприимчивый технический специалист — решил открыть свой бизнес, так как придумал мега-продукт. На старте бизнеса он уволился с работы, зарегистрировал ООО с 10 тыс. уставного капитала, вложил немного своих денег, взял небольшой кредит, нанял на работу 5-ых технических специалистов. Работа пошла, но через полгода оказалось, что у продукта нет будущего, деньги закончились, кредит не погашен, перед сотрудниками задолженность по зарплате за 2 месяца на сумму 400 тыс. рублей чистыми и перед бюджетом на сумму 204 тыс. рублей (примерно +51% от суммы задолженности перед сотрудниками, т.к. тут 13% НДФЛ, 31% ПФР + ФОМС и по мелочи). В общем, дела плохи, пора закрываться и возвращаться к работе «на дядю».

Вопрос: что делать Василию с долгами и ООО?
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии64

Очки дополненной реальности из старого советского калькулятора

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

Очки дополненной реальности это нереально крутая штука! Правда до сих трудно сказать, такая ли это необходимая вещь как смартфон, или же просто дорогая игрушка. Рассмотрим интересный проект умных очков для профессионального применения, которые облегчают работу электрика/электронщика. Сделаем его в стиле старого доброго DIY с ардуинами и 3d принтерами.
Много трафика!
Всего голосов 77: ↑77 и ↓0+77
Комментарии43

Node.js в бою (создание кластера)

Время на прочтение9 мин
Количество просмотров71K
Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
Все это можно представить в виде схемы:


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

7 мер защиты сервера

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

В прошлый раз мы рассказывали о том, как выбрать серверы и как установить их в офисе своими руками.

Теперь пришло время позаботиться о следующем шаге — наладить ИТ-инфрастуктру, чтобы работать с приложениями, веб-сервисами и базами данных. Это непростая задача, но без должной защиты вся инфраструктура окажется под угрозой.
Читать дальше →
Всего голосов 27: ↑19 и ↓8+11
Комментарии11

Нет – взломам серверов! Советы по проверке и защите

Время на прочтение3 мин
Количество просмотров33K
Подозреваете, что Linux-сервер взломан? Уверены, что всё в порядке, но на всякий случай хотите повысить уровень безопасности? Если так – вот несколько простых советов, которые помогут проверить систему на предмет взлома и лучше её защитить.

image

Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии43

Глупые трюки с ES6

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

Это перевод статейки о некоторых не совсем очевидных прикольных возможностях, которые предоставляет ES6 стандарт JavaScript'а. В статье время от времени проходит нечто наркоманское, так что вполне возможно я не смог перевести всё достаточно качественно. Если нашли косяки, напишите мне об этом — поправлю.


{в оригинале здесь была какая-то непонятная гифка с обезьяной, которую я как-то не очень понял, оттого и не буду её здесь ставить}


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

Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии71

Тепловизор на FLIR Lepton своими руками

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


Наконец-то мы дожили до тех времен, когда тепловизионная техника, во-первых, стала доступна не только военным и шпионам, а во-вторых, миниатюризировалась до размеров карманного устройства. И более того, появились модули для сборки собственных DIY-тепловизоров. Но об этом позже.
Сначала немного теории
Всего голосов 51: ↑48 и ↓3+45
Комментарии75

EBU R128/BS.1770-3: Пакетная нормализация громкости аудио/видео файлов

Время на прочтение2 мин
Количество просмотров16K
Всем привет!
Решил поделиться опытом автоматизации контроля громкости вещания своего СМИ. Думаю, у всех профильных технарей давно болит голова, точно продолжает болеть. Введенная Минкомсвязи рекомендация в области нормирования громкости звуковых сигналов вызвала волны возмущения.
Не было предоставлено ни средств контроля, ни средств производства. Крутитесь как хотите.
Впрочем, уже давно, задолго до того знакового события существуют различные плагины к монтажным программам.
Но как быть если уже накоплена огроменная медиабаза?
image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

Неочевидные способы защиты от malware

Время на прочтение7 мин
Количество просмотров49K
В спорах и обсуждениях того, как защитить свой компьютер от зловредов сломано немало копий и на эту тему можно найти множество книг и статей, причем бОльшая часть из них просто дублируют друг друга, рассказывая одно и тоже разными словами. Тому, кто интересуется информационной безопасностью крайне сложно в таких обсуждениях и статьях встретить о защите что-то новое, чего раньше он не знал или просто не задумывался над этим… но, насколько это ни самонадеянно звучит, я все-таки постараюсь пробудить у вас хоть капельку интереса к этой избитой теме и расскажу именно о неочевидных способах защиты, опустив старческое брюзжание о том, что нужно вовремя обновлять плагины к браузерам, не переходить по левым ссылкам и т.д

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

Читать дальше →
Всего голосов 89: ↑77 и ↓12+65
Комментарии44

Обходим детектирование виртуальной машины программами в VMWare

Время на прочтение3 мин
Количество просмотров140K
Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.
Читать дальше →
Всего голосов 58: ↑53 и ↓5+48
Комментарии28

Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS

Время на прочтение3 мин
Количество просмотров158K
С каждым годом скорость интернета — как последней мили, так и магистральных каналов становится все выше. Лишь одно неизменно — латентность уже уперлась в физические ограничения: скорость света в оптоволокне — около 200тыс километров в секунду, и соответственно, быстрее чем за ~150ms ответ от сервера через атлантический океан не получить в обозримой перспективе (хотя конечно есть изыски, вроде оптоволокна с воздушной сердцевиной или радиорелейной связи, но это для простых смертных едва-ли доступно).

Когда мы пытаемся например из России открыть web-сайт, расположенный в США (его NS сервера вероятно там же), и домен не нашелся в DNS-кэше вашего провайдера — то ждать придется долго даже на гигабитном интернете, возможно даже целую секунду: пока мы через океан получим имена NS серверов домена, пока разрезолвим их IP, пока отправим и получим собственно сам DNS запрос…

Пару лет назад Google завела свои публичные DNS сервера, а для агитации перехода на них — они разработали утилитку NameBench, которая прогоняет тесты DNS по вашей истории серфинга и показывает, насколько Google DNS быстрее DNS сервера вашего провайдера.

Но мне удалось сделать свой DNS сервер, который работает быстрее Google Public DNS, и в этой краткой заметке хочу поделится результатами.
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии69

Прошиваем AVR вручную

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

Картинка для привлечения внимания — xkcd

Представьте себе, что вы попали на необитаемый остров. И вам жизненно необходимо запрограммировать микроконтроллер. Зачем, спросите вы? Ну, допустим, чтобы починить аварийный радиомаяк, без которого шансы на спасение резко падают.

Радуясь, что еще не забыли курс ассемблера, вы кое-как написали программу палочкой на песке. Среди уцелевших вещей каким-то чудом оказалась распечатка документации на контроллер (хорошо, что вы еще не успели пустить её на растопку!), и программу удалось перевести в машинные коды. Осталась самая ерунда — прошить её в контроллер. Но в радиусе 500 километров нет ни одного программатора, не говоря уже о компьютерах. У вас только источник питания (батарея из картошки кокосов) и пара кусков провода.

Как же прошить МК фактически голыми руками?
Читать дальше →
Всего голосов 171: ↑170 и ↓1+169
Комментарии66

Песни от OpenBSD

Время на прочтение3 мин
Количество просмотров8.2K
Сегодня я узнал что с каждым релизом OpenBSD выпускает песню. Что удивительно так то, что они действительно высокого качества с интересными текстами. Так вот подборка нескольких:

OpenBSD 4.5: Games


Текст
I love to hate my PC
But now it's not so easy
Just wanna get this job done
But these A.M.L. games are dumb

You wanna know the truth?
Intel's controlling you
And Microsoft is too
But this is nothing new

With A.C.P.I.
This endless mess so corporate
Tangles and angles
In what could be straight forward

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Now on the motherboard
Where all my life is stored
Playing with garbage there
With rules so unfair

Ruled by A.C.P.I.
Whose heart is so corrupted
Forcing us all to play
Our progress interrupted

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Yes I'm a user
And I'm not the only one
I'm not a loser
With help from Puffy Tron

And we will find it
The pin in all this heartache
Map our devices
And we know what it'll take

Lost connections
Lost my mind
Oh Ooh Woah end of line

(bridge)
On and on
Can we all be wrong?
All and all
We are one
Clean the dream
Gone wrong
We are Tron
On and on and on

Instrumental CHORUS (guitar solo)

Instrumental pre-chorus

CHORUS
dumb dumb dumb
Всего голосов 36: ↑35 и ↓1+34
Комментарии9

Расшифровка базы данных KeePass: пошаговое руководство

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

image


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


На данный момент существует 2 версии KeePass:


  • KeePass 1.x (генерирует файлы .kdb);
  • KeePass 2.x (генерирует файлы .kdbx).

Структура файла с базой данных KeePass (.kdb, .kdbx) состоит из 3 частей:


  • Подпись (не зашифрована);
  • Заголовок (не зашифрован);
  • Данные (зашифрованы).

Далее я подробно расскажу о том, как дешифровать базу данных KeePass 1.x и KeePass 2.x.

Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии39

Автоматизированный орхидариум

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


Хочу рассказать про созданное мной устройство для выращивания капризных и экзотических растений. Растения, требующие определенного температурного режима, влажности, изменения длины светового дня, будут прекрасно себя чувствовать, расти и радовать глаз без необходимости постоянного наблюдения. Опыт использования в течение двух лет, картинки прилагаются.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии49

Frontend-разработчики должны быть в теме всего

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

Мысли Криса Койера


Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии76

Советы и секреты № 1

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

Удаление своего досье в Google; прямые ссылки в поиске; новый user.js для Firefox; просмотр программ, которые обращаются к конкретному файлу под Windows; запись анимированного GIF с экрана


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

Как отредактировать/удалить историю своих действий в Сети, которые собирает Google?
Неделю назад Google представила новый инструмент MyActivity («Мои действия»). Здесь представлена разнообразная информация, в том числе:

  • история поиска в Google, Google Play, на картах Google Maps и прочих сайтах Google;
  • список просмотренных видео на YouTube;
  • список действий в браузере Chrome, в том числе список поисковых запросов в других поисковых системах через омнибар;
  • информация с мобильного телефона Android (Google сохраняет ваши контакты, календари, информацию о приложениях, музыке, сведения об устройстве).
Читать дальше →
Всего голосов 25: ↑16 и ↓9+7
Комментарии36

Нейронные сети на Javascript

Время на прочтение7 мин
Количество просмотров166K
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии79

Информация

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