Pull to refresh
241
0
Вячеслав @Singerofthefall

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

Send message

Руководство по установке и настройке OpenVPN

Reading time34 min
Views1.4M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



Надеюсь, что эта статья будет полезна тем, кто впервые столкнулся с необходимостью создания сети VPN или уже использует ее для решения тех или задач, а также тем, кто ищет замену коммерческим реализациям VPN.


Читать дальше →
Total votes 128: ↑115 and ↓13+102
Comments97

Noisli: онлайн-генератор фоновых шумов, помогающих сконцентрироваться

Reading time1 min
Views182K


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

Сайт Noisli содержит коллекцию фоновых шумов на любой вкус и возможность смешивать их в произвольной пропорции. Здесь есть и звуки природы — шум дождя, плеск воды, пение птиц, шуршание листьев, и звуки техногенного характера — стук колёс поезда, звук работающего вентилятора, и звуки многолюдного кафе. Есть и искусственные белый, розовый и коричневый шум. Коллекция звуков постоянно пополняется.
Читать дальше →
Total votes 108: ↑103 and ↓5+98
Comments64

Публикуйте приложения в Windows Store и Windows Phone Store и выигрывайте призы

Reading time2 min
Views4.2K
image

Если вы портируете уже существующее мобильное приложение или создаете новое, вы можете выиграть поездку на Formula 1 United States Grand Prix 2014, $10 000 на создание собственного современного уголка разработчика, принтер MarketBot 3D или смартфон Nokia Lumia 1520.
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments10

Первые несколько миллисекунд HTTPS соединения

Reading time10 min
Views167K
После нескольких часов чтения обзоров, Боб с нетерпением нажал на кнопку перехода к оформлению заказа на галлон цельного молока, и…
Воу, что только что произошло?


Интересно? Прошу под кат
Total votes 242: ↑237 and ↓5+232
Comments36

Повесть о настоящем Интернете

Reading time13 min
Views170K
Abstract: Рассказ про устройство Интернета, как «сети сетей» в виде текста для чтения, без двоичной системы счисления и нюансов BGP. Большая часть расказа будет не про процесс общения ноутбука с точкой доступа, а о том, что происходит после того, как данные пройдут «шлюз по умолчанию». Предупреждаю, букв много.

Вступление


Маленький провокативный вброс: ни один из читателей этой статьи к Интернету не подключен. Все подключены к сети своего провайдера, и не более. Подключение к Интернету дорогое, его сложно делать, вам потребуется очень крутое оборудование, несколько договоров с несколькими операторами связи и квалифицированные сотрудники. Простому домашнему пользователю это никак и никогда не светит. Не говоря уже о том, что в Интернете может быть не больше 4 миллиардов подключившихся (а до недавнего времени было даже «не более 65536») [1]. Даже если весь Интернет перейдёт на ipv6, это число не поменяется.

Вот число подключившихся к Интернету [2]:

По оси Y — число в штуках. Штуках, штуках. И вас в этом числе не посчитали.

Почему?

Дело в том, что Internet — это, если переводить буквально, «межсетье». Сеть Сетей. И участниками Интернета являются не пользователи (их компьютеры, планшеты, микроволновки с wifi и т.д.), а сети. Сети и только сети участвуют в работе Интернета. Интернет — это то, что связывает разные сети между друг другом.
Читать дальше →
Total votes 179: ↑173 and ↓6+167
Comments52

Кандидат технических наук. Иное развитие карьеры IT-специалиста?

Reading time2 min
Views46K

Доброго времени суток. Прежде, чем начать данную статью, хочу оговориться: я не сторонник работы ради работы, а также работы во имя зарплаты. Данной статьей я не ставлю пред собой задачи написать еще один пост (чтоб был) или снискать какой-то поддержки (знакомств) от Хабра. Текущий пост, и в совокупности с ним — комментарии к нему, являют собой размышление на тему — стоит ли писать диссертацию в условиях современной России и вообще может ли она (диссертация) пригодиться где-либо, кроме книжной полки. Я читал некоторый материал (раз, два) по данной тематике (в том числе и на Хабрахабре — три, четыре, и не совсем на Хабре — пять), но всё равно остался немного обескураженным от огромного количества разномастной информации размазанной под древу. Книги зачастую пишут именитые специалисты. А так как имя создается в какой-то мере за счет узнавания массами, то следовательно и книги пишутся для масс. И гуманитарии, и технари — все найдут там что-то полезное для себя. Но по узкой специализации не найти подробной информации. Тем более — мы работаем в IT, а данная область (как мне почему-то кажется) немного по-другому соотносится с наукой, чем, например, та же физика или химия. И задаюсь я вот который год вопросом (прямо с начала обучения в университете): имеет ли смысл получать ученую степень в сфере IT (ну, какого-нибудь программирования вычислительных машин или исследования в сфере порождающего программирования)? В качестве результата этой мини-статьи, я хочу получить ответ на свой вопрос в первую очередь от самого себя на основе советов и мнений дружелюбных хабровчан. А так как это все происходит онлайн, поэтому и другие уважаемые хабражители смогут раскрыть для себя тему ученой степени в сфере IT и понять, нужно ли это им и стоит ли становиться на этот скользкий путь. Для почетных кандидатов и докторов наук в сфере IT и смежных сферах под катом уготовано море вежливости и чуткое внимание каждому слову в комментариях.
Читать дальше →
Total votes 47: ↑29 and ↓18+11
Comments125

Десять возможностей C++11, которые должен использовать каждый C++ разработчик

Reading time12 min
Views532K
В данной статье рассматривается ряд возможностей С++11, которые все разработчики должны знать и использовать. Существует много новых дополнений к языку и стандартной библиотеке, эта статья лишь поверхностно охватывает часть из них. Однако, я полагаю, что некоторые из этих новых функций должны стать обыденными для всех разработчиков С++. Подобных статей наверное существует много, в этой я предприму попытку составить список возможностей, которые должны войти в повседневное использование.

Сегодня в программе:
  • auto
  • nullptr
  • range-based циклы
  • override и final
  • строго-типизированный enum
  • интеллектуальные указатели
  • лямбды
  • non-member begin() и end()
  • static_assert и классы свойств
  • семантика перемещения
Читать дальше →
Total votes 133: ↑125 and ↓8+117
Comments115

Сколько стоит сделать браузерную игру

Reading time4 min
Views130K
В настоящее время на российском рынке представлено около 500 онлайн-игр, из которых более двух третей — браузерные. Некоторые из них приносят своим владельцам свыше миллиона долларов в месяц, другие, наоборот, только тянут деньги из кошелька своих создателей. И сегодня я расскажу вам, сколько конкретно стоит собственная разработка и выпуск на рынок браузерной онлайн-игры.

Каждая игра представляет собой бизнес-процесс, определённый рядом характеристик и параметров. На входе мы задаём средства, необходимые для разработки и продвижения проекта. На выходе имеем прибыль от его оперирования.


Рассмотрим по пунктам каждый элемент структуры затрат этого бизнес-процесса.

Читать дальше →
Total votes 99: ↑83 and ↓16+67
Comments165

Советы Google по кодированию на языке Python. Часть первая: советы по программированию

Reading time13 min
Views113K

Хай, Хабр!
Сегодня я хочу представить, дорогому хабрасообществу свой первый хабраперевод. Программировать на языке Python — подобно песне. Но еще лучше, когда Ваш код читаем и понятен, а значит чуть более поэтичен, чем обычно бывает производстве. У каждого свои правила и свои стереотипы относительно написания и оформления исходного кода, на каком бы языке он ни был написан. Множество копий сломано о щиты на форумах, но, как ни крути, нельзя не считаться с мнением авторитетных товарищей. Так что сейчас будет представлен перевод первой части стайл-гайда для языка Python от Google. Коснется он именно постулатов написания кода (вторая часть тоже скоро появится, а посвящена она будет форматированию исходного кода). Сразу предупреждаю: тут много (если не большая часть) прописных истин, которые все знают уже давно. Но я искренне надеюсь, что Вы сможете найти тут что-то новое или хотя бы вспомнить старое. Приступим под катом. И pdf тут как тут.
Читать дальше →
Total votes 122: ↑109 and ↓13+96
Comments58

Начало Windows Phone 8 Development: урок 1. Макет приложения и обработчик событий

Reading time6 min
Views55K
Начало Windows Phone 8 Development: урок 1. Макет приложения и обработчик событий
Начало Windows Phone 8 Development: урок 2. Доступ к локальному хранилищу приложения
Начало Windows Phone 8 Development: урок 3. Навигация по страницам и передача параметров
Начало Windows Phone 8 Development: урок 4. Связь с сервисами и привязка к данным

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

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

И так. Давайте дадим ответ на вопрос, какие есть этапы разработки во время создания приложения? Вот к каким выводам я пришел:
Читать дальше →
Total votes 23: ↑11 and ↓12-1
Comments5

Технологический институт Джорджии будет давать степень магистра компьютерных наук онлайн за 7000$

Reading time1 min
Views45K
Во вторник, 14 мая, произошло знаковое событие в мире онлайн-образования. Технологический институт Джорджии, который по данным многих рейтингов входит в сотню лучших университетов мира, причём по техническим специальностям часто попадает в первую десятку, официально объявил о том, что вскоре степень магистра компьютерных наук можно будет получить онлайн меньше чем за 7000$. Обучение будет длиться три года. Абитуриенты должны иметь степень бакалавра в области компьютерных наук или в смежных областях и сдать вступительный экзамен. Приём документов начнётся осенью 2014 года. Программа рассчитана на 10 000 участников.

Партнёрами Georgia Tech стали Udacity и AT&T. Udacity предоставит не только технологическую платформу для онлайн-курсов, но и услуги «менторов», которые будут курировать процесс и отвечать на вопросы студентов. Благодаря этому Georgia Tech придётся расширить свой штат преподавателей всего на восемь человек. Udacity получит 40% от платы за обучение, остальные деньги достанутся институту. AT&T выступает спонсором проекта. Все материалы курса будут доступны бесплатно на сайте Udacity.
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments44

Ежедневная работа с Git

Reading time40 min
Views875K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


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

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

История создания Diablo

Reading time6 min
Views92K
Мир компьютерных игр полон драматизма: великие идеи зарубают на корню криворукие менеджеры, а идеи, которые не смогли дотянуться до звания «великих», подвергают болезненной публичной эвтаназии. Именно поэтому рождение Diablo кажется еще более триумфальным. С самого начала ребятам сопутствовал успех, в том числе и в лице Стига Хелдунда (Stieg Hedlund), который помог им наладить рабочий процесс. Даже превращение компании Condor в Blizzard North за полгода до официального релиза не повлияло на дальнейшую популярность игры.


Читать дальше →
Total votes 134: ↑128 and ↓6+122
Comments161

Как уронить Windows шестью строчками кода

Reading time3 min
Views266K
См. также: Microsoft исправила уязвимость с синим экраном

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


Читать дальше →
Total votes 272: ↑251 and ↓21+230
Comments256

Как стать настоящим аналитиком? Часть 2. Выявляем требования

Reading time4 min
Views78K
Доброе время суток, дорогие хабравчане! Данная статья является продолжением топика, и в ней хотелось бы начать обсуждение стадии создания требований. Если вы успешно справитесь с этой стадией процесса, вы получите отличный продукт, счастливых заказчиков и удовлетворенных разработчиков. В противном случае вам грозит непонимание, разочарование и разногласия.

Стадию создания или разработки требований условно можно разделить на 4 этапа.
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments29

Релиз GitLab 5.0

Reading time1 min
Views12K
Вчера, то есть 22 марта, увидел свет релиз 5 версии GitLab. GitLab — замечательный аналог таким продуктам, как GitHub, Bitbucket. Однако он устанавливается на ваш личный сервер и полностью подконтролен вам. Это отличное решение для компаний, занимающихся разработкой программного обеспечения, web студиям ну или просто тем, кто хочет иметь свой собственный git репозиторий.



Что же нового в версии 5.0? Для ознакомления с подробностями прошу под кат
Читать дальше →
Total votes 111: ↑110 and ↓1+109
Comments22

ЦРУ — большие задачи и большие данные. На пути к созданию глобального информационного колпака

Reading time20 min
Views75K

Айра Гас Хант (Ira Gus Hunt), действующий Директор по технологиям ЦРУ, рассказывает о своем видении Big Data на службе ЦРУ, а также возникающие при этом задачи и методы их решения. Выступление состоялось на конференции GigaOM Structure:Data 2013, проходившей 20 марта в Нью-Йорке. Как говорят очевидцы это было одно из самых интересных и запоминающихся выступлений.
Видение глобального информационного пространства глазами ЦРУ
Total votes 86: ↑77 and ↓9+68
Comments63

Формальные языки и грамматики

Reading time9 min
Views116K

Мотивация


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

Этот текст задуман как популярное введение в теорию формальных языков и грамматик. Эта теория считается (и, надо сказать, справедливо) довольно сложной и запутанной. На лекциях студенты обычно скучают и экзамены тем более не вызывают энтузиазма. Поэтому и в науке не так много исследователей в этой тематике. Достаточно сказать, что за все время, с зарождения теории формальных грамматик в середине 50-х годов прошлого века и до наших дней, по этому научному направлению было выпущено всего две докторских диссертации. Одна из них была написана в конце 60-х годов Алексеем Владимировичем Гладким, вторая уже на пороге нового тысячелетия — Мати Пентусом.

Далее в наиболее доступной форме описаны два основных понятия теории формальных языков: формальный язык и формальная грамматика. Если тест будет интересен аудитории, то автор дает торжественное обещание разродиться еще парой подобных опусов.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments23

Ночной вид с международной космической станции

Reading time1 min
Views13K
Если вы нуждаетесь в напоминании, что мир действительно красивый, — это удивительное видео собранное фотографом Кнайтом Майерсом для вас.



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

Устройтесь поудобнее, расслабьтесь и наслаждайтесь красотой нашей планеты.

P.S. Смотреть лучше всего в полноэкранном режиме.
Total votes 142: ↑125 and ↓17+108
Comments107

Оценка сложности алгоритмов

Reading time4 min
Views78K

Введение


Для любого программиста важно знать основы теории алгоритмов, так как именно эта наука изучает общие характеристики алгоритмов и формальные модели их представления. Ещё с уроков информатики нас учат составлять блок-схемы, что, в последствии, помогает при написании более сложных задач, чем в школе. Также не секрет, что практически всегда существует несколько способов решения той или иной задачи: одни предполагают затратить много времени, другие ресурсов, а третьи помогают лишь приближённо найти решение.

Всегда следует искать оптимум в соответствии с поставленной задачей, в частности, при разработке алгоритмов решения класса задач.
Важно также оценивать, как будет вести себя алгоритм при начальных значениях разного объёма и количества, какие ресурсы ему потребуются и сколько времени уйдёт на вывод конечного результата.
Этим занимается раздел теории алгоритмов – теория асимптотического анализа алгоритмов.

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

Подробности
Total votes 43: ↑30 and ↓13+17
Comments10

Information

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