Search
Write a publication
Pull to refresh
-15
0
Антон @Acuna

Разработка ПО

Send message

Автоматизация начальной настройки веб-сервера

Reading time11 min
Views19K
Наверняка, у многих есть собственные веб серверы. Настройка нового сервера с нуля — достаточно нудное и времяубивающее трудоемкое занятие не только для новичка, но и для бывалых.

А если к тому же по долгу службы вам приходится настраивать по несколько серверов в неделю/месяц, то невольно начинаешь задумываться об автоматизации этого процесса. Хочу поделиться bash скриптом, который я использую для начальной настройки RedHat / CentOS серверов.

Продолжаем разговор

Ускоряем PHP (с ReactPHP)

Reading time11 min
Views81K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →

Реализация многопоточного сервера на PHP

Reading time3 min
Views26K
Данная публикация не претендует на полноту решения поставленного вопроса. Сервер разрабатывается исключительно в ознакомительных целях. Многие важные вопросы, такие как, например, обработка ошибок сокетов, опущены. Для реализации многопоточного сервера мы будем использовать, конечно же, потоки. Очень часто приходится видеть фразу, что, мол, в PHP потоков нет. Так вот это неправда. Потоки есть, но реализованы в отдельном расширении pthreads.
Читать дальше →

Что выгоднее открыть разработчику: ИП или ООО? Небольшой Чек Лист

Reading time9 min
Views64K


Традиционный вопрос фрилансеров-разработчиков при расширении (легализации) своей деятельности – что выбрать между ИП и ООО? Признавая важность темы, хочу сказать, что несмотря на особенности этих организационно-правовых форм, их нельзя назвать ключевыми для достижения желаемого результата. Главное в любом бизнесе всё-таки та ценность, которую вы создаёте для потребителей, и умение её донести. 


Зачем вообще разработчику создавать ООО или регистрироваться в качестве ИП?

Читать дальше →

Как разработчику открыть свой бизнес. Планирование

Reading time7 min
Views35K
image

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

Это не история успеха


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

Для новичков всегда ставятся некие распорки, которые им помогают приспособиться. Этакие маленькие колесики для велосипеда. По мере приспособления, распорки убираются — в них больше нет необходимости.
Читать дальше →

Мониторинг состояния своего ресурса при помощи Telegram-бота

Reading time5 min
Views39K
Привет, Хабр! Я уже давно наблюдаю за тобой, но все никак не решаюсь сделать свой первый шаг. Теперь мне показалось что я готов. Расскажу о своем опыте работы с telegram ботом — последнее время эта тема достаточно популярна на просторах сети, да и на самом Хабре я встречал уже не мало статей. Но по большей части в них рассказывается о принципах создания ботов, и нет ни слова о том, какую практическую пользу можно из этих самых ботов извлечь.
Читать дальше →

Как объяснить бабушке, что такое Agile за 15 минут с картинками

Reading time7 min
Views1.2M
«Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.»
— закон Хофштадтера

image

Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.

Роcкомнадзор: держим ухо востро. Как вовремя заметить внесение в список

Reading time2 min
Views11K
По многочисленным просьбам трудящихся, сервис мониторинга ХостТрекер реализовал функцию, позволяющую регулярно проверять списки сайтов на попадание в базу Роскомнадзора. О некоторых особенностях — ниже.


Читать дальше →

Пишем PHP extension

Reading time8 min
Views34K
А давайте сегодня взглянем на PHP немного с другой точки зрения, и напишем к нему расширение. Так как на эту тему уже были публикации на Хабре (здесь и здесь), то не будем углубляться в причины того, для чего это может оказаться полезным и для чего может быть использовано на практике. Эта статья расскажет, как собирать простые расширения под Windows с использованием Visual C++ и под Debian с использованием GCC. Также я постараюсь немного осветить работу с PHP-массивами внутри расширений и провести сравнение производительности алгоритма, написанного на native PHP и использующего код, написанный на C.

Писать будем расширение под PHP версии 5.3.

Пианино в 24 строки на Javascript: если играть, то музыку

Reading time6 min
Views55K
Пока производители телефонов меряются, у кого тоньше, программисты продолжают меряться, у кого короче.

Я тоже решил принять участие в этой специальной спонтанной олимпиаде кодерского мастерства, и вспомнил фразу одной моей подруги-музыканта: «Если уж играть, то на пианино». И решил: да будет так. Вместо игры напишу пианино. И написал.

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

Итак, начнем.

Клавиатура классического фортепиано состоит из 88 клавиш, покрывающих диапазон от A0 (Ля суб-контр-октавы, частота звучания 27.5 Гц) до C8 (До пятой октавы, частота 4186 Гц). Каждая октава на клавиатуре состоит из двенадцати нот:
До, До-диез, Ре, Ре-диез, Ми, Фа, Фа-диез, Соль, Соль-диез, Ля, Ля-диез/Си-бемоль, Си. Жирным выделены клавиши верхнего ряда, они на клавиатуре обычно бывают черного цвета.

Собственно, вот так выглядит одна октава:

image

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

Nx = N1 × 2x-1, где:
  • N – название ноты;
  • x — номер октавы (от 0 до 8);
  • Nx, соответственно, частота звука, соответствующая ноте N октавы x;

В формуле фигурирует N1 вместо N0 лишь потому, что часть нот суб-контр-октавы (N0) имеет частоту звучания ниже порога слышимости человеческим ухом (< 20 Hz).

Чтобы ноты получались чистыми, нам нужны достаточно точные значения частот нот контроктавы, от которой мы начинаем считать. Собственно, вот они:
Читать дальше →

Этикет Кремниевой Долины

Reading time10 min
Views45K
Здесь встречают по манерам…
В 17-ом веке во Франции манеры приобрели политическое значение. Король Людовик XIV и его предшественники, собирая вместе аристократию Франции под одной крышей с сувереном в его дворце в Версале, основали своего рода школу манер.

Во дворце придворные жили под деспотическим надзором короля. Если вы вызывали недовольство Людовика, то он просто высказывал пожелание «не видеть вас» на следующий день. И желание короля «не видеть вас» было равносильно полному забвению вас в Версале.

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

Маргарет Виссер
Читать дальше →

Инфраструктура узла связи от чайника, или очередное строительство серверных — часть 1

Reading time18 min
Views23K
Здравствуйте! Начитавшись публикаций на тему строительства ЦОД небольшого хостинг провайдера, а так же «как сделать серверную комнату своими руками», от людей, которые, видимо, не знали как сказать, зачем надо заказывать их услуги, я решил изложить свой опыт строительства небольшого узла связи в течение этого года, для размещения, с последующей регистрацией в Роскомнадзоре, таких объектов, как ОТМУС, ТЗУС, СПД.

В этом году приходилось настолько много информации искать и применять, что я почувствовал свой предел в запоминания полезной информации. Поэтому мне сложно сразу вспомнить откуда я брал информацию (я говорю о приказах Минкомсвязи, Мининформсвязи, Роскомнадзора, СНИП, ВСН… ).

Под катом я постараюсь поверхностно пройтись по всем аспектам, по которым надо принять решение и реализовать в вашей аппаратной.
Читать дальше →

Примеры кода на 39 эзотерических языках программирования

Reading time8 min
Views93K
Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.



«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.

Были получены исходники 3300 глобальных интернет-проектов

Reading time5 min
Views279K
Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
Читать дальше →

Работа каскада Хаара в OpenCV в картинках: теория и практика

Reading time7 min
Views80K


В прошлой статье мы подробно описали алгоритм распознавания номеров (ссылка), который заключается в получении текстового представления на заранее подготовленном изображении, содержащем рамку с номером + небольшие отступы для удобства распознавания. Мы лишь вскользь упомянули, что для выделения областей, где содержатся номера, использовался метод Виолы-Джонса. Данный метод уже описывался на хабре (ссылка, ссылка, ссылка, ссылка). Сегодня мы проиллюстрируем наглядно то, как он работает и коснёмся ранее необсужденных аспектов + в качестве бонуса будет показано, как подготовить вырезанные картинки с номерами на платформе iOS для последующего получения уже текстового представления номера.
Читать дальше →

Переселение души: linux на android планшете

Reading time4 min
Views112K
Доброго времени суток всем.

Моя история начинается с прочтения данной статьи, после которой я и решился приобрести чудо китайского планшетостроения: superpad. Данный планшет брался как игрушка для «поковырять немного», по совместительству, читалка, игралка на пары и смотрелка в долгую дорогу… Сразу отмечу, что у меня два usb винчестера на 500 гб и 1тб, на которых и хранится все самое важное для веселой жизни, и разбиты они в ntfs и ext4. И, естественно, планшет их не видит.

Вот мой доброволец


Вот и первая причина поковыряться. После просмотра 200 страниц форума на xda-developers.com очертились определенные
плюсы и минусы
минусы плюсы
нужны соответствующие модули ядра linux обновление прошивки до 2.2, заботливо собранную народными умельцами из стекла и картона + прошивки superpad 2
ушлые китайцы исходных кодов ядра под данный девайс не дают и всячески препятствуют их получению…


На данном этапе все попытки вскрытия данного планшета отложились в долгий ящик. До славного времени для студента – сессии. А так как на сессии студенты делают абсолютно все, лишь бы не по предмету, то веселые ночные посиделки в интернете на заведомо буржуйских сайтах возобновились. И пришла гениальная идея поставить на данный планшет православный linux, в моем случае – ubuntu.
Что из этого вышло, смотрим ниже.
Читать дальше →

Практическое применение DNSSEC

Reading time10 min
Views68K


В статье описываются недостатки существующей структуры DNS, полный процесс внедрения DNSSEC на примере доменов .com и .org, процедура создания валидного самоподписанного SSL-сертификата подписанного с помощью DNSSEC.

Читать дальше →

Как решить семейные разногласия с помощью 4 контроллеров и 2 умных часов за 1 месяц

Reading time12 min
Views55K
image

«Умный дом» всё увереннее мигрирует из сферы гик-экзотики в направлении достаточно доступных технологий, с помощью которых можно сделать своё жильё комфортнее, удобнее, энергоэффективнее и вообще «ничоси!». И в этой статье я хотел бы поделиться с вами собственным опытом создания системы «умного дома» в своей квартире.

Немного о розетках


Моя жена очень любит выключать всё из розеток. Уходя, она всё выдергивает, а я потом возвращаюсь домой и вставляю обратно. Мне это не нравится. Я пробовал разное: просил, уговаривал, убеждал, угрожал — ничто не помогло. И тогда я решил, что надо найти высокотехнологичный способ уладить конфликт: каким-то образом коммутировать розетки, чтобы не нужно было физически вытаскивать штекеры по всей квартире.
Читать дальше →

Простейший аттенюатор для аудиокарты

Reading time5 min
Views50K
В любительской радиотехнике, а именно в области проектирования усилителей низкой (звуковой) частоты, очень удобно использовать для измерений компьютер.
Профессиональные измерительные приборы стоят немалых денег, тогда как аудиокарта имеется почти в любом домашнем компьютере. В совокупности с доступным и разнообразным ПО мы получаем удобный инструмент для снятия всех основных характеристик: АЧХ (амплитудно-частотная характеристика), THD (уровень гармонических искажений), соотношение сигнал/шум и спектрограмму.



Единственным неудобством оказывается слишком чувствительный вход аудиокарты,
на который нельзя подать сигнал, превышающий напряжение 0.5-1.5 вольта.
И здесь на помощь приходит аттенюатор.

Его можно (и нужно) собрать самостоятельно. Ничего хитрого в этом опыте нет, но для тех, кто делает первые шаги в усилителестроении, материал будет полезным.
Читать дальше →

Многопоточные вычисления в PHP: pthreads

Reading time5 min
Views101K

Недавно я попробовал pthreads и был приятно удивлен — это расширение, которое добавляет в PHP возможность работать с несколькими самыми настоящими потоками. Никакой эмуляции, никакой магии, никаких фейков — все по-настоящему.



Я рассматриваю такую задачу. Есть пул заданий, которые надо побыстрее выполнить. В PHP есть и другие инструменты для решения этой задачи, тут они не упоминаются, статья именно про pthreads.


Стоит отметить, что автор расширения, Joe Watkins, в своих статьях предупреждает, что многопоточность — это всегда не просто и надо быть к этому готовым.


Кто не испугался, идем далее.

Читать дальше →

Information

Rating
5,818-th
Date of birth
Registered
Activity