Pull to refresh
38
0
Александр Муравья @kyberorg

SysOp

Send message

Мой отчет по годовому изучению платформы Java EE

Reading time6 min
Views119K
Этот пост – отчет по результатам годового изучения платформы Java EE.
Он будет полезен мне своей отчетностью. Может быть пост будет полезен тем читателям хабра, которые задумали учить Джаву.

подробности
Total votes 126: ↑99 and ↓27+72
Comments139

От инженера до руководителя. Часть 3: Отчёты

Reading time14 min
Views24K
Отчёты — отличная вещь. Они позволяют защищать как заказчика, начальника, так и сотрудника со всем проектом. Они позволяют ими управлять и оценивать их. Вы же, в конце концов пишете код не с усердием дрессированной обезьяны тысячи раз переписывая патерн visitor, а вначале всё-таки сидите и думаете, рисуете на бумажке, планируете код и тесты (я верю в вас!)? Но с другой стороны, отчёты — вещь контроля и организации, которая всех отвлекает от непосредственной работы. И всё равно, в том или ином роде на работе нам приходиться с ними сталкиваться. Зачем и как искать компромисс? Добро пожаловать под кат всем, кому интересно моё мнение по этому вопросу и тем, кто читал мои предыдущие статьи:

От инженера до руководителя. Часть 1: Чувство справедливости
От инженера до руководителя. Часть 2: Делегирование и постановка задачи



Читать дальше →
Total votes 20: ↑13 and ↓7+6
Comments1

От инженера до руководителя. Часть 1: Чувство справедливости

Reading time9 min
Views35K
Работая продолжительное время инженером-программистом, я собирал помимо опыта и знаний ещё недовольство и замечания к рабочему процессу и начальству в частности. Каждый раз, когда я сталкивался с проблемой, я думал над тем, как мог бы я её решить и что я могу сделать в этой ситуации. Что-то удавалось сделать, а что-то разбивалось об процесс и руководящий аппарат. И каждый раз проблема и её решения откладывались мной, с осознанием того, что если бы у меня были нужные рычаги, уж тогда-то я смог бы изменить и сделать так, как правильно. Я даже сформировал ментальную систему, которую, впрочем, поленился формализовать на бумаге. Царящая вокруг меня несправедливость была для меня хоть и сокрытым, но комком в горле, превращающимся в камень на душе. Я ожидал шанса и возможности всё накопленное реализовать и поправить, и однажды возможность подвернулась.

Будьте осторожны в своих желаниях — они сбываются!



Так и случилось, что мне предложили нежданно-негаданно руководящую должность, оценившую мои таланты и навыки и позволяющую реализовать свои амбиции. Беседа с менеджером закончилась в лучших традициях “Ты теперь начальник — управляй”. И теперь мне предстояло воплощать в себе лучезарный и кристально-чистый светоч справедливости и делать людей счастливыми, нести слово и байт людям. Однако, почти сразу же оказалось, что это несколько сложнее, чем мне казалось ранее, что угол зрения на проблемы снизу и сверху несколько различается, и родной код оказался приветливее громадины проблем и забот. Поэтому сейчас я решил наконец-то оформить свои догмы на бумаге от лица исполнителя и с призмы начальника. Вряд ли я скажу что-то новое, кроме того, что уже до меня написано в хороших книгах, за исключением примеров из практики и шуток с прибаутками, поэтому либо пролистывайте сразу, либо добро пожаловать под кат.
Читать дальше →
Total votes 152: ↑133 and ↓19+114
Comments52

Web-технология vs Скорость разработки и производительность

Reading time3 min
Views6.1K
Продолжая тему предыдущего поста, прокомментирую слова tushev:
А еще интерфейс в старинной OS/2 требовал на порядки меньше ресурсов CPU и памяти.
Да, это действительно так – на порядки.

У меня нет универсального решения, и конечно я понимаю, что есть реальность, данная нам сегодня в ощущениях (исторические наслоения в виде HTML и CSS всех версий, HTTP). И очень тяжело что-либо изменить глобально. Но я хочу, чтобы каждый разработчик задумался над абсурдностью современного состояния дел в web-технологии. Иначе кардинального решения не будет ни у кого и никогда. Поэтому приведу факты, наводящие на размышления.

Пример UI 20-летней давности, который я предлагаю сначала воспроизвести всем апологетам HTML и CSS на этих языках, прежде чем минусовать «карму»:



поговорим об этом, flame on!
Total votes 242: ↑175 and ↓67+108
Comments251

PHP гораздо лучше, чем вы думаете

Reading time4 min
Views41K
Последнее время PHP гнобят все, кому не лень, даже довольно-таки разумные люди. Когда Jeff Atwood создал свой очередной пост, направленный против PHP, это заставило меня задуматься о хороших сторонах этого языка.

