Как стать автором
Обновить
1
0
Владимир Щипанов @Zloy_pacifist

PHP-developer

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

Как дебажить переменные окружения в Linux

Время на прочтение4 мин
Количество просмотров28K
Часто бывает так, что приходишь на машину и обнаруживаешь какой-то скрипт, запущенный под системным пользователем неделю назад. Кто его запустил? Где искать этот run.php? Или добавляешь запись в /etc/crontab, а скрипт там падает с ошибкой «command not found». Почему? И что делать? 

У меня есть ответы на эти вопросы.

Читать дальше →
Всего голосов 88: ↑86 и ↓2+84
Комментарии22

Приятное с полезным или разработка под ASIO на C++

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

Будучи потенциальным программистом и любителем электрогитар, я не мог остаться в стороне от разработки музыкального ПО. Все кто когда-либо пытался подключить электрогитару к компьютеру на ОС Windows, используя какой-либо гитарный процессор, знают, что зачастую для этих целей требуется наличие интерфейса ASIO (Возможно и другие, но ASIO наиболее популярен). Это связано с тем, что для обработки звукового ввода и вывода тратится значительное время, и, как следствие, при игре на инструменте слышно неприятную задержку, которая весьма сильно затрудняет игру. ASIO позволяет пропустить этап микширования звука при его выводе и, соответственно, значительно уменьшить задержку. Подробнее об этом здесь.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии26

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

Время на прочтение14 мин
Количество просмотров35K
TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того, что на самом деле умеет фреймворк.

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



Для освоения Angular нужно очень много всего изучить. Многие разработчики застревают на начальных этапах освоения Angular. Происходит это из-за того, что они не знают о том, куда им двигаться, или не знают того, по каким ключевым словам им искать информацию, которая позволит им сделать шаг вперёд. Автор этого материала говорит, что ей, когда она начинала осваивать Angular 2+, хотелось бы, чтобы ей попалось бы руководство по данному фреймворку, похожее на это.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии11

Бенчмарки для Linux-серверов: 5 открытых инструментов

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

В список вошли утилиты, предлагаемые резидентами GitHub и участниками тематических тредов на Reddit, — Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone.

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии5

Делаем педаль реверберации с применением микросхем PT2399 (часть 1)

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

Вступление


Реальная реверберация происходит в рабочей камере, когда генерируемый звук отражается от стен, мебели, людей или любого другого объекта в сложном трехмерном пространстве. Естественный процесс реверберации показан на рисунке 1.


Рисунок 1. Реверберация в реальной ситуации

В старые добрые времена единственный способ воспроизвести эффект реверберации — использовать реальную реверберационную камеру — большую комнату со сложной геометрией и тщательно отобранным материалом для стен, с установкой громкоговорителей и микрофона в определенных местах внутри камеры. Первая попытка имитировать реверберацию в помещении без реальной реверберационной камеры осуществлялась с помощью реверберационного резервуара с пружиной (см. ссылку [1]). Основная конструкция пружинного ревербератора показана на рисунке 2.


Рисунок 2. Конструкция резервуара с пружинной реверберацией
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Восемь малоизвестных опций Bash

Время на прочтение3 мин
Количество просмотров43K
Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

set -o xtrace

для отладки,

set -o errexit

для выхода по ошибке или

set -o errunset

для выхода, если вызванная переменная не установлена.

Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
Читать дальше →
Всего голосов 82: ↑79 и ↓3+76
Комментарии13

Изготовление печатных плат ЛУТ'ом от А до Я

Время на прочтение8 мин
Количество просмотров131K
Доброго времени суток! Среди моих знакомых бытует мнение, что самостоятельно изготавливать печатные платы (ПП) бесполезно. Учитывая, что современные компоненты далеко ушли от DIP корпусов, то кустарно травить платы под них даже и не стоит пытаться. Тем не менее необходимость в быстрой оценке того или иного компонента всегда есть, и ждать несколько суток заказанной платы времени нет. И это учитывая, что заказ за «несколько суток» дорог, для одноразовой задачи.

В данной статье я хочу изложить порядок действий, которые позволят быстро изготавливать ПП под компоненты в корпусах подобных TQFP-100, то есть с ногами 0,2мм и таким же зазором, и при этом сводить брак к минимуму.

Конечно это способ изготовления плат только для прототипов, но он снижает риски ошибиться при создании конечного устройства.

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

Под катом подробности и трафик.
Подробности
Всего голосов 88: ↑86 и ↓2+84
Комментарии86

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Время на прочтение7 мин
Количество просмотров121K
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

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

Всего голосов 57: ↑56 и ↓1+55
Комментарии9

Ловушка (тарпит) для входящих SSH-соединений

Время на прочтение4 мин
Количество просмотров37K
Не секрет, что интернет — очень враждебная среда. Как только вы поднимаете сервер, он мгновенно подвергается массированным атакам и множественным сканированиям. На примере ханипота от безопасников можно оценить масштаб этого мусорного трафика. Фактически, на среднем сервере 99% трафика может быть вредоносным.

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

Чаще всего тарпиты применяют для защиты. Технику впервые разработали для защиты от компьютерных червей. А сейчас её можно использовать, чтобы испортить жизнь спамерам и исследователям, которые занимаются широким сканированием всех IP-адресов подряд (примеры на Хабре: Австрия, Украина).
Читать дальше →
Всего голосов 86: ↑84 и ↓2+82
Комментарии66

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения

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


Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo.

Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер.

Недавно мы рассказывали о том, какими инструментами пользуемся для профилирования. Напомню: одним из инструментов для анализа производительности, когда непонятно, какие части кода повлияли больше всего на увеличение времени формирования ответа, является XHProf. Это расширение для PHP, которое позволяет профилировать код на боевом сервере и впоследствии  улучшать его.

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

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

В этой статье я расскажу о деталях реализации и особенностях использования этого инструмента.
Читать дальше →
Всего голосов 84: ↑84 и ↓0+84
Комментарии7

Магические жесты как вызов для электронщика

Время на прочтение7 мин
Количество просмотров17K
Волшебная палочка — это круто, но куда круче творить волшебство просто движением рук. Чтобы это стало возможным, в 2014 году мы занялись распознаванием жестов и сделали перчатку на акселерометрах для ролевой игры. Проект получился сложным и с далеко идущими последствиями.


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

Перчатка — устройства ввода. Датчик изгиба

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

Предисловие


В данной статье рассмотрим как сделать руку-клавиатуру, а также самодельный датчик изгиба (сгибания). На одной руке, как правило, 5 пальцев — это дает сделать 32 (2^5) комбинации. Но на русский язык не потянет (33-32 символа), а вот на английский язык как раз, ещё и останется место для space/backspace/enter и т.д.


Немного идей: если подумать, то это интересный джойстик; если присоединить вторую руку, то это 1024 комбинации, а это возможно музыкальный инструмент; внедрить гироскоп/акселерометр и улучшить до мышки.

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

20 Eloquent ORM трюков

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

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

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

Не так страшен жидкий металл

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


T-1000


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

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

Да, все эти страхи обоснованы. Однако если Вы уверены, что руки растут из правильного места, то глупо хотя бы раз не попробовать воспользоваться магией под названием liquid metal. Ни один кулер никогда не даст вам такого прироста производительности системы охлаждения.

А в некоторых случаях даже в скальпировании нет необходимости. О чем и пойдет речь далее.
Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Комментарии176

30 секунд CSS

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


Предлагаем вашему вниманию коллекцию полезных CSS-сниппетов, в которых вы можете разобраться за 30 секунд, а то и быстрее.

Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии52

Первое знакомство с командой ss

Время на прочтение4 мин
Количество просмотров65K
В Linux есть программы, которые пригодятся программистам, специалистам по информационной безопасности, администраторам… короче говоря, каждый найдёт здесь то, что ему нужно.

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



Сегодня мы поговорим о том, как применять ss для того, чтобы узнавать о том, что происходит с сетью на компьютере, работающем под управлением Linux.
Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии13

Возможности JavaScript, о существовании которых я не знал

Время на прочтение5 мин
Количество просмотров48K
image На днях я читал материалы на MDN и наткнулся на некоторые довольно интересные возможности и API JavaScript, о существовании которых я не знал. Хочу сегодня о них рассказать.

Не берусь судить о том, пригодятся ли они кому-нибудь, но, полагаю, что раз уж всё это есть в языке, то об этом полезно, как минимум, знать.
Читать дальше →
Всего голосов 82: ↑74 и ↓8+66
Комментарии149

21 совет по эффективному использованию Composer

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

Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии7

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Время на прочтение25 мин
Количество просмотров128K
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии69

Двенадцать советов по повышению безопасности Linux

Время на прочтение8 мин
Количество просмотров54K
imageМы живём в опасное время: едва ли не каждый день обнаруживаются новые уязвимости, на их основе создают эксплойты, под ударом может оказаться и обычный домашний компьютер на Linux, и сервер, от которого зависит огромная организация.

Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии84

Информация

В рейтинге
Не участвует
Откуда
Омск, Омская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer, Web Developer
Lead
PHP
JavaScript
Node.js
TypeScript