Pull to refresh
0
0
Александр Пахомов @alexpaknix

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

Send message

Гальваническое покрытие 3D-печатных моделей

Reading time11 min
Views16K

Картинка youtube-канал Jason Welsh

С распространением трёхмерной печати множество любителей получили уникальные возможности, которые, однако, ограничены свойствами самого материала – пластиковой основы. В одной из прошлых статей мы рассказывали об интересном способе изготовления металлических отливок из 3D-печатных моделей, используя плавление металлов в обычной домашней микроволновке.

Однако не всегда требуется изготовление сверхмонолитных металлических деталей сложными способами, так как существует гораздо более простой вариант…

Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments33

Немного хардкора: как поднять Kubernetes на двух старых ноутбуках с Gentoo

Reading time14 min
Views10K

Хочу рассказать об интересном эксперименте, суть которого заключалась в развертывании и настройке Kubernetes на двух старых ноутбуках — один из них, кроме того, был с процессором на архитектуре i386. В качестве теоретической основы использовалось руководство Kubernetes The Hard Way, которое по ходу дела пришлось немного доработать, а в качестве системы на хостах — Gentoo (да, вам не показалось). Давайте погрузимся в этот увлекательный хардкор!

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments12

Как думать на SQL?

Reading time8 min
Views606K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.


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


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

Читать дальше →
Total votes 54: ↑48 and ↓6+42
Comments166

Как сделать поездку на конференцию максимально бесполезной

Reading time5 min
Views9.2K
image

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

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

Я обожаю ездить на конференции. Кроме того, я являюсь одним из организаторов ProductSense — конференции по product management. И я хочу рассказать о том, что нужно сделать, чтобы любая конференция прошла для вас максимально бесполезно.

Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments9

Где мои деньги, чувак: о чем молчит Steam

Reading time8 min
Views89K
Это первая из шести статей, в которых я хочу рассмотреть весь процесс паблишинга игр на ПК от начала и до конца. Оставим за скобками разработку — помимо неё вас ждут много других приключений. Выбор издателя или самостоятельное издание, локализация и адаптация игры, маркетинг и PR, выбор цен и планирование скидок, работа с издателями, дистрибьюторами и посредниками.



Мы много будем говорить о Steam, самой крупной открытой платформе для игр, потом посмотрим на 3rd-party дистрибуцию и альтернативные варианты продаж. До того, как вы найдете свои собственные ответы — давайте трезво посмотрим на то, как маховик издания игр работает сейчас.

Простите, ребята, но это будет очень меркантильная статья с цифрами и процентами — я считаю, что если создание игр ваша страсть и ремесло, без них сложно уверенно идти вперёд. Начнём с цен, скидок и того, как работает список желаемого в Steam.
Читать дальше →
Total votes 122: ↑120 and ↓2+118
Comments182

Как создать внутриигровое меню в Unity

Reading time9 min
Views186K

Как создать внутриигровое меню в Unity


Unity позволяет не делать меню настроек, так как есть встроенный диалог настроек качества и разрешения перед запуском игры. Однако если вы хотите сделать вашу игру неповторимой и показать, на что способны, как дизайнер, то эта статья именно для вас. После прохождения этого туториала вы сможете создавать свое собственное меню с таким функционалом – настройки громкости, разрешения, качества изображения, переключения полноэкранного и оконного режима. Интересно? Тогда запускай Unity и поехали!
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments13

Ростелеком: чужие счета — это не спам

Reading time2 min
Views86K
Уже с год длится такая история: на телефон раз в месяц, а то и чаще, стали приходить СМС от Ростелекома. Не подделка. Но про деньги. Увы.

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

Текст в СМС незамысловатый. Не буду мучить видом фотографии на своем телефоне, приведу на желтом «цитатном» хабравском фоне контент:
На ЛС 111111111111 выставлен счет №4 за ноябрь 2017г на сумму 200,00р. К оплате с учетом долга 300,00р.
(номер ЛС я тут забил единицами, потому что получал я сообщения про разные ЛС; суммы были тоже разные, так что, полагаю, сообщали мне про долги разных абонентов)

Договора у меня с РТ нет ни на что вообще, мобильный номер у меня давно, в общем, «ничто не предвещает беды», но СМС-дождь продолжается. Пару раз звонили грозными голосами (полагаю) сотрудники РТ, и вопрошали, когда я им деньги занесу, а то они в суд собрались. Узнавали в каждом случае, что номер мой, а договора у меня нет, задумывались, прощались…

Секрет-то прост...
Total votes 80: ↑76 and ↓4+72
Comments297