Самая главная проблема всех этих статей в том, что люди, которые их пишут, застряли в старых временах PHP.
Либо это их не волнует, либо они не хотят признавать, но PHP эволюционирует очень быстрыми темпами, и как язык, и как сообщество.
Более того, PHP развивается гораздо быстрее, чем какой бы то ни было другой язык или платформа. Конечно, так было не всегда, но последние 5 лет были воистину потрясающими для PHP…

Читать дальше →
Total votes 231: ↑168 and ↓63+105
Comments429

Пользовательский интерфейс на базе Twitter Bootstrap для начинающих

Reading time6 min
Views61K

Аннотация


В статье я попробую рассказать о том, как на базе Twitter Bootstrap можно очень легко реализовать приятный пользовательский интерфейс небольшого (одностраничного) web-приложения, владея лишь базовыми знаниями html. Сразу предупреждаю, специалистам будет не интересно, речь пойдет о базовом стандартном функционале.

beginners only!
Total votes 111: ↑79 and ↓32+47
Comments38

Удаленная замена корневой ФС в GNU/linux

Reading time9 min
Views15K
image
Иногда мне приходится сталкиваться с заменой корневой файловой системы. Имея загрузочный диск и доступ к серверу, это не сложно. Однако, я хочу поделиться опытом замены корневой ФС удаленно, через ssh, без перезагрузки.

Причины для замены коневой ФС бывают разные:
  • перевод / в LVM
  • перевод / в mdraid
  • замена типа файловой системы (ext3 => btrfs)
  • уменьшение размера ФС (resize2fs)

Читать дальше →
Total votes 104: ↑101 and ↓3+98
Comments23

Паттерны ООП в метафорах

Reading time17 min
Views560K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13+188
Comments86

МГТУ им. Баумана, Компьютерные системы и сети

Reading time9 min
Views87K
Предлагаю вашему вниманию заметку про кафедру «Компьютерные системы и сети» (ИУ6) МГТУ им. Баумана, которую я закончил три года назад. Прокомментировал основные предметы и учебный процесс в целом. Рассказал то, о чем не говорят в приемной комиссии. Бесспорно, что в Бауманке есть очень сильные преподаватели, идущие в ногу со временем, на лекциях которых по-настоящему интересно. Но, к сожалению, для кафедры ИУ6 это редкость…
Если интересно, то добро пожаловать
Total votes 103: ↑85 and ↓18+67
Comments145

Почему программисты работают по ночам

Reading time3 min
Views107K
Мозг шимпанзе в лондонском музее наукиСогласно поговорке, программисты — это устройства, преобразующие кофеин в код.

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

Цель всего этого — избавиться от отвлекающих факторов. Но можно было бы просто закрыть дверь… Что же такого особенного в ночи?

Я думаю, что всё сводится к трём вещам: расписанию творца, сонному мозгу, и яркому экрану компьютера.

Читать дальше →
Total votes 300: ↑270 and ↓30+240
Comments287

Полупроводниковая электроника

Reading time30 min
Views371K


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



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





Иллюстраций: 34, символов: 51 609.



Читать дальше →
Total votes 488: ↑479 and ↓9+470
Comments152

Демоны на PHP

Reading time4 min
Views75K
Памятка начинающему экзорцисту.

Прежде, чем начать: я знаю, что такое phpDaemon и System_Daemon. Я читал статьи по этой тематике, и на хабре тоже.

Итак, предположим, что вы уже определились, что вам нужен именно демон. Что он должен уметь?
  • Запускаться из консоли и отвязываться от неё
  • Всю информацию писать в логи, ничего не выводить в консоль
  • Уметь плодить дочерние процессы и контролировать их
  • Выполнять поставленную задачу
  • Корректно завершать работу

Отвязываемся от консоли


// Создаем дочерний процесс
// весь код после pcntl_fork() будет выполняться двумя процессами: родительским и дочерним
$child_pid = pcntl_fork();
if ($child_pid) {
    // Выходим из родительского, привязанного к консоли, процесса
    exit();
}
// Делаем основным процессом дочерний.
posix_setsid();

// Дальнейший код выполнится только дочерним процессом, который уже отвязан от консоли

Читать дальше →
Total votes 188: ↑167 and ↓21+146
Comments125

Git Wizardry

Reading time17 min
Views449K
1 Введение


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

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

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

У страха глаза велики, или клонирование HDD с MAC OS и Win XP в учебном классе

Reading time4 min
Views18K
Доброго всем времени суток!
В этой статье я расскажу о том, как пытался «подружить» MAC OS и Win XP на отдельно взятом macmini и распространить этот союз на 12 аналогичных машин класса информатики в средне специальном учебном заведении (колледже).

«Только песня совсем не о том...»

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

Предыстория

По образованию я… биолог. И хотя, по специальности ни разу не работал, но этот факт сильно влияет на мою «карьеру» и подход к выполнению моих обязанностей. Выполняя по большому счету функции эникея, и теша себя сладкой мыслью, что я «системный администратор», работаю я в лесопромышленном колледже неким «электронщиком». Такая вот ставка.
В колледже около 120 машин, объединенных частично в одноранговую сеть (надеюсь, что домен я все-таки подниму, но пока дальше разговоров о нем и устного согласия директора дело так и не ушло, т.к. очень трудно объяснить разным замам, бухгалтерам и экономистам, для чего он нужен, но это, скорее, мои проблемы, а не их). Есть 5 компьютерных классов. Один из таких классов как раз и оснащен компьютерами macmini.

До работы в колледже, я никогда не видел macmini, не юзал мак ос, а об apple слышал только, что это «дорого», «качественно» и «в России мало». Но слава Богу, что у меня был некоторый опыт работы с linux. К тому времени я перевел свой домашний ПК и ноут на ubuntu, немного «пошарил» FreeNAS и Debian. А самое главное, после знакомства с linux я ПОЛНОСТЬЮ пересмотрел свое отношение к варезному софту, к политике Microsoft и воспитанию в этих условиях подрастающего поколения…
Читать дальше →
Total votes 38: ↑25 and ↓13+12
Comments35

Многопользовательский чат на BAT

Reading time3 min
Views22K
Был период, когда в универе задали сделать несколько чатов. В зависимости от вариантов, были заданы различные способы взаимодействия программ от сокетов до майлслотов (mailslot). Когда задания были прикончены, остались силы взяться за скрипты BAT. Вот что получилось…



Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)

В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
Читать дальше →
Total votes 247: ↑242 and ↓5+237
Comments72

Амазонки мобильного мира

Reading time2 min
Views33K
Всем привет,

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

Марисса Майер, Google.
Вице-президент по поисковым продуктам и удовлетворенности пользователей.

image

Марисса возглавляет направление по управлению самым главным в Google проектами — поисковыми. В ее ведении находятся запуски, связанные с основными сервисами компании: веб-поиск, Картинки, Новости, Книги, Карты Google, Google Планета Земля, Панель инструментов и другие. Она пришла в команду в 1999 году и была первой девушкой-инженером. Кроме этого, Марисса долгое время читала популярные лекции по программированию в Стэнфордском университете.
Читать дальше →
Total votes 94: ↑80 and ↓14+66
Comments90

Моё путешествие в будущее

Reading time5 min
Views133K


Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.



Приключения только начинались…
Читать дальше →
Total votes 607: ↑583 and ↓24+559
Comments197

Флаги /proc/cpuinfo для архитектуры x86

Reading time3 min
Views25K
Все мы хоть раз в жизни использовали команду cat /proc/cpuinfo. Многие — лишь для того, чтобы узнать количество процессоров и ядер в системе, некоторые — узнать о поддержке конкретной технологии, например, аппаратной виртуализации.
Однако очень мало линуксоидов воспринимают всерьез самую длинную строку вывода — так называемые flags, а еще меньше знают, как расшифровывается тот или иной параметр, поскольку зачастую флаги имеют дикие и непонятные имена. Я постараюсь описать большинство распознаваемых флагов, специфичных для архитектуры x86.
Читать дальше →
Total votes 63: ↑37 and ↓26+11
Comments25

SIP телефония для дома — реализация, опыт, фишки

Reading time9 min
Views201K
Всем привет.

В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.

Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
Читать дальше →
Total votes 107: ↑100 and ↓7+93
Comments122

Воспроизведение случайного файла? Одна строчка на bash

Reading time2 min
Views5.3K
После того, как я записал на гитаре две ноты — F♯ и E♭ — я стал думать, как случайным образом выбрать одну из них и воспроизвести, чтобы можно было послушать и, затем, посмотреть на экран.

Сначала я решил, что стоит написать небольшую программу на Python или Ruby. Но потом я подумал, что можно написать это просто на bash.

С помощью команды «set --» можно установить позиционные параметры (positional parameters). Первый переданный после «--» параметр будет $1, второй $2, и так далее.

Установим в качестве параметров два имени файла — один файл с нотой фа-диез, а другой с ми-бемоль.

set -- "e_flat.wav" "f_sharp.wav"

Кстати, с помощью «set -- *» можно задать как позиционные параметры все файлы и папки в текущей директории.

Теперь зададим случайное число. Сделать это можно командой shuf.

shuf -i 1-2 -n 1

То есть одно (-n 1) случайное число от 1 до 2 (-i 1-2).
Читать дальше →
Total votes 48: ↑32 and ↓16+16
Comments32

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity

Specialization

System Administration, DevOps