Pull to refresh
0
0
Send message

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficultyEasy
Reading time13 min
Views442K

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

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

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее
Total votes 33: ↑32 and ↓1+36
Comments206

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Reading time17 min
Views68K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

Некоторые из приёмов будут полезны и тем, кто пишет на других языках. Все способы разделены на группы по убыванию специфичности: от наиболее общих до конкретных. Почти все примеры кода взяты из реальных проектов, из реального продакшена.


Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments51

Введение в алгоритм A*

Reading time10 min
Views185K
При разработке игр нам часто нужно находить пути из одной точки в другую. Мы не просто стремимся найти кратчайшее расстояние, нам также нужно учесть и длительность движения. Передвигайте звёздочку (начальную точку) и крестик (конечную точку), чтобы увидеть кратчайший путь. [Прим. пер.: в статьях этого автора всегда много интерактивных вставок, рекомендую сходить в оригинал статьи.]


Для поиска этого пути можно использовать алгоритм поиска по графу, который применим, если карта представляет собой граф. A* часто используется в качестве алгоритма поиска по графу. Поиск в ширину — это простейший из алгоритмов поиска по графу, поэтому давайте начнём с него и постепенно перейдём к A*.
Total votes 70: ↑69 and ↓1+68
Comments20

12 инструментов для отладки .NET-приложений по производительности и по памяти

Reading time7 min
Views22K
В недавнем интервью с Джоном Скитом мы пришли к выводу, что профессиональная работа с любой технологией подразумевает умение диагностировать проблемы и понимать, как ваши приложения работают под капотом. Вдогонку к тому разговору, я узнал у Саши goldshtn Гольдштейна, одного из лучших в мире экспертов по производительности .NET, автора книги «Pro .NET Performance», на какие инструменты следует обратить внимание .NET-разработчикам.

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


Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments8

xNet — C# библиотека для работы с Web

Reading time7 min
Views145K
Постепенно, с изучением C# и .NET Framework, я начал писать различные Helper'ы, которые скрывали рутинный код за вызовом всего одного метода. После это переросло в разработку полноценной библиотеки, которую я хочу вам представить. Данная библиотека написана полностью 'с нуля'.

Так что же такое xNet?


xNet — это библиотека классов для .NET Framework, которая включает в себя:
  • Классы для работы с прокси-серверами: HTTP, Socks4(a), Socks5, Chain.
  • Классы для работы с HTTP 1.0/1.1 протоколом: keep-alive, gzip, deflate, chunked, SSL, прокси и другое.

Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments42

TemplateEngine.Docx — OpenSource .NET шаблонизатор docx документов

Reading time7 min
Views48K


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

Хочу поделиться нашим opensource-решением для генерации docx документов, которое позволяет заполнять документы по шаблону, оформление которого можно менять в Word без переписывания кода.

Для начала — немного вводных.

Что нам было нужно от шаблонизатора


  • Шаблон создается в Word и сразу видно, на что будет похож результирующий документ, шаблон без лишнего мусора.
  • Результирующий документ после скачивания содержит все необходимые данные, не подтягивая их с внешних источников.
  • Возможность заполнять списки, таблицы, и иногда еще и таблицы с вложенными в них списками.
  • Шаблон можно доверить секретарю клиента, чтобы он мог сменить логотип, реквизиты компании, или как-либо еще подкорректировать оформление. И все это уже после сдачи проекта, не модифицируя наш код.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments21

Дизайн карты: как и почему

Reading time6 min
Views30K
В сети можно найти достаточно материалов по созданию стилей карт (и на хабре в том числе), но в основном они показывают техническую сторону создания стиля в tilemill/mapbox studio. А вот с теорией дела обстоят гораздо хуже, в основном пишут о каких-нибудь отдельных аспектах дизайна, и то не всегда объясняют почему нужно делать так, а не иначе. В этой статье я постараюсь исправить эту ситуацию и поделиться опытом с начинающими картостроителями.


Всех интересующихся прошу под кат.
Изучить основы картостроения
Total votes 30: ↑29 and ↓1+28
Comments37

Как создавать интерактивные карты

Reading time5 min
Views25K


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

Один из разработчиков команды Airbnb принимал участие в работе над созданием этой демографической карты. Хотите узнать, как самостоятельно создать подобный проект? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments2

Открытка-лабиринт. Подарок, который невозможно открыть, не разгадав головоломку

Reading time4 min
Views62K
Однажды я принёс другу на день рождения подарок, завёрнутый в бумагу с узором лабиринта. Друг пошутил, что было бы здорово, если бы надо было по-настоящему найти путь, чтобы открыть подарок. Мы принялись обсуждать, как можно построить механический лабиринт, причём без использования какой-либо электроники.
Так родилась идея к следующему празднику создать открытку-головоломку. В этой статье я расскажу, как её изготовить и какие тонкости нужно учесть.


Лабиринт в процессе прохождения.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments51

Про модель, логику, ООП, разработку и остальное

Reading time29 min
Views110K
Часто ли вы задумываетесь – почему что-то сделано так или иначе? Почему у вас микросервисы или монолит, двухзвенка или трехзвенка? Зачем вам многослойная архитектура и сколько у вас вообще слоев? Что такое бизнес-логика, логика приложения, презентационная логика и почему все так разделено? Посмотрите на свое приложение – как оно вообще спроектировано? Что в нем и где находится, почему это сделано именно так?
Потому что так написано в книжках или так говорят авторитетные личности? Какие ВАШИ проблемы решает тот или иной подход/паттерн?
Даже то, что на первый взгляд кажется очевидным, порой бывает очень сложно объяснить. А иногда, в попытке объяснения, приходит понимание того, что очевидные мысли были и вовсе ошибочны.
Давайте попробуем взять какой-нибудь пример и изучить на нем эти вопросы со всех сторон.
Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments34

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть вторая

Reading time31 min
Views337K

Вступление и DDL – Data Definition Language (язык описания данных)


Часть первая — habrahabr.ru/post/255361

DML – Data Manipulation Language (язык манипулирования данными)


В первой части мы уже немного затронули язык DML, применяя почти весь набор его команд, за исключением команды MERGE.

Рассказывать про DML я буду по своей последовательности выработанной на личном опыте. По ходу, так же постараюсь рассказать про «скользкие» места, на которые стоит акцентировать внимание, эти «скользкие» места, схожи во многих диалектах языка SQL.

Т.к. учебник посвящается широкому кругу читателей (не только программистам), то и объяснение, порой будет соответствующее, т.е. долгое и нудное. Это мое видение материала, которое в основном получено на практике в результате профессиональной деятельности.

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

Т.к. DML в диалекте БД MS SQL очень сильно связан с синтаксисом конструкции SELECT, то я начну рассказывать о DML именно с нее. На мой взгляд конструкция SELECT является самой главной конструкцией языка DML, т.к. за счет нее или ее частей осуществляется выборка необходимых данных из БД.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments11

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

DevCon Digest #1. Погружаемся в .NET

Reading time4 min
Views18K


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

Поэтому мы решили делать еженедельные тематичные подборки материалов по одному из направлений конференции, собрав в одном месте недавние новости, новые учебные материалы, анонсы параллельных мероприятий и другие полезные ресурсы.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments3

Расширяя полотно картины Ван Гога “Звездная ночь” с помощью языка Wolfram Language (Mathematica)

Reading time3 min
Views76K

Перевод поста Piotr Wendykier "Extending Van Gogh's Starry Night with Inpainting"
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~8 МБ).


Могут ли компьютеры научиться рисовать, как Ван Гог? Определенно да, до некоторой степени! Для этого, подобно художникам-копиистам, алгоритму сначало потребуется взять некоторое оригинальное произведение, а затем он сможет на их основе создать что-то сам. Насколько хорошо он сможет с этим справиться? Пожалуйста, судите сами.

ExtendingVanGoghStarryNightInpainting_1.gif
Вторая премия на фотоконкурсе ZEISS
Читать дальше →
Total votes 117: ↑110 and ↓7+103
Comments36

Как вернуть деньги со счета мобильного, если вы не подключали сторонних услуг

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

Disclaimer: хабр не является жалобной книгой, поэтому из статьи был выкинут личный пример «попадания» на описываемое.

Как вообще можно подписать на услугу без моего ведома?


У сотовых операторов есть «партнеры», оказывающие разного рода услуги (например, купить картинку-подарок в «Контакте»). Смысл подобных услуг заключается в следующем:
  1. Вы вводите номер телефона.
  2. Вам присылают код подтверждения.
  3. Вы вводите этот код.
  4. С этого моменты вы считаетесь официально подписанным на какую-то услугу (будь то одноразовую или нет).


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

Всё это делает возможным, например, следующую схему:
  1. 1-го января в семь утра вводят ваш номер телефона.
  2. Оператору присылают уведомление, что вы бессрочно подписались на такую-то услугу и подтвердили эту услугу.
  3. С вашего счета начинают списывать 40 р. каждый день, пока не кончатся деньги или вы не заметите их утечку (если вы платите за телефон раз в месяц, то легко можете потерять тысячу рублей).

Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments66

24 недели Metro-дизайна для Windows Phone | #2 Процесс проектирования приложений для Windows Phone

Reading time22 min
Views8.1K
Сегодня я расскажу о процессе проектирования приложений Windows Phone, которым я пользуюсь. Хотя многое из этого представляет собой обычные этапы для процесса проектирования, я попытаюсь объяснить их именно с точки зрения дизайна приложений для Windows Phone. Пишите мне в твиттер, если у вас есть какие-либо замечания, вопросы, или оставьте комментарий в блоге.

Эта статья покрывает процесс от начала и до конца, так что я буду рассказывать о высокоуровневых понятиях, а в ближайших статьях мы начнем более подробное изучение каждого из этапов. В следующей статье, например, мы начнем с придумывания идей и концепции — всё, что касается историй, эскизов, раскадровок и грубых (бумажных) прототипов.
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments7

Опыт заказа в китайских интернет-магазинах

Reading time5 min
Views578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →
Total votes 169: ↑155 and ↓14+141
Comments106

46 простых советов для успеха вашего интернет-магазина

Reading time3 min
Views28K
image
Роб Грин, владелец собственного консалтингового агентства в Лос-Анжелесе, уже долгое время работает в сфере SEO. За эти годы он видел множество интернет-магазинов и может четко сказать, чего не хватало большинству из них. Он собрал список из 46 самых актуальных советов, которые он давал своим клиентам.

1. Никогда не оставляйте письмо без ответа. Всего 48 часов, и ваш клиент перестанет ждать.

2. Дайте клиенту увидеть стоимость доставки без регистрации.

3. Если вы доставляете товар в различные регионы (страны), сделайте список регионов в алфавитном порядке.
Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments8

Безопасность покупателя в рознице: что надо знать лично вам

Reading time6 min
Views252K


Ценник должен быть с печатью или подписью. Он является документом и обязательно должен быть на товаре. Если вы видите что-то с ценником (неважно, где и как оно стоит), вы имеете право купить его по цене на нём.

Пример: вам говорят, что товар по акции кончился. Вы видите один в витрине в герметичном ящике под потолком, но с ценником. Вам не имеют права отказать в его продаже.

Второй пример: когда обновляются цены, в торговом зале может остаться ценник со старой ценой ниже. Цена в базе другая? Ну и что, вот ваш же документ. Если же вдруг ценник без печати-подписи, и на таком товаре нет правильного ценника — регистрируйте нарушение. Ценники обязательно должны быть хотя бы на одном товаре из пачки.
Читать дальше →
Total votes 236: ↑225 and ↓11+214
Comments498

DotNetFiddle – JsFiddle для .Net девелоперов

Reading time2 min
Views13K
Я рад вам представить наш новый продукт — бесплатная онлайн песочница для .Net. Вы можете использовать её для тестирования разных идей, проверки кода, и отсылки кусков кода разработчикам по всему миру.

http://dotnetfiddle.net

Как появилась идея

Хотелось ли вам проверить какой-то код, но после часа поиска чего-то похожего на StackOverflow, вы решаете просто забыть об этом. Сильно много лишних действий…

  1. Запустить Visual Studio.
  2. Создать консольное приложение.
  3. Добавить нужные reference.
  4. Написать код.
  5. Запустить его.
  6. Если будет ошибка компиляции, то вернуться назад на 4 шаг.
  7. Если все хорошо — радоваться.


Решение — DotNetFiddle

DotNetFiddle оставляет только один шаг:

  1. Написать код

Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments24

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Registered
Activity