Pull to refresh
-1
0
Дмитрий @Scarfase1989

Эникей

Send message

Как я восстанавливал флешку

Reading time2 min
Views30K

На днях я столкнулся с такой проблемой: мне нужно было перенести большое количество файлов с одного компьютера на другой. Было решено использовать флешку вместо облака. Суммарный объем файлов примерно 60 гигов, флешка была всего на 32. Я подумал, что за два захода справлюсь с этим. Первую часть (примерно 30 гигов) я перебросил без каких-либо проблем, когда закачивал вторую возникла проблема — на 97% закачка остановилась и минут 40 ничего не происходило. Ну что ж, принято решение вытащить флешку и скинуть на другой компьютер то, что уже было на ней. Но, не тут то было: флешка перестала читаться на каком-либо компе. Попробовал, на всякий случай, несколько вариантов: запустил флешку на компе с Windows и Linux. Результат тот же: звук, что флешка вставлена в компьютер есть, самой флешки нет.

Читать далее
Total votes 24: ↑19 and ↓5+14
Comments16

SSH с высоты птичьего полёта, или разгребаем кучи ключей

Level of difficultyMedium
Reading time16 min
Views28K

Решил я недавно разобраться в подробностях работы SSH. Использовал его для удалённого запуска команд давно, но, будучи не слишком опытным в системном администрировании, очень размыто представлял, зачем админы просят им отправить какой-то ключ, что с этим ключом происходит при подключении, и прочее. Поэтому предлагаю здесь обзорную экскурсию по используемым алгоритмам и ключам.

Статья рассчитана на тех, кто поверхностно знаком с SSH, возможно, использовали на практике, но не осознали его сакральных смыслов и глубоких тайн. Попытаюсь описать основные аспекты безопасности протокола: какие ключи и алгоритмы используются, в какой момент и зачем. Также будут замечания, как некоторые части протокола реализованы в OpenSSH.

Читать далее
Total votes 41: ↑39 and ↓2+37
Comments46

Имплементируем WebSocket протокол на Go

Reading time9 min
Views23K

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

Или узнать с какой простотой Go стал одним из самых популярных языков программирования для написания сетевых приложений.

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

Разработка REST-серверов на Go. Часть 4: применение OpenAPI и Swagger

Reading time11 min
Views21K
Перед вами четвёртый материал о разработке REST-серверов на Go. Здесь мы поговорим о том, как можно воспользоваться OpenAPI и Swagger для реализации стандартизированного подхода к описанию REST API, и о том, как генерировать Go-код на основе спецификации OpenAPI.



Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments6

Дзен Go (карманная версия)

Reading time2 min
Views3.6K
В преддверии старта курса «Разработчик Golang» подготовили перевод небольшой полезной заметки.




Десять технических рекомендаций для написания простого, читаемого и удобного в обслуживании кода на Go. Представлено в рамках GopherCon Israel 2020.
Читать дальше →
Total votes 17: ↑9 and ↓8+1
Comments1

Шаблон backend сервера на Golang — часть 2 (REST API)

Reading time32 min
Views30K

UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes


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


Первая часть шаблона посвящена HTTP серверу:


  • настройка HTTP сервера через командную строку и конфигурационный файл
  • настройка параметров TLS HTTP сервера
  • настройка роутера и регистрация HTTP и prof-обработчиков
  • настройка логирования HTTP трафика, логирования ошибок в HTTP
  • HTTP Basic и MS AD аутентификация, JSON Web Token
  • запуск сервера с ожиданием возврата в канал ошибок
  • использование контекста для корректной остановки сервера и связанных сервисов
  • настройка кастомной обработки ошибок и кастомного логирования
  • сборка кода с внедрением версии, даты сборки и commit

Вторая часть шаблона посвящена прототипированию REST API.
Ссылка на репозиторий проекта осталась прежней.


Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Архитектура шаблона REST API


В ходе тестирования шаблона на стенде были получены следующие результаты.

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

Шаблон backend сервера на Golang — часть 1 (HTTP сервер)

Reading time17 min
Views31K

UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes


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


Шаблон включает:


  • Передачу параметров сервера через командную строку github.com/urfave/cli
  • Настройка параметров сервера через конфигурационный файл github.com/sasbury/mini
  • Настройка параметров TLS HTTP сервера
  • Настройка роутера регистрация HTTP и prof-обработчиков github.com/gorilla/mux
  • Настройка уровней логирования без остановки сервера github.com/hashicorp/logutils
  • Настройка логирования HTTP трафика без остановки сервера
  • Настройка логирования ошибок в HTTP response без остановки сервера
  • HTTP Basic аутентификация
  • MS AD аутентификация gopkg.in/korylprince/go-ad-auth.v2
  • JSON Web Token github.com/dgrijalva/jwt-go
  • Запуск сервера с ожиданием возврата в канал ошибок
  • Использование контекста для корректной остановки сервера и связанных сервисов
  • Настройка кастомной обработки ошибок github.com/pkg/errors
  • Настройка кастомного логирования
  • Сборка с внедрением версии, даты сборки и commit

Вторая часть посвящена прототипированию REST API.


Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Ссылка на репозиторий проекта.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments7

Как правильно мерять производительность диска

Reading time14 min
Views336K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

Трансформируем рабочее место в лежачее за 200$

Reading time3 min
Views98K
По мнению австралийского нейрофизиолога Дарена Липники, люди лучше решают творческие задачи в лежачем положении. Это связано с норадреналином, не дающем нам расслабиться пока тело находится в вертикальном положении.



Мысль о работе с компьютером лёжа впервые пришла ко мне ещё во времена студенчества, когда после сидения на дешёвом офисном стульчике очень затекала поясница. Беглый поиск в интернете показал, что офисная мода об этом молчит, а недорогие самодельные решения существуют, но выглядело это всё так сомнительно и неэстетично, что отбивало всякую охоту повторять подвиги умельцев.
Total votes 134: ↑130 and ↓4+126
Comments169

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views309K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments212

Information

Rating
Does not participate
Location
Шымкент (Чимкент), Чимкентская обл., Казахстан
Date of birth
Registered
Activity