Pull to refresh
11
0

.NET Architect

Send message

Git изнутри и на практике

Reading time11 min
Views19K
Умение работать внутри системы контроля версий — навык, который требуется каждому программисту. Зачастую может показаться, что закапываться в Git и разбираться в его внутренностях — лишняя потеря времени и основные задачи можно решить через базовый набор команд.

Команде AppsCast, конечно, захотелось узнать больше, и за консультацией по практическому применению всех возможностей Git ребята обратились к Егору Андреевичу из Square.


Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments2

Отлаживайте ваши приложения .NET Core в WSL 2 с Visual Studio

Reading time3 min
Views5.4K
Вы разработчик .NET Core, которому нравится работать в Windows и Visual Studio, но вам нужно протестировать свое приложение в Linux? Вы кросс-платформенный разработчик, которому нужен простой способ тестирования большего количества целевых сред? Вы уже открыли для себя преимущества WSL 2, но вам нужен способ интегрировать его во внутренний цикл? У меня есть для вас расширение! Расширение .NET Core Debugging с WSL 2 — Preview дает вам возможность запускать и отлаживать приложения .NET Core в WSL 2, не выходя из Visual Studio.

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

С нуля до автоматизации контейнеров за 7 минут

Reading time6 min
Views3.4K

В статье ранее (на португальском) я рассказал, как создать полнофункциональный бэкенд GraphQL, используя только образ Docker и файл конфигурации. Все это можно найти на сайте Azure. А сейчас давайте поговорим о том, как автоматизировать развертывания, созданные для нашего хостинга, и обновления нашей серверной части!


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


Вместо этого мне бы хотелось, чтобы с каждым push в главной ветке генерировалась новая версия файла и обновление отправлялось на сайт Azure. Однако я не хочу использовать для этого другие инструменты. Мне бы хотелось, чтобы весь стек был максимально простым, так как мы пользуемся только GitHub и Azure. Нет ничего проще, чем продолжать пользоваться GitHub для автоматизации, верно?


Вот почему мы будем использовать GitHub Actions


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

Обзор возможностей современного JavaScript

Reading time5 min
Views65K
JavaScript, наверное, самый известный мультипарадигменный язык, в котором очень много неочевидных особенностей. Но тем не менее любим ли мы его или ругаем, факт остается фактом — это основной язык, на котором работает современный web.

В ушедшем году, вышел стандарт ECMAScript 2015 (неформально ES6), который сильно изменил, то к чему мы привыкли. Появилась масса новых возможностей, которые по сути представляют собой современное надмножество языка, пытающегося решить существующие проблемы. Class, let, const, стрелочные функции… разработчик, который ранее не видел код, написанный на ES6, не сразу догадается, что перед ним, по сути, старый добрый JS.

Есть масса прекрасных статей, посвященных современному стандарту. В этом же посте я хочу показать, что нам может предложить современный JS, когда необходимо решить насущную задачу. Например, поздравить всех c Новым Годом.
Читать дальше →
Total votes 56: ↑36 and ↓20+16
Comments67

ES6 по-человечески

Reading time11 min
Views590K

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по ES6. В нём можно ознакомиться с основными понятиями стандарта.
Оригинальный текст в некоторых случаях был дополнен или заменён на более подходящий источник. Например, часть определения ключевого слова const является переводом документации с MDN.
Чтобы лучше разобраться в некоторых концепциях (для выполнения качественного перевода) использовалось описание стандарта на сайте MDN, руководство "You Don't Know JS: ES6 & Beyond" и учебник Ильи Кантора.


Перевод выложил на Гитхаб: https://github.com/etnolover/ES6-for-humans-translation. В случае нахождения ошибок пишите, исправлю.
Ссылка на оригинальный текст: https://github.com/metagrover/ES6-for-humans


Update 22.07.2016: добавил опрос про const


Содержание



Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments87

Модель Белбина для IT: сила и слабость разных команд

Reading time16 min
Views20K
В работе с некоторыми командами бывают ситуации, когда что-то работает само, и об этом не надо думать. Сами доделываются задачи, сама развёртывается Continuous Integration — есть люди, которые этим занимаются, и за рабочими процессами не нужно специально следить. Но в других командах это само не происходит.

Почему? Проще всего сказать, что все люди разные, поэтому и команды разные. Но, если тимлид будет рассматривать команду как систему, то сможет увидеть закономерности: поймёт, где за командой надо обязательно следить, а в каких случаях всё произойдёт как будто само собой. Опираясь на такой подход мы сможем привести команду к балансу и поможем ей выиграть (довести проект до конца). Описать командное взаимодействие как систему позволяет ролевая модель команд Белбина.

Максим Цепков — IT-архитектор и бизнес-аналитик, навигатор и эксперт по миру Agile, работающий с самыми разнообразными системами — от бирюзовых организаций до Спиральной динамики. О моделях Белбина Максим рассказывает часто (смотрите семинар, доклад на SPMconf и на COMAQA, а также статью о ролях).

Сегодня мы публикуем расшифровку доклада, посвященного модели команд по Белбину, с которым Максим выступил на конференции TeamLead Conf 2020.


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

Best practices для клиент-серверного проекта PoC

Reading time21 min
Views10K
image

Типичный клиент-серверный проект PoC (Proof of Concept) для веба состоит из клиента с GUI, сервера c бизнес логикой и API между ними. Также используется база данных, хранящая оперативную информацию и данные пользователей. Во многих случаях необходима связь с внешними системами со своим API.

Когда у меня возникла необходимость в создании проекта PoC, и я начал разбираться в деталях, то оказалось, что порог вхождения в веб-программирование весьма высок. В крупных проектах для каждого компонента есть выделенные специалисты: front-end, back-end разработчики, UX/UI дизайнеры, архитекторы баз данных, специалисты по API и информационной безопасности, системные администраторы. В небольшом PoC надо самому во всем разобраться, выбрать подходящее техническое решение, реализовать и развернуть. Ситуацию ухудшает тот факт, что из обучающих материалов не всегда понятно, почему предлагается сделать именно так, а не иначе, есть ли альтернативы, является ли решение best practice или это частное мнение автора. Поэтому я разработал заготовку под названием «Common Test DB», отвечающую лучшим практикам. Ее можно использовать для начала любого проекта, остается только наполнить функциональным смыслом.

В статье я подробно опишу примененные best practices, расскажу про имеющиеся альтернативы и в конце размещу ссылки на исходники и работающий в сети пример.
Читать дальше →
Total votes 7: ↑6 and ↓1+7
Comments26

Тернистый путь стандартизации блокчейн технологий в России

Reading time10 min
Views3K

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

Что может объединить эти два мира? Ответ: диалог экспертов этих двух миров (криптоэкономического и корпоративного) по вопросам стандартизации технологический и лучших практик, а также принятие общих технологических подходов. Такой диалог потенциально сможет упростить последующие интеграционные процессы и ускорить принятие блокчейн-технологий широкими массами.

Но как этого достичь? В коммерческой среде, когда нужно наладить взаимодействие участников какого-либо сектора экономики, создаются ассоциации и консорциумы. В чисто технологических вопросах такими площадками выступают центры стандартизации, например МСЭ-Т(ITU-T), ИСО (Международная организация по стандартизации). В России такой независимой площадкой объединения экспертов блокчейн-технологий выступает Технический Комитет по стандартизации "Программно-аппаратные средства технологий распределённого реестра и блокчейн" (http://bccmt.ru).

Как руководитель одной из рабочих групп (с декабря 2019 года) и эксперт ISO TC 307 DLT (TC 307 - Blockchain and distributed ledger technologies) я хочу поделиться информацией по стандартизации блокчейн технологий в России и мире. А также привлечь внимание экспертов блокчейн рынка к работе ТК 159, как площадке взаимодействия, которая может многое дать своим участникам.

Узнать больше
Total votes 2: ↑1 and ↓1+2
Comments0

Infer#: межпроцедурный анализ безопасности доступа к памяти для C#

Reading time3 min
Views2.8K
Мы рады объявить о публичном выпуске Infer#, который предоставляет сообществу .NET возможности межпроцедурного статического анализа Infer. Кроме того, в рамках нашей приверженности открытому исходному коду проект был выпущен на GitHub под лицензией MIT.

Статический анализ — это метод, обычно используемый в рабочем процессе разработчика для проверки правильности исходного кода без необходимости его выполнения. Популярные анализаторы в экосистеме .NET — это FxCop и Roslyn. Infer# дополняет эти инструменты, обнаруживая межпроцедурные ошибки безопасности памяти, такие как разыменование null и утечки ресурсов.

Интегрируясь непосредственно в рабочий процесс разработчика для обнаружения ошибок надежности и безопасности перед их отправкой, Infer# поддерживает гибкую разработку для .NET. В самом деле, мы уже наблюдаем многообещающие первые результаты в отношении программного обеспечения Microsoft, такого как Roslyn, .NET SDK и ASP.NET Core.

Мы планируем и дальше расширять Infer#, и в будущем мы будем поддерживать безопасность потоков.

Подробнее под катом.

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

Ультимативный список инструментов для разработчиков и опытных пользователей для Windows

Reading time6 min
Views73K
Можете ли вы поверить, что с момента моего последнего списка инструментов прошло 6 лет? Инструменты изменились, многие из них доступны онлайн, но, честно говоря, для составления нового списка инструментов требуется ОЧЕНЬ МНОГО РАБОТЫ. Но я смог, вот список на 2020-2021 годы. Это инструменты в моей папке Utils. Я создал папку d:\dropbox\utils и добавил ее в свой PATH. Таким образом, он будет на всех моих компьютерах, и я могу мгновенно добраться до любого из них.

Это обновленный до версии 2020-21 мой список 2003, 2005, 2006, 2007, 2009, 2011 и 2014 годов, который в настоящее время включает все остальные мои списки. Я занимаюсь этим более 17 лет. Вау. Думаю, стоит тратить на это больше времени.

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

Все это очень любимые и часто используемые утилиты. Я бы не рекомендовал их, если бы не использовал их постоянно. Никто не платил деньги за то, чтобы быть в этом списке.

Эту статью написал наш коллега Скотт. Вот версия на английском. Ну а сам список под катом.

Читать дальше →
Total votes 50: ↑43 and ↓7+49
Comments164

Как сделать хорошую интеграцию? Часть 1

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

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


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

Активное внедрение стандарта Интернета RPKI — полезно ли?

Reading time3 min
Views5.8K

Сейчас почитал, поразмыслил и начал понимать, что, возможно, я рано сегодня порадовался отличной статистике внедрения RPKI в массы в этом году.

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

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

Читать далее
Total votes 8: ↑6 and ↓2+8
Comments15

Блокчейн, частные криптовалюты и смарт-контракты: реалии шестого технологического уклада

Reading time6 min
Views5.8K

Введение


В публикациях различных экспертов в области информационных технологий и футурологии мы постоянно читаем про четвертую промышленную революцию (Industry 4.0) и переход к шестому технологическому укладу. Конечно, все эти оптимистические прогнозы касаются развитых стран, однако про «цифровую трансформацию» и «экономику знаний» ведутся речи на самом высоком уровне в России и странах СНГ. К каким изменениям нужно готовиться в грядущее десятилетие, как рядовым гражданам, так и ИТ-специалистам? Какие технологии будут базовыми в 6-м укладе?

Industry 4.0
image

Футурологи выделяют несколько базовых трендов в сфере ИТ (виртуальная и дополненная реальность, 3D печать, искусственный интеллект и т.д.), но среди них уверенно лидируют:
Читать дальше →
Total votes 6: ↑3 and ↓3+2
Comments2

Эссе на тему единого универсального общепланетарного времени

Reading time4 min
Views8.9K
Во всех проектах, где мне приходилось работать (включая текущий), были проблемы с часовыми поясами. Не все копья еще сломали и будут ломать. Возможно, стоит вообще отменить эти пояса? Аванс для тех, кто будет читать.


Total votes 9: ↑8 and ↓1+14
Comments156

Тонкости авторизации: обзор технологии OAuth 2.0

Reading time14 min
Views76K
Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. Чтобы не отвлекаться на несколько аккаунтов, 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию, в основе которого лежит стандарт авторизации OAuth 2.0. Этот стандарт довольно сложный, но если у вас сложная архитектура с множеством сервисов, то OAuth 2.0 вам пригодится при разработке своего сервиса аутентификации. В этой статье я постарался рассказать о стандарте максимально просто и понятно, чтобы вы сэкономили время на его изучение.


Читать дальше →
Total votes 28: ↑27 and ↓1+33
Comments19

5 способов краулинга веб-сайта

Reading time3 min
Views19K


Из Википедии веб-краулер или паук – бот, который с просматривает всемирную паутину, как правило, с целью индексации. Поисковики и другие веб-сайты используют краулеры для обновления своего содержимого или индексации содержимого других сайтов.


Давайте начнем!!


Metasploit


Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

Видно, что был запущен сканер, с помощью которого можно найти скрытые файлы на любом веб-сайте, например:


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →
Total votes 12: ↑8 and ↓4+10
Comments5

25 и 26 сентября — открытые дни на Frontend Live

Reading time7 min
Views3.1K
В эти дни принять участие в конференции может любой желающий. Но нужно зарегистрироваться. Смотрите, что вам будет по душе в полном расписании Frontend Live.

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

Что нового есть во Frontend и что мы можем сделать лучше?



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

Используем tcpdump для анализа и перехвата сетевого трафика

Reading time7 min
Views262K


Утилита tcpdump — отличный инструмент командной, который способен перехватывать и анализировать сетевой трафик. Может оказаться большим подспорьем при решении сетевых проблем. Пакеты можно сохранить в файл и анализировать позже. Рекомендуется время от времени запускать эту утилиту, чтобы следить за своей сетью.


Содержание:


  • Вывод tcpdump
  • Установка tcpdump
  • Опции tcpdump
  • Фильтры tcpdump:
    • Фильтр выражений
    • Фильтр портов
    • Фильтр хостов
    • Комбинирование фильтров
  • Сохранение заголовков в файл
  • Просмотр сведений о пакете
  • Вывод

Вывод tcpdump


Утилита tcpdump позволяет проверять заголовки пакетов TCP/IP и выводить одну строку для каждого из пакетов. Она будет делать это до тех пор, пока не нажать Ctrl + C.


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


20:58:26.765637 IP 10.0.0.50.80 > 10.0.0.1.53181: Flags [F.], seq 1, ack 2, win 453, options [nop,nop,TS val 3822939 ecr 249100129], length 0

Каждая строка включает:


  • Метка времени Unix (20: 58: 26.765637)
  • протокол (IP)
  • имя или IP-адрес исходного хоста и номер порта (10.0.0.50.80)
  • имя хоста или IP-адрес назначения и номер порта (10.0.0.1.53181)
  • Флаги TCP (Flags [F.]). Указывают на состояние соединения и могут содержать более одного значения:
    • o S — SYN. Первый шаг в установлении соединения
    • F — FIN. Прекращение соединения
    • — ACK. Пакет подтверждения принят успешно
    • P — PUSH. Указывает получателю обрабатывать пакеты вместо их буферизации
    • R — RST. Связь прервалась
  • Порядковый номер данных в пакете. (seq 1)
  • Номер подтверждения. (ack 2)
  • Размер окна (win 453). Количество байтов, доступных в приемном буфере. Далее следуют параметры TCP
  • Длина полезной нагрузки данных. (length 0)
Читать дальше →
Total votes 5: ↑3 and ↓2+5
Comments5

IELTS, TOEFL, PTE: детальный гайд по международным экзаменам по английскому языку

Reading time9 min
Views45K


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

Сегодня существует несколько десятков разнообразных программ тестирования, которые выдают сертификаты об уровне владения английским. Но самыми популярными среди них считаются IELTS, TOEFL и PTE.

Что это такое, где актуальны сертификаты, как сдавать, сколько стоит пройти экзамен и в чем вообще разница — рассказываем сегодня в статье.
Total votes 6: ↑6 and ↓0+6
Comments6

Топ 10 перспективных оффшорных зон: экономия на налогах в эпоху деофшоризации

Reading time6 min
Views22K
Будем откровенны и скажем: в оффшоры стремились в основном по двум причинам. Первая: защитить активы, будь то имущество или личная информация. Активы защищать всё ещё возможно, а вот за сокрытие информации могут наступить административные и уголовные последствия.

Вторая причина – низкие или нулевые налоги. Избавить бизнес хотя бы от части бремени и вздохнуть свободно – мечта многих предпринимателей. К сожалению, большинство стран идут по пути ужесточения налогового законодательства. Плюс давят оффшоры, которые предлагают освобождение от налогов.



Хуже всего что оффшорам стало сложно открывать банковские счета. Учитывая их далёкое расположение как от владельцев, так и от клиентов, это серьёзная проблема. Ведь нет денег – нет бизнеса.

Несмотря на общий тренд, мы подобрали десяток стран, которые можно использовать сегодня и в ближайшем будущем.
Читать дальше →
Total votes 14: ↑8 and ↓6+6
Comments1

Information

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