Pull to refresh
10
0
Duke @Duke

Веб-программист

Send message

Как проверить и проанализировать использование памяти в системе Solaris

Reading time4 min
Views13K
Очень часто господа системные администраторы сталкиваются с проблемой просмотра загрузки операционной системы, и если большинству в общем то знакомы системы мониторинга на стандартных операционных системах, то в системе Solaris — это часто вызывает много вопросов и сомнений, особенно в выводах команд пугающих своими цифрами. Сегодня попробуем немного в этом разобраться.
Читать дальше →

asp.net: ListView с разных сторон

Reading time7 min
Views16K
Элемент управления ListView был представлен в .Net Framework 3.5 как замена устаревшему GridView. Новый элемент имеет более расширенный функционал, чем его предшественник, но в тоже время лишен некоторых внутренних механизмов, что впрочем целиком следствие из расширенной универсальности ListView. Среди отличий ListView и GridView можно назвать и гибкую настройку разметки, что позволяет выводить данные не только в табличном виде, но и вообще в любом каком пожелает программист. Благодаря шаблонам ItemTemplate, EditItemTemplate, InsertItemTeplate можно настроить внешний вид при любом из состояний ListView: редактировании или выборе элемента.

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

Игра «Terraria» и её «хорошая» система шифрования профайлов

Reading time3 min
Views14K
Как-то на днях я сидел и готовился к предстоящему экзамену. Но одногруппник же хотел, чтобы я его завалил. Зная, что я «падкий» на игры в стиле Minecraft, он скинул мне игру Terraria. Вначале интерес к ней зашкаливал, но чуть позже, из-за «убогости» на мой взгляд одиночной игры, он упал, и я решил поиграть в мультиплеер, где и была обнаружена интересная особенность: все добытые в одиночной игре вещи, были у меня в инвентаре даже на различных серверах в мультиплеере. Это и натолкнуло меня на мысль набрать в инвентарь по-больше «крутых» вещей. Как это было достигнуто — под катом.
Читать дальше →

Oracle. Безопасность на уровне строк

Reading time5 min
Views24K

Введение в проблему


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

Стратегия восстановления поврежденной таблицы в MySQL

Reading time4 min
Views11K
Началось все с того, что в один прекрасный момент ядро прибило демона mysqld и mysql_safe автоматом его перезапустил и все бы хорошо, да только таблицы в БД использовались MyISAM. В итоге пришлось воспользоваться myisamcheck но это совсем другая история. В процессе проверки и починки индексов пострадала одна таблица и было принято решение восстанавливать из бекапов, хорошо, что раз в сутки делаются.

Исходные данные:
  • имеем сервер БД с MySQL на борту;
  • поврежденную таблицу логов(статистики) чего угодно, что постоянно заполняется и может например не использоваться какое-то время;
  • суточный бекап;
  • бинарные логи с последнего суточного(полного) бекапа.

Задача:
  • сервер должен быть доступен для работы;
  • новые данные должны попадать в таблицу;
  • восстановить целостность данных.

Ожидаемый результат:
данные в поврежденной таблицы восстановлены без останова базы дынных;
таблица содержит все данные включая текущие.
Читать дальше →

Использование Access Control Service 2.0 для авторизации в своих приложениях

Reading time3 min
Views7K

При разработке своего веб-приложения или сервиса всегда возникает вопрос, как авторизовать пользователей. В очередной раз просить их ввести свои данные и e-mail и запомнить очередной пароль?

Было бы здорово иметь возможность дать пользователям, которые уже имеют аккаунты в популярных социальных сетях или сетевых сервисах авторизоваться на нашем ресурсе, без необходимости заново вводить все данные.
Читать дальше →

Опытные мелочи-4, или «Померяемся бэкапами?»

Reading time6 min
Views32K
image Продолжение «опытных мелочей». Предыдущие части: раз, два, три.

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

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

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

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

Конкурентный доступ к реляционным базам данных

Reading time13 min
Views64K
СхемаВопросы параллелизма в компьютерных вычислениях очень сложны! Причинами большой сложности являются огромное количество деталей, которые нужно учитывать при разработке параллельных программ. В программирование и без того существует большое количество деталей, которые создают почву для ошибок, параллелизм же, добавляет ещё.

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

Версионная миграция структуры базы данных: основные подходы

Reading time15 min
Views139K
Проблемы контроля версий баз данных и миграций между версиями уже не раз поднимались как на Хабре (1, 2, 3 и др.), так и в Интернете (преимущественно, англоязычном).

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

Типовые ошибки на собственных сайтах веб-студий

Reading time8 min
Views68K
Привет, Хабр! Я продолжаю цикл статей по теме маркетинга и продаж в веб-студиях / интерактивных агентствах. В этом материале я хочу поговорить о собственных сайтах студий и типовых ошибках, которые очень часто совершают их владельцы.

Этот дайджест основан на моем приличном опыте мониторинга и анализа сайтов на рынке веб-разработок (исследования конкурентов в ADV, мониторинг и анализ участников «Тэглайн», проведение заказных аудитов для студий и пр.).

Я попытался систематизировать основные «ляпы» и упущения по нескольким основным категориям, на которых и остановлюсь подробнее:
  • Ошибки позиционирования;
  • Ошибки расстановки приоритетов;
  • Неправильная презентация компании и услуг;
  • Неправильная презентация портфолио и кейсов;
  • Ошибки в коммуникации с заказчиком;
Читать дальше →

Scrum и управление требованиями в web-разработке

Reading time6 min
Views22K
Про scrum написано много, но примеры реального применения встречаются не так часто. Некоторое время я занимался внедрением scrum в потоковой web-разработке, хотел бы поговорить на эту тему и поделиться своими мыслями.

Бум интереса к этой методологии прошел, однако до сих пор многие молодые команды легко очаровываются теоретической магией scrum, обещанием щелкать новые требования, как орешки, и не морочиться по ТЗ, бросаются внедрять на своем производстве и тут же натыкаются на трудности. Scrum вообще родился как методология разработки ПО, если вдруг кто забыл, и для успешного использования в web-разработке требует некоторой настройки. Это отдельный вопрос, в этой заметке я хотел бы затронуть другую тему и предостеречь от очевидных, в общем-то, ошибок, связанных с формированием требований к проекту. В любом описании методологии по запросу в Google говорится про важность роли scrum master'a и изложении требований к проекту в виде историй, но никто не говорит о том, откуда берутся требования, и нужно ли вообще их реализовывать. Без понимания этого момента сделать что-то путное вряд ли получится, и методология тут ни при чем.
Читать дальше →

Еще раз про Oracle standby

Reading time13 min
Views169K
Представим себе ситуацию, когда наш проект, использующий в качестве СУБД Oracle, неожиданно (или с надеждой ожидаемо) стал критически важным для бизнеса (соответственно, появилась готовность выделять средства на обеспечение надежности системы).
До этого момента мы вполне обходились ежедневным или даже еженедельным бэкапом («горячим» или «холодным» копированием, а может и просто экспортом данных) и нас устраивало время восстановления системы порядка суток (будем считать, что данных у нас на пару терабайт).
И вот оказалось, что на восстановление системы нам отводится не более часа, и никакие данные нам терять нельзя.
Итак, все указывает на то, что нам придется поднимать standby сервер.
В принципе, большая часть из того, о чем говорится в этой статье, описано в «Oracle Data Guard Concepts and Administartion», а также в куче мест на просторах Сети, но, по большей части, это инструкции, содержащие последовательность команд, без особого описания их смысла и, главное, без рекомендаций, что делать, если что-то идет не так.
Я постараюсь описать процесс развертывания физической standby базы максимально подробно с указанием тех грабель на которые когда-либо натыкался.
Указание на случайно не обнаруженные мной проблемы, а также любые уточнения и дополнения всячески приветствуются.
Читать дальше →

Нужна ли аспирантура?

Reading time5 min
Views93K
Этот вопрос мне задают настолько регулярно, что решил оформить это все в единый поток мыслей, чтобы в следующий раз просто прислать ссылку.

Несмотря на то, что поставленный вопрос достаточно простой, ответ на него далеко не простой. Хотя есть и простой ответ: «it depends». И это действительно так.

Статью построим в виде «описание тезиса» – «контраргументы» — «вывод».

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

Software versioning

Reading time10 min
Views64K

Методология изменения версий продукта программного обеспечения


   Software versioning — это процесс создания уникальных имен или номеров для различных версий продуктов программного обеспечения.

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

Большая коллекция игр для Ubuntu на DVD — Ubuntu GamePack

Reading time8 min
Views7.9K
Доступна для загрузки Самая большая коллекция игр для Ubuntu — Ubuntu GamePack.

На 4-х DVD-дисках собраны более двухсот увлекательных игр: стратегии, шутеры, симуляторы, фэнтези, головоломки, образовательные игры для детей и многие другие жанры.

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

Большинство игр возможно скачать из официального репозитория Ubuntu или дополнительного www.playdeb.net.
Но преимущество данного сборника состоит в том, что имея его под рукой и не имея БЫСТРОГО интернета (некоторые инсталляции игр занимают более 100М, а такой объем вы вряд ли скачаете быстро по модему), вы с легкостью можете установить игру на компьютере не имеющего подключения к интернет.
Все игры на дисках упорядоченны по жанрам.

Диски содержат только игры и не содержат операционной системы, поэтому требуют предустановленную систему Ubuntu Desktop 10.04 или новее.
Все игры представленные на дисках имеют установочные пакеты для 32-х и для 64-х разрядных систем.

Загрузить сие творение можно:
с FTP — http://ualinux.com/ru/windows-download/category/6-gamepack

c torrent — http://rutor.org/torrent/104504

для жителей Украины будет удобна загрузка с — http://www.ex.ua/view/6131394

Список игр на дисках:
Читать дальше →

Защищаем VPS-сервер на базе Windows 2008 R2

Reading time3 min
Views21K
Это вольный перевод моего поста из блога моей компании — о том, как я разгребал последствия хакерской атаки на наш сервер.

Если в двух словах — мой сервер взломали. Злоумышленник получил пароль к FTP-серверу и в течении почти 10-ти часов скачивал все, до чего дотянулись ручонки. То, как, собственно, был взломан сервер — отдельная история. Вкратце — хакер отправил фальшивый саппорт-тикет моему хостеру с просьбой помочь создать FTP-юзера. И хостер, в общем-то, повелся. Мало того, что создал юзера, да еще и дал ему админские права… Переписку хакера с хостером (мне удалось завладеть копией) я — если хабровчане захотят — выложу обязательно, это отдельная веселуха. А пока просто перечислю шаги, которые я предпринял, чтобы защитить свой сервер и ликвидировать последствия:
Читать дальше →

Database: просмотр Top Activity без Enterprise Manager

Reading time4 min
Views12K
imageКогда идет разработка, связанная с базами данных, практически всегда присутсвует необходимость посмотреть чем занята база в данный конкретный момент времени.
Если к администратору БД подходит разработчик и просит посмотреть почему его запрос «тормозит», то матерый DBA достанет собственноручно написанные скрипты-обертки над скрытыми x$ views и вмиг скажет, что является причиной расстройства разработчика.

Но если DBA не так суров? Он начинающий DBA или вообще не DBA, а просто следит за базой?
В этом ему помогут инструменты описанные под катом.
Читать дальше →

Как не выстрелить себе в ногу

Reading time5 min
Views5.7K
Без использования unit-тестов и TDD очень легко выстрелить себе в ногу. С тестами и TDD сделать это намного сложнее, но если у вас получится, вы останетесь без ноги.

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

В этой статье я постараюсь объяснить о чем, собственно, разговор. Для чего нужно TDD и как его аккуратно использовать.

Что такое TDD в двух словах? — это написание разработчиком тестов до реализации функциональности.
По совету Роя Ошерова разобьем вопрос применимости TDD на два:

  • Зачем писать тесты?
  • Зачем писать тесты до реализации?

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

Человеческий фактор или «соглашения не работают»

Reading time4 min
Views3.7K
Представьте ситуацию. Вы со своей командой, после очередной итерации, обсуждаете слабое покрытие кода тестами и решаете что с понедельника текущего момента все пишут тесты как для нового кода, так и для всплывающих багов. Это кажется разумным (кто-то вспоминает последний неудачный деплой), все поддакивают и довольные расходятся с мыслью, что ну вот теперь то у нас точно все будет отлично. Приходит время следующего собрания на котором во время вопроса «а как у нас с тестированием» большинство отводит глаза. Результат ясен, все осталось по старому.

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

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity