Search
Write a publication
Pull to refresh
3
0
Дмитрий Олегович @k3NGuru

DevOps

Send message

Практикум AngularJS — разработка административной панели

Reading time12 min
Views137K
При создании сайтов часто возникает задача создания админки для редактирования контента. Задача, в общем, тривиальная, но сделать удобную админку не так-то просто.

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

Всем известный jQuery-плагин tablesorter с tablesorterPager-ом и менее известный, но гораздо более функциональный DataTables хороши, но обладают некоторыми недостатками. Главный из них — сложность динамического добавления новых строк в таблицу (после добавления строки в таблицу, новая строка потеряется при следующем вызове сортировки). tablesorter вообще не даёт средств для добавления строки в свой кэш, DataTables предоставляет широкое и функциональное API для управления внутренним представлением таблицы, но это API довольно многословно и не очень гибко.

Хочу предоставить общественности реализацию админки на относительно новой javascript-фреймворке AngularJS. Будет создана страничка для редактирования списка вопросов, разбитых по категориям и отвечающим. В статье нет сравнения с другими подобными фреймворками, но нет и простого повторения официальной документации, я постараюсь поделиться своим опытом в использовании фреймворка и расскажу о нескольких интересных приёмах работы с ним.

Сразу приведу, что получится в итоге (кликабельно):


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

RAID из USB флешек

Reading time1 min
Views65K
Нашел я тут пакетик с USB флешками разных лет использования. Как обычно, в работе только две самые последние и самых больших размеров. Остальные — тут.

И возникла идея сделать из них RAID, например, просто «concatenated disk», ибо в OSX это делается очень просто. Идеи тут минимум, но было интересно попробовать.
Читать дальше →

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Усилитель для наушников, чуть сложнее

Reading time5 min
Views204K
Проапгрейдил недавно компьютер на LGA2011, на коробке от относительно недешевой платы красовалась надпись «супер пупер звук, 110Дб вся фигня». Отлично подумал я, хороший звук никогда не помешает. Следующие 2 дня я неистово гнал железо, и все было хорошо. А потом вернулся к обычной работе, и естественно, к рабочей музыке. Тихо. Нет. ТИХО! 100% громкости едва хватало для комфортной громкости с моими обычными 32-х омными наушниками (Sennheiser HD 448, отличающихся не самой высокой чувствительностью), а если запись была сделана с низким уровнем сигнала — то хоть волосы вырывай.

От безысходности начал было даже слушать через bluetooth A2DP адаптор, но само собой и качество и аккумуляторы (~6 часов) вгоняли в печаль…

Стало ясно что жить так больше нельзя…
Читать дальше →

Один конфиг Nginx для работы с кучей разных сайтов

Reading time3 min
Views107K
Если вам приходилось настраивать Nginx под нужды веб-студии, сеошников или киберсквоттеров ;), то уже наверняка знаете про символ подчёркивания в качестве server_name. Тем не менее несколько других небесполезных приёмчиков из моего примера почерпнуть можно.

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

Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.

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

SCSS — немного практики, часть I

Reading time5 min
Views554K

image


Статей про SASS(SCSS), Less на хабрахабре уже полно, но на мой взгляд не хватает такой, в которой было бы немного реальной практики. Я постараюсь восполнить этот пробел. Около года назад одна из SASS-статей меня "зацепила", и с тех пор я полюбил эту технологию настолько, что ручной набор обычного CSS кода представляется мне лишней тратой времени. Сия статья посвящается тем верстальщикам (или web-программистам), которые про SCSS ещё не слышали, или же ещё не пробовали в деле. Более опытным товарищам, полагаю, в ней ловить нечего.


Что такое SCSS


SCSS — "диалект" языка SASS. А что такое SASS? SASS это язык похожий на HAML (весьма лаконичный шаблонизатор), но предназначенный для упрощения создания CSS-кода. Проще говоря, SASS это такой язык, код которого специальной ruby-программой транслируется в обычный CSS код. Синтаксис этого языка очень гибок, он учитывает множество мелочей, которые так желанны в CSS. Более того, в нём есть даже логика (@if, each), математика (можно складывать как числа, строки, так и цвета). Возможно, некоторые возможности SCSS покажутся вам избыточными, но, на мой взгляд, лишними они не будут, останутся "про запас".

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

Опытные мелочи-3, или «Центральное Файлохранилище»

Reading time3 min
Views51K
Продолжаем цикл постов об «опытных мелочах». Предыдущие части можно почитать тут: раз, два.

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

Опытные мелочи Windows-админа

Reading time3 min
Views173K
Всегда имел желание написать цикл постов, где был бы понемногу изложены разные интересные мелочи и задачи, которые приходилось решать в повседневной рутине системного администратора.
Возможно, кое-что из описанного будет полезно другим сисадминам.

Сразу оговорюсь, что в качестве исходных данных имею Windows среду и домен Active Directory, причем ОС преимущественно WindowsXP — Server2003. Ну и обслуживаемые компании были в основном некрупными (от 30 до 500 пользователей).

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

Управление радиоэфиром через браузер

Reading time5 min
Views33K
Airtime LogoВ процессе создания своей радиостанции поток идей дошел до ведения эфиров через веб-интерфейс. Сначала пытался найти готовые решения, но в рунете почти ничего не нашел. Начал продумывать способ реализации и чудом наткнулся на статью в английской версии Википедии про Airtime (до 18 января 2011 г. – Campcaster) от Sourcefabric.

Возможности Airtime:
  • Создание эфирной сетки и плейлистов через веб-интерфейс ;
  • Загрузка музыки через браузер (поддержка drag and drop);
  • Регистрация ведущих, которые имеют доступ к админке и могут управлять эфирами;
  • Создание виджетов с расписанием эфиров и треков для сторонних сайтов;
  • Возможность записывать эфиры для повторной трансляции;
  • Несколько вариантов трансляции аудиопотока.
Минимальные системные требования, описанные в официальной инструкции: 1Ghz процессор и 512Mb оперативной памяти.
Читать дальше →

Работа с виртуальными машинами KVM. Введение

Reading time4 min
Views77K
Как и обещал, начинаю серию статей о том, как мы делали услугу аренды выделенных серверов на базе KVM.

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

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

Как управлять виртуальными машинами, если их много

Reading time6 min
Views18K
После того, как у нас вышли в релиз еще несколько проектов, а количество тикетов в трекере на тему «создать пользователя, развернуть виртуалку, дать доступ» превысило все мыслимые пределы, назрела необходимость что-то менять.
Задача: организовать рабочее окружение linux для нескольких команд разработчиков и тестировщиков. Общее количество виртуальных машин — три-четыре десятка.

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

Маркировка кабелей

Reading time6 min
Views122K
В этой статье:
  • подготовка таблицы коммутаций;
  • варианты маркировки (что наносить на кабели);
  • обзор методов нанесения маркировки;
  • пример работы с одним из методов, включая макрос и шаблон для распечатки.
Читать дальше →

Как стать системным администратором — пособие для начинающих (часть 1)

Reading time10 min
Views843K
Так получилось, что эту весну я провёл в поисках/собеседованиях людей аж на четыре вакансии, связанные с системным администрированием. Я пообщался с несколькими десятками людей и заметил характерные ошибки и проблемы, с которыми они сталкиваются. Излагаю то, что заметил, а так же свои мысли, как эти проблемы решить.

scope: начинающие системные администраторы, помощники системных администраторов и т.д. Опытным администраторам, а так же тем, кто имеет вполне конкретную специализацию будет если и интересно, то бесполезно.

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

Какие бывают системные администраторы?

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

SSH-туннель домой без необходимости оставлять включённым домашний ПК

Reading time5 min
Views215K
Disclaimer
Этот пост появился здесь по нескольким причинам:
1) Меня попросил сам Boomburum
2) Есть предположение, что на хабре всё-таки есть люди, имеющие прямое отношение к IT, но при этом имеющие весьма отдалённое представление о пользе SSH и её извлечении из обычного домашнего роутера, и которым, надеюсь, будет весьма интересно и полезно об этом узнать.

Хабралюдям, познавшим Дао IOS, tun, VPN, *wrt, WOL… etc, предлагается на выбор:
А) Закрыть топик, заняться делом и не выводить себя из нирваны чтением этой любительской фигни.
Б) Потратить время на конструктивную критику и полезные дополнения в комментариях.
Специально для GrammarNazi:
Пишите пожалуйста об ошибках в личку — обещаю исправиться.
Бла-бла-бла, а топик-то о чём?
Итак, я обещал рассказать «как поднять ssh-туннель домой без необходимости оставлять включённым домашний ПК» и, как правильно догадался peter23 речь пойдёт про ssh-сервер на роутере.
Читать дальше →

Трёхуровневая модель сети и технологии VLAN, DHCP, OSPF, STP, SNMP, ACL, NTP на Cisco и D-link

Reading time10 min
Views104K
Статья поможет новичкам понять как настраивать оборудование Cisco и D-Link в трёхуровневой модели сети. Конфигурация, представленная тут, не является эталонной или базовой — она для примера и понимания сути вещей, т.к. для каждого сетевого решения применяются свои параметры и технологии.
Читать дальше →

Хранение и шифрование паролей Microsoft Windows

Reading time7 min
Views92K
Про взлом паролей windows было написано немало статей, но все они сводились к использованию какого-либо софта, либо поверхностно описывали способы шифрования LM и NT, и совсем поверхностно описывали syskey. Я попытаюсь исправить этот неодостаток, описав все подробности о том где находятся пароли, в каком виде, и как их преобразует утилита syskey.

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

Краткое введение в терминалы и консоль

Reading time3 min
Views76K
Тут живут драконы и нет ментейнеров (вместо эпиграфа)

Очень сжатое боевое описание «что есть псевдо-терминал» и «консоль».

Итак, во-первых, определимся с тем, что такое консоль: консоль это программа, которая принимает от пользователя кнопки, а от соединения с компьютером — буквы на экран и спец. команды по рисованию картинки на экране.

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

Как легко понять по кабелю, есть два конца: терминал и то, что ему посылает байтики в кабель.

Когда запускается шелл, то он получает в своё распоряжение виртуальное устройство /dev/tty, которое у каждого процесса своё — это «обратная» часть терминала. Передняя часть в случае кабеля реализуется путти+компьютер, в случае консоли компьютера, специализированным ядерным драйвером (виртуальными консолями). Важно: драйвер эмулирует наличие терминала.
Читать дальше →

Краткий обзор ядерного NAT-а в FreeBSD

Reading time5 min
Views36K
Распространенных вариантов NAT-а под FreeBSD есть довольно много. Это и natd, ipnat, pfnat, ng_nat либо как вариант «купи ASA 5550 и не выделывайся».


К сожалению, в последнее время мне попадалось очень мало хороших и главное доступных статей о ipfw nat который появился, если мне не изменяет память еще в 7.0.
Засим рассматривать под лупой сегодня будем мы именно его.

Истинным адептам pf под кат рекомендуется не заглядывать, чтобы не травмировать себя излишними знаниями.

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

Настройка групповых политик ограниченного использования программ в Windows 7

Reading time2 min
Views210K

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

Поскольку у меня стоит Windows 7 Professional, первой идеей оказалось использование AppLocker'a, однако быстро выяснилось, что работать в моей редакции винды он не хочет, и требует Ultimate или Enterprise. В силу лицензионности моей винды и пустоты моего кошелька, вариант с AppLocker'ом отпал.

Следующей попыткой стала настройка групповых политик ограниченного использования программ. Поскольку AppLocker является «прокачанной» версией данного механизма, логично попробовать именно политики, тем более они бесплатны для пользователей Windows :)
Читать дальше →

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

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше
12 ...
51

Information

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