Pull to refresh
103
0
Никита Киприянов @merlin-vrn

Пользователь

Send message

Сделать завтра. Как не тратить время на мелочи

Reading time6 min
Views62K
Поговорим немного об управлении временем. Об этом много пишут, но это как раз говорит о том, что тема очень востребована и полезна. Статья объединяет в себе методики Стивена Кови и Марка Форстера. Эти две методики оказались безумно полезными и на удивление эффективными. Пригодятся всем, кто ощущает завал делами и не успевает жить.


Total votes 48: ↑43 and ↓5+38
Comments63

Принтер Canon Laser Shot LBP-1120 и принт-сервер на базе Raspberry Pi

Reading time5 min
Views71K
Достался мне бесплатно старенький принтер Canon Laser Shot LBP-1120. Отдали мне его с объяснением “что-то не получается подключить, наверное драйвера глючат”. Попробовал подключить его у себя на компьютер с Windows 7 x64 — Windows Update не смог подтянуть драйверы. Зашел на сайт производителя принтера — для этой модели драйверы есть начиная с Windows XP, но только под 32-битные версии. Перепробовал множество драйверов от других принтеров Canon, универсальные драйверы из раздела “Generic Drivers”, драйверы HP LaserJet 2200, 2300 — во всех случаях принтер никак не реагирует на команды компьютера.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments23

6 типичных ошибок при заключении договоров на разработку ПО

Reading time9 min
Views34K
В очередной раз хотим затронуть тему, когда компания разработчик ПО выполняет свою работу, но заказчик не хочет ее оплачивать. И судя по количеству публикаций на подобную тему, актуальность данного вопроса для отечественных разработчиков ПО растет.

Описанная ниже ситуация — это ситуация из жизни. В момент написания статьи данная ситуация еще не получила окончательного положительного разрешения для компании разработчика ПО (далее будем называть ее ИТ компания, название компании в данный момент раскрыть не можем), с которым мы работаем вот уже более года по взысканию семизначной суммы задолженности. Возможно, для кого-то данная статья окажется полезной и позволит избежать подобной участи, либо позволит минимизировать возможные потери если ситуация еще не сильно запущена.
Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments47

Squid с фильтрацией HTTPS без подмены сертификата, интеграция с Active Directory 2012R2 + WPAD

Reading time13 min
Views49K
Этот мануал был написан в связи производственной необходимостью мониторить трафик (http и https) пользователей, а также распределения доступа по белым и черным спискам. За основу были взяты статьи: эта и вот эта , в которых использовалась технология peek-n-splice. В данных статьях конфигурация предполагает использование хоста со squid как шлюз, после доработки конфига, получился полноценный прокси-сервер с возможностью распределения прав доступа по группам из Active Directory. По завершению конфигурирования встал вопрос передачи настроек прокси-сервера для пользователей. В виду того, что в офисе часто ноутбуки берут домой — вся затея зашла в тупик. Изначально рассматривался вариант выдачи настроек прокси-сервера через DHCP, но он не самый лучший, т. к. офисы в разных подсетях, и разное оборудование, выходом из данной ситуации стал WPAD. Вкратце о данной технологии можно сказать так, клиентские машины на OS Windows ищут хост с именем wpad.example.ru (вплоть до доменов третьего уровня), чтобы запросить файл настроек для работы в сети. Исходя из такого принципа, нужно поднять веб-сервер, который просто бы отдавал файл wpad.dat Можно на самом хосте с прокси-сервером поднять веб-сервер (что и было сделано), а в DNS-сервере создать cname wpad на прокси-сервер. Прокси-сервер лучше использовать с возможностью сбора и просмотра статистики, благо выбор предостаточный. В виду некоторых консервативных соображений, было решено выбрать SARG. Он легкий в настройке, достаточно приемлемая статистика для офиса со штатом до 100 сотрудников.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments46

Манифест Ричарда Столлмана: How I do my computing

Reading time11 min
Views26K
image

Я использую компьютер Thinkpad X60, в котором FSF ( Free Software Foundation) инсталлировали свободную инициализирующую программу (initialization program, libreboot) и свободную операционную систему (Trisquel GNU/Linux). Это первая компьютерная модель со свободной инициализирующей программой и свободной операционной системой, которая когда-либо поступала в продажу. Поэтому это первый компьютерный продукт, который одобрили FSF (однако не был продан Lenovo).

До этого я несколько лет использовал Lemote Yeeloong. На тот момент это был единственный ноутбук со свободной установочной программой и свободной операционной системой, который можно было купить. Но его никогда не продавали со свободной операционной системой.

До этого я использовал OLPC (One Laptop Per Child) несколько недель. Я перестал, потому что проект OLPC решил поддерживать Windows, а я не хотел этого. OLPC используют особую прошивку для WiFi, поэтому я не мог использовать внутреннее WiFi устройство. Не беда, я использовал внешнее.

Результаты меня беспокоят. Я ожидал увидеть миллионы детей, использующих Windows с OLPC. Вместо этого я вижу, как миллионы детей используют Windows с Intel Classmate.

Раннее я пользовался устройствами полностью на свободных GNU/Linux системах, но там были несвободные BIOS. На протяжении восьми лет я пытался найти способ обойти эту проблему.
Total votes 63: ↑42 and ↓21+21
Comments73

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

Reading time12 min
Views49K
Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

КДПВ

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле Grammar/Grammar в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen во время компиляции python генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h, а сами КА задаются в Python/graminit.c, в виде глобальной структуры _PyParser_Grammar. Терминальные символы определены в Include/token.h, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.

Проиллюстрировать работу первого парсера проще всего на примере. Пусть у нас есть программа if 42: print("Hello world").
Читать дальше →
Total votes 122: ↑116 and ↓6+110
Comments68

Как мы строили свой мини ЦОД. Финансы, ценообразование

Reading time4 min
Views34K
В продолжение Части 1 — Colocation
В продолжение Части 2 — Гермозона
В продолжение Части 3 — Переезд

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


Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments56

Работаем с бюджетным учреждением. Часть 4

Reading time12 min
Views3.7K
Эта статья служит своего рода промежуточным итогом статей предшествующих (часть 1, часть 2, часть 3) и содержит некоторые практические рекомендации.
Итак:
— почему мы остались без договора;
— всегда ли виноват заказчик;
— не нужен мне берег турецкий другой договор… или все-таки нужен?;
— открытые данные вновь спешат на помощь.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments3

Шпаргалка по Flexbox (CSS3 Flexible Box)

Reading time1 min
Views369K
Мне не нова магия Flexbox, но я не часто ее использую, и поэтому после паузы в использовании мне приходится открывать вот этот пост на CSS-Tricks чтобы освежить память.

Я решила создать краткую визуальную шпаргалку по Flexbox для тех случаев освежения памяти после паузы в будущем. Думаю, что у меня получилась шпаргалка, основанная на… шпаргалках.


Читать дальше →
Total votes 78: ↑75 and ↓3+72
Comments25

Сделано в МТИ: система контроля версий Gitless

Reading time4 min
Views36K

Все вы знаете систему Git. Хотя бы слышали — это наверняка. Разработчики, которые пользуются системой, ее или любят, или ругают за сложный интерфейс и баги. Система управления версиями Git де-факто является стандартом в индустрии. У разработчика могут быть мнения о преимуществах Mercurial, но чаще всего приходится мириться с требованием уметь пользоваться Git. Как у любой сложной системы, у нее множество полезных и необходимых функций. Однако, до гениальной простоты добираются не все, поэтому существующая реализация оставляла пространство для совершенствования.

Простыми словами — мудреным приложением было трудно пользоваться. Поэтому в лаборатории Массачусетского Технологического Института взялись за улучшения и отсекли все «проблемные элементы» (ведь то, что для одного проблема, для другого легко может быть преимуществом). Улучшенную и упрощенную версию назвали Gitless. Её разрабатывали с учетом 2400 вопросов, связанных с Git и взятых с сайта разработчиков StackOverflow.

Команда авторов вычленила самые проблемные места в Git, включая две концепции staging и stashing. Затем они предложили изменения, призванные решить известные проблемы.
Читать дальше →
Total votes 97: ↑87 and ↓10+77
Comments93

Стратегии расширения Django User Model

Reading time9 min
Views106K
В Django встроена прекрасная система аутентификации пользователей. В большинстве случаев мы можем использовать ее «из коробки», что экономит много времени разработчиков и тестировщиков. Но иногда нам необходимо расширить ее, чтобы удовлетворять потребностям нашего сайта.

Как правило возникает потребность хранить дополнительные данные о пользователях, например, краткую биографию (about), дату рождения, местоположение и другие подобные данные.

В этой статье пойдет речь о стратегиях, с помощью которых вы можете расширить пользовательскую модель Django, а не писать ее с нуля.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments15

Инфраструктура узла связи от чайника, или очередное строительство серверных — часть 1

Reading time18 min
Views23K
Здравствуйте! Начитавшись публикаций на тему строительства ЦОД небольшого хостинг провайдера, а так же «как сделать серверную комнату своими руками», от людей, которые, видимо, не знали как сказать, зачем надо заказывать их услуги, я решил изложить свой опыт строительства небольшого узла связи в течение этого года, для размещения, с последующей регистрацией в Роскомнадзоре, таких объектов, как ОТМУС, ТЗУС, СПД.

В этом году приходилось настолько много информации искать и применять, что я почувствовал свой предел в запоминания полезной информации. Поэтому мне сложно сразу вспомнить откуда я брал информацию (я говорю о приказах Минкомсвязи, Мининформсвязи, Роскомнадзора, СНИП, ВСН… ).

Под катом я постараюсь поверхностно пройтись по всем аспектам, по которым надо принять решение и реализовать в вашей аппаратной.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments17

Методы удаленного доступа к Linux GUI

Reading time11 min
Views350K
В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.


Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments42

Инновации внедряют не так и не там

Reading time4 min
Views6.6K
image

Автор: Том Годвин — исполнительный вице-президент, глава отдела инновационных разработок в Zenith Media.

Я веду довольно космополитический футуристический образ жизни на верхнем этаже стеклянного небоскреба в Нью-Йорке, хотя мне пока не доставляют пиццу беспилотным дроном, я не заказываю такси через Алексу в Uber, и не открываю дверь номера в отеле при помощи своих умных часов. Я также не заказываю номер в гостинице через бот (я пробовал и это довело меня до белого каления) и не получаю новости через бот, потому что это ужасный способ оставаться в курсе событий.

В мире, где технологические возможности развиваются с головокружительной скоростью, странно что British Airway разработала умный плед, различающий эмоции, но не может наладить рассылку электронных уведомлений. Странно, что ИКЕА сделала пространство виртуальной реальности для оценки их кухонь, но не справляется с элементарными направлениями интернет-коммерции. Моя компания по аренде автомобилей, вложила миллионы в видеофоны в офисах, но приложение теряет 50% заявок, которые оформляются через него.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments3

Реализация бизнес-логики в MySQL

Reading time23 min
Views24K
Привет Хабр! Хочу рассказать в статье мой опыт реализации бизнес логики (БЛ) в MySQL.

Есть разные мнения насчёт вопроса стоит ли хранить БЛ в базе. Я много лет работаю с Oracle и философия Oracle подразумевает, что БЛ в БД это Best Practices. Приведу пару цитат Тома Кайта:

Tom Kyte. Effective Oracle by Design
If the database does something, odds are that it does it better, faster and cheaper, that you could do it yourself
Том Кайт. Oracle для профессионалов.
Прежде чем начать, хотелось бы объяснить вам мой подход к разработке. Я предпочитаю решать большинство проблем на уровне СУБД. Если что-то можно сделать в СУБД, я так и сделаю. [...] Мой подход состоит в том, чтобы делать в СУБД все, что возможно. [...]
При разработке приложений баз данных я использую очень простую мантру:

  • если можно, сделай это с помощью одного оператора SQL;
  • если это нельзя сделать с помощью одного оператора SQL, сделай это в PL/SQL;
  • если это нельзя сделать в PL/SQL, попытайся использовать хранимую процедуру на языке Java;
  • если это нельзя сделать в Java, сделай это в виде внешней процедуры на языке C;
  • если это нельзя реализовать в виде внешней процедуры на языке C, надо серьезно подумать, зачем это вообще делать...

В то же время в среде web-разработчиков приходится слышать мнения, что БЛ в БД это чуть ли не антипаттерн. Но я не буду останавливаться на вопросе стоит ли реализовывать БЛ в БД. Пусть каждый решает сам. Тем, кто хочет посмотреть, что у меня получилось в свете не столь обширного (по сравнению с Oracle) инструментария MySQL, добро пожаловать под кат.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments46

Как я шел к Java-программированию и прошел мимо

Reading time5 min
Views100K

image alt text


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

Но все же решил попробовать совершенно незнакомый путь программиста
Total votes 42: ↑33 and ↓9+24
Comments96

Как проверить причинную связь без эксперимента?

Reading time9 min
Views15K


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

Действительно ли пациентам, тестирующим новое лекарство, становится лучше из-за лекарства, или они все все равно бы выздоровели? Ваши продавцы действительно эффективны или же они говорят с теми клиентами, которые и так готовы совершить покупку? Действительно ли Сойлент (или рекламная кампания, которая обойдётся фирме в миллион долларов) стоит вашего времени?
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments7

Кому принадлежат онлайн-курсы? Авторские права и подводные камни

Reading time4 min
Views28K
Признаюсь: до своего первого онлайнового курса я смотрел на авторское право совершенно иначе – с формальной точки зрения юриста. Теперь, когда я еще и преподаватель, многое в нашем законодательстве кажется мне непоследовательным или неправильным; что-то, наоборот, оказалось приятной неожиданностью – например, полные права сотрудников на созданный контент. Об этих открытиях и пойдет речь.

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


«Официальная» студия МГУ и наше скромное подобие по соседству.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments32

Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации

Reading time5 min
Views40K
Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал еще одному человеку, на этот раз далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments30

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.7M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Information

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