Pull to refresh
0
0
samu3l @Samu3l

User

Send message

У вас 2-3 HDD? Ускорим загрузку и реакцию Windows и программ

Reading time4 min
Views28K
Когда компьютер со всем набором программ в автозагрузке стал грузится 4 минуты я подумал о том, чтобы всё это ускорить.
У меня стояла Windows XP и расширение Астер, которое позволяет работать за компьютером вдвоём, поэтому часть программ и сервисов грузилась в двойном экземпляре.

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

Метод ускорения для Windows XP при наличии трёх винчестеров:

1. Переносим папки «Documents and Settings» и «Program Files» на первые разделы других винчестеров. Таким образом, на загрузочном диске из основных папок у нас остаётся только папка «Windows»
2. Создаём на диске с «Windows» ссылки файловой системы (junction-link) на перенесённые папки. Подробнее будет ниже.

Получается, что папки «Windows», «Documents and Settings» и «Program Files» находятся на разных винчестерах.
Что это нам даёт?
Total votes 97: ↑58 and ↓39+19
Comments152

Party hard по-программистски, или как мы писали ClojureCup 2014

Reading time5 min
Views11K
В минувшие выходные Clojure-сообщество испытывало… Ой, так начинался прошлогодний пост с отчётом о прошедшем ClojureCup 2013.

ClojureCup — это 48-часовой онлайн-хакатон, обязательным условием которого является написание приложений на языках Clojure/ClojureScript. В этом году в хакатоне участвовало около 50 команд (в каждой по 1-4 человека), которые сделали множество классных приложений.

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

А попробовать, что у нас получилось, можно вот тут.



Осторожно: под катом много картинок.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments11

В чем польза ZooKeeper для админов и разработчиков. Семинар в Яндексе

Reading time7 min
Views89K

Привет! Меня зовут Андрей Степачев. В конце прошлого года я выступил перед коллегами с небольшим рассказом о том, что такое ZooKeeper, и как его можно использовать. Доклад изначально был рассчитан на широкий круг аудитории и может быть полезен и разработчикам, и админам, желающим разобраться, как все это примерно работает.





Начнем, пожалуй, с истории появления ZooKeeper. Сначала, как известно, в Google написали сервис Chubby для управления своими серверами и их конфигурацией. Заодно решили задачу с распределенными блокировками. Но у Chubby была одна особенность: для захвата локов необходимо открывать объект, потом закрывать. От этого страдала производительность. В Yahoo посчитали, что им нужен инструмент, при помощи которого они могли бы строить различные системы для конфигураций своих кластеров. Именно в этом основная цель ZooKeeper — хранение и управление конфигурациями определенных систем, а локи получились как побочный продукт. В итоге вся эта система была создана для построения различных примитивных синхронизаций клиентским кодом. В самом ZooKeeper явных понятий подобных очередям нет, все это реализуется на стороне клиентских библиотек.


Стоит отметить, что протокол, используемый Zookeeper называется ZAB, ссылки на описания протокола приведены в конце статьи.



Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments22

Почему стоит изучить Clojure?

Reading time17 min
Views149K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →
Total votes 112: ↑108 and ↓4+104
Comments55

Знакомство с АОП

Reading time10 min
Views128K

Парадигмы программирования


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

У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
  • инструкция (императивное программирование, FORTRAN/C/PHP),
  • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
  • прототип (прототипное программирование, JavaScript),
  • объект (объектно-ориентированное программирование, С++/Java),
  • факт (логическое программирование, PROLOG).

Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.

В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.

Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments70

Управление требованиями к IT-проектам

Reading time9 min
Views123K
Добрый день, уважаемое хабросообщество!

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

image

Введение


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

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

Читать дальше →
Total votes 86: ↑53 and ↓33+20
Comments84

Учёт рисков при оценке трудоёмкости ПО и планировании проекта

Reading time5 min
Views20K

Поговорим о рисках


dice
Что такое риски? Что является риском, а что нет? Как учитывать риски при оценке трудоёмкости ПО и планировании проекта? Об этом я предлагаю поговорить в этом топике. В то же время, чтобы не раздувать топик и не повторяться, здесь не будут обсуждаться вопросы идентификации и митигации рисков — действий по выявлению, уменьшению вероятности возникновения рисков и минимизации их последствий.
После публикации статьи о смертных грехах в оценке трудоёмкости программного обеспечения мне указали, что ни автор, ни я ничего не сказали о рисках. Хочу исправить это досадное недоразумение и поведать вам немного о рисках и моём опыте работы с ними.
Читать дальше →
Total votes 32: ↑24 and ↓8+16
Comments26

Обработка Segmentation Fault в C++

Reading time3 min
Views69K

Вводная


C++ является «небезопасным» («unmanaged») языком, поэтому программы могут «вылетать» — аварийно завершать работу без сохранения данных пользователя, сообщения об ошибке и т.п. — стоит только, например, залезть в не инициализированную память. Например:
void fall()
{
  char * s = "short_text";
  sprintf(s,"This is very long text");
}

или
void fall()
{
  int * pointer = NULL;
  *pointer = 13;
}


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

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

Читать дальше →
Total votes 67: ↑60 and ↓7+53
Comments59

Boost это просто. Часть 2. Boost.Date_time

Reading time15 min
Views37K
Как вы уже поняли, в данной статье речь пойдет о библиотеке Boost.Date_Time. Библиотеке по работе со временем.
 
 
 

В статье мы рассмотрим следующие части библиотеки:

  • Gregorian
  • Posix Time
  • Local Time


Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments16

О ненависти к С++

Reading time12 min
Views62K
С++ or not C++, C++ или Java/Python/Ruby? Как часто вы задаёте или слышите подобные вопросы? Не хотелось бы поднимать очередной холивар — по моему мнению, умные люди давно должны были бы прийти к выводу, что при выборе языка нет той серебряной пули, которая бы поставила окончательную точку, — у каждого языка есть свои плюсы и минусы и чаще всего проблемы в прокладке между клавиатурой и стулом.

Читать дальше →
Total votes 112: ↑87 and ↓25+62
Comments180

Простейший делегат на C++

Reading time7 min
Views85K
logoВ C# есть делегаты. В python есть делегаты. В javascript есть делегаты. В Java есть выполняющую их роль замыкания. А в C++ делегатов нет O_O. Многие талантливые программисты успешно борются с этим недостатком, разрабатывая и используя sigslots, boost::function и другие ценные и нужные библиотеки. К сожалению, большинство реализаций отличаются не только методом использования, но также эпической сложностью применяемой шаблонной магии. Дабы при изучении исходников boost::function волосы не вставали дыбом, я написал эту небольшую статью, показывающую как самым простым и топорным способом реализовать делегат на C++. Описанная реализация является иллюстративной, имеет множество недостатков и ее вряд ли можно применить в серьезных проектах — зато она максимально простая и позволяет ознакомиться с предметной областью не разбирая трехэтажные шаблоны sigslots :).

Посмотреть схему велосипеда - много текста и картинок
Total votes 50: ↑43 and ↓7+36
Comments45

Флеш-память: проблемы для компьютерной криминалистики

Reading time7 min
Views11K
В конце 2010 года Грем Белл и Ричард Боддингтон опубликовали работу «Solid State Drives: The Beginning of the End for Current Practice in Digital Forensic Recovery?» («Твердотельные накопители: начало конца существующим методам судебного восстановления данных?»), которая вызвала неоднозначную реакцию интернет-сообщества. И хотя обсуждаемая в указанной статье особенность работы твердотельных накопителей была впервые озвучена в 2008 году на конференции DEFCON 16, исследована специалистами компании Майкрософт и представлена на конференции разработчиков машинных носителей информации в 2009-м [1, 6-й слайд] и даже упомянута на российских семинарах в 2010-м [2, слайды 10 и 11], признание проблемы и серьезное обсуждение этих особенностей в сообществе криминалистов пришлись на март 2011 года.

В этой заметке я постараюсь рассказать об особенностях работы носителей информации, основанных на использовании флеш-памяти, через призму компьютерной криминалистики.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments13

Information

Rating
Does not participate
Location
Вологда, Вологодская обл., Россия
Date of birth
Registered
Activity