Введение в VxLAN

Reading time44 min
Views203K


Сегодня мы поговорим об очередной интересной технологии — VxLAN — что это за зверь и с чем его едят, да и вообще нужен ли он вам. Мое знакомство с данной технологией началось с изучения гипервизоров — я постоянно натыкался на термин VxLAN, но что это и как работает не знал. В один прекрасный день я решил все-таки прочитать, что это за зверь. Прочитав пару-тройку статей, я усвоил для себя основные аспекты работы технологии и облегченно выдохнул, прочитав, что данная технология — удел гипервизоров и к транспорту имеет косвенное отношение (хотя, как оказалось позже отношение VxLAN к транспорту имеет самое, что ни на есть прямое). После чего про технологию благополучно забыл и вернулся я к ней снова только через год, когда начал погружаться в EVPN — большинство статей и мануалов были именно о симбиозе EVPN и VxLAN. Литературы по данной технологии много, особенно если вы владеете английским. Я же попробую в данной статье рассказать об основах работы данной технологии и показать на практике — как это настраивается и работает. Но начнем с MPLS…
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments7

Let's Encrypt и nginx: настройка в Debian и Ubuntu

Reading time13 min
Views303K

image


Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.


Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments96

Обнаружены критичные уязвимости в протоколе WPA2 — Key Reinstallation Attacks (KRACK)

Reading time3 min
Views89K

 
Группа исследователей обнаружила серьезные недостатки в протоколе WPA2, обеспечивающем защиту всех современных Wi-Fi сетей. Злоумышленник, находящийся в зоне действия жертвы, может использовать эти недостатки, используя Key Reinstallation Attacks. Злоумышленники могут использовать этот новый метод атаки для чтения информации, которая ранее считалась зашифрованной.

UPD: пост обновлен частичными подробностями атаки и списком обновлений вендоров.
Total votes 92: ↑88 and ↓4+84
Comments151

Чистый код на PHP

Reading time19 min
Views110K


Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


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


Статья вдохновлена clean-code-javascript.

Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments180

Мониторинг состояния HP EVA из icinga/nagios. Плагин check_eva.py

Reading time6 min
Views7.9K
Я обещал рассказывать о разного рода необычном оборудовании с точки зрения мониторинга, и в этой статье будет рассказано о удаленном контроле достаточно распространённого массива виртуальных дисков HP EVA. Чтобы «потренироваться на кошечках» возьмём Hewlett-Packard EVA4400 с контроллером HSV300 и двумя дисковыми полками, благо он стоит через стенку и есть возможность брать все скриншоты и данные с живой системы.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments2

Как я учил арабских шейхов ломать SAP

Reading time7 min
Views47K
Женщины в паранджах, мужчины в традиционных арабских одеяниях, резные стены и много-много позолоты, и всё это внутри огромного деревянного корабля. Именно так выглядит конференция по информационной безопасности в Кувейте – Kuwait Info Security 2012.



По долгу службы в Digital Security продвигая в массы безопасность SAP, да и вообще ради ярких моментов и новых знакомств, я периодически выступаю на различных международных конференциях по безопасности… хотя точнее всё же было бы называть их конференциями по опасности, так как на них ведущие исследователи рассказывают о новых интересных способах взлома информационных систем. Несмотря на два десятка выступлений на таких ивентах, как BlackHat и HITB, конференция в Кувейте всё-таки запомнилась мне как одна из самых необычных.

Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments40

Arduino контролирует в подвале температуру, влажность и затопление и выдает данные на веб-страницу

Reading time4 min
Views107K
Всем привет.

Хочу поделиться опытом создания системы контроля и предупреждения.

На одном из строительных объектов делали строение с бассейном, сауной, тренажёрным залом и комнатой отдыха. Все это было в приличных размерах как для одного хозяина. Чисто технически понадобилось 2 подвала: 1-й для обслуживания насосов бассейна — маленький, 2-й для обслуживания систем обогрева и накопления тепла

Закуплены были 2 напольных евро-люка разных размеров для двух подвалов. Люки зарывались 4-мя винтами и имели очень плотные резиновые уплотнения. Чтобы открыть подвал, необходимо было 4 человека (и немного здоровья). При работе всей техники в подвале поднималась температура и влажность, при этом контролировать что там происходит практически неудобно.

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

За основу взял Arduino Pro Mini плюс Ethernet ENC28J60. Для замера влажности и температуры датчик DHT11 и FC-28 (датчик влажности почвы – в роли датчика затопления).

image
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments33

Дисковый массив HP EVA — все просто!

Reading time5 min
Views60K
В преддверии выхода новых моделей дисковых массивов P6000 EVA, я хочу показать насколько просты и эффективны эти массивы в работе.

Традиционной сферой применения массивов HP P6000 была и остается виртуализация, интеграция с Microsoft, Oracle, SAP и широким спектром бизнес-приложений. Линейка P6000 представлена двумя моделями: P6300 EVA и P6500 EVA. Эти системы хранения построены на базе технологии SAS (Serial Attached SCSI) и поддерживают диски малого (SFF) и большого (LFF) форм-фактора различной емкости – от 146 ГБ до 3 ТБ.

В отличие от прежних поколений массивов Enterprise Virtual Array, P6000 EVA оборудованы как портами Fibre Channel 8 Гб/c, так и портами Ethernet 10 Гб/c или 1 Гб/c, что дополнительно позволяет подключать серверы по протоколам iSCSI и FCoE.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments59

Видео докладов с Zabbix Moscow Meetup

Reading time1 min
Views20K
Недавно проводили в офисе Zabbix Meetup, который из-за количества участников (приехали ребята из Ярославля, Новосибирска, Уфы, Владивостока, Краснодара, Воронежа, Брянска, СПб и других городов) перерос в конференцию на весь день. И сегодня хотим поделиться с вами видео докладов.

1. «Zabbix: прошлое, настоящее и будущее», Алексей alexvl Владышев, Zabbix.





2. «Zabbix в Badoo или о чем не пишут в мануале», Илья ableev Аблеев, Badoo.

NEW: Наш Screens Controller для Zabbix.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments2

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Reading time5 min
Views114K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Total votes 111: ↑96 and ↓15+81
Comments102

Очередной умный дом, в трех частях. Часть третья, пользовательско-интерфейсная

Reading time4 min
Views46K
Итак, подошло время рассказать и показать как это все управляется. Как я уже говорил во второй части, после нескольких итераций — все остановилось на HTML + JS. Писать отдельное приложение под Android я не планировал, но жизнь, как обычно, внесла некоторые коррективы.

Ссылки на первые две части:

image
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments13

Пулы потоков: ускоряем NGINX в 9 и более раз

Reading time15 min
Views87K
Как известно, для обработки соединений NGINX использует асинхронный событийный подход. Вместо того, чтобы выделять на каждый запрос отдельный поток или процесс (как это делают серверы с традиционной архитектурой), NGINX мультиплексирует обработку множества соединений и запросов в одном рабочем процессе. Для этого применяются сокеты в неблокирующем режиме и такие эффективные методы работы с событиями, как epoll и kqueue.

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

Каждый процесс расходует память и каждое переключение между ними требует дополнительных циклов процессора, а также приводит к вымыванию L-кэшей

У медали есть и обратная сторона. Главной проблемой асинхронного подхода, а лучше даже сказать «врагом» — являются блокирующие операции. И, к сожалению, многие авторы сторонних модулей, не понимая принципов функционирования NGINX, пытаются выполнять блокирующие операции в своих модулях. Такие операции способны полностью убить производительность NGINX и их следует избегать любой ценой.

Но даже в текущей реализации NGINX не всегда возможно избежать блокировок. И для решения данной проблемы в NGINX версии 1.7.11 был представлен новый механизм «пулов потоков». Что это такое и как его применять разберем далее, а для начала познакомимся с нашим врагом в лицо.
Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments58

Как считается Load Average

Reading time7 min
Views95K

Постановка вопроса


Недавно, во время собеседования в одну крупную компанию мне задали простой вопрос, что такое Load Average. Не знаю, на сколько правильно я ответил, но лично для себя пришло осознание, что точного ответа я на самом деле и не знаю.

Большинство людей наверняка знают, что Load Average — это среднее значение загрузки системы за некоторый период времени (1, 5 и 15 минут). Так же можно узнать некоторые подробности из данной статьи, про то, как этим пользоваться. В большинстве случаев этих знаний достаточно для того, что бы по значению LA оценивать загрузку системы, но я по специальности физик, и когда я вижу «среднее за промежуток времени» мне сразу становится интересна частота дискретизации на данном промежутке. А когда я вижу термин «ожидающие ресурсов», становится интересно, каких именно и сколько времени надо ждать, а так же сколько тривиальных процессов надо запустить, что бы получить за короткий промежуток времени высокий LA. И главное, почему ответы на эти вопросы не дает 5 минут работы с гуглом? Если вам данные тонкости так же интересны, добро пожаловать под кат.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments34
1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity