Pull to refresh
0
@sweet__pickleread⁠-⁠only

User

Send message

Наиболее используемые шаблоны проектирования распределенных систем

Level of difficultyMedium
Reading time14 min
Views7.4K

Шаблоны проектирования распределенных систем предоставляют разработчикам проверенные решения и передовые методы проектирования и внедрения распределенных приложений.

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments0

Obsidian — Мой сетап

Level of difficultyMedium
Reading time13 min
Views55K

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

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

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

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

В этом хранилище используются 10 плагинов, основные:

- Calendar - для календаря справа.

- Dataview - для статистики и для проектов.

- Tasks - для задач.

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

К такой настройке я шёл целый год используя обсидиан, постоянно дорабатывал её и искал "совершенство", в ней собраны разные подходы из разных статьей и книг (GTD, 7 навыков, Джедайские техники, Атомные привычки), данные подходы большинству могут быть знакомы. Но есть метод, до которого я дошёл сам и до этого я нигде его не встречал (возможно просто не попадался) - это метод одной задачи.

Disclaimer1: Мой сетап не претендует на "идеальность", в нём найдутся минусы и неудобности. Я выношу его на общее обсуждение в том числе для того, чтобы кто-то мог предложить ту или иную доработку тут в комментариях, а так же для того, чтобы новички могли сходу вкатиться в этот чудесный обсидиановый мир.
Disclaimer2: Обычно обсидиан ассоциируют с Zettelkasten, графами и прочими атомарными заметками. Я в своём подходе этого не использую, возможно еще не дорос, возможно мой подход немного про другое. В этой статье я пишу не про это.

Погнали вкатываться в обсидиановый мир
Total votes 20: ↑19 and ↓1+21
Comments40

Как удобно хранить всю информацию по SMM проектам с помощью Obsidian?

Level of difficultyEasy
Reading time5 min
Views9.5K

Всем привет, на связи снова команда Skill Vortex! Хоть обычно мы пишем про софт скилы и саморазвитие, сегодня отвлечемся от привычной тематики, нырнув в техническую часть.

Скорее всего, многие из читателей знакомы с приложением для заметок Obsidian. Если кратко, то этот сервис позволяет внести все свои знания и мысли в одно хранилище, вдобавок систематизировав их.

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

Как мы пришли к такому методу?

Тексты: как удобнее всего организовать и какие есть плюшки?

Сайт: удобная визуализация и быстрый доступ.

Как мы поставили создание контента на конвейер?

Как сделать коллективный разум?

А что по плагинам?

Заключение и пара полезных ссылок.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments11

Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров

Reading time11 min
Views81K

Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о том, как я заменил привычный, но такой недоступный Evernote прекрасным менеджером заметок Obsidian. Статья будет интересна прежде всего тем, кто хочет обладать «вторым мозгом» и ни о чем не забывать.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments97

Anki — настолько круто, что я даже представить не мог

Reading time4 min
Views158K

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

Впервые про Anki я услышал много лет назад. Может быть 10 или больше, точно сказать сложно. Прочитал здесь на Хабре, что есть такая крутая штука как интервальное повторение, и что Anki как раз такая программа, которая использует этот механизм. Помню что в статье рассказывалось только про версию под декстоп.

Читать далее
Total votes 69: ↑60 and ↓9+66
Comments145

Практика подготовки иностранных слов с озвучкой для запоминания в программе Anki

Reading time4 min
Views37K

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

Читать дальше →
Total votes 10: ↑7 and ↓3+8
Comments15

Ликбез по типизации в языках программирования

Reading time12 min
Views517K
image

Эта статья содержит необходимый минимум тех вещей, которые просто необходимо знать о типизации, чтобы не называть динамическую типизацию злом, Lisp — бестиповым языком, а C — языком со строгой типизацией.

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Total votes 239: ↑232 and ↓7+225
Comments180

Эффективное ведение дел или Obsidian + GTD

Level of difficultyMedium
Reading time12 min
Views74K

Иногда сложно справиться с большим потоком задач и информации, особенно если это касается работы. Поэтому создание персональной базы знаний для своих текущих дел становится весьма актуальным. Но простая фиксация данных не всегда эффективна: легко потеряться в куче заметок. Различные методики помогают правильно организовать процесс. Вместе с тем информация не существует сама по себе, она, как правило, неразрывно связана со всеми нашими проектами, задачами и другими событиями. Если это учитывать, то проще оперировать данными, находить нужные факты. Через задачу легко выйти на связанную с ней информацию или, наоборот, через данные можно найти проект или задачу, в рамках которых они появились. Однако на практике все это будет эффективно работать, если получится создать единую среду для ведения дел и хранения всех связанных с ними данных.

Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian совместно с методологией Getting Things Done (GTD) Дэвида Аллена.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments37

Как я получил Remote Work ВНЖ в Дубае по гайду в интернете

Level of difficultyEasy
Reading time6 min
Views16K

Привет всем! Меня зовут Максим, я технический продакт-менеджер в американском стартапе. В мае я получил резидентскую визу и Emirates ID в ОАЭ как Digital Nomad по инструкции в интернете. Рассказываю, чем реальность отличается от гайдов в интернете, с конкретными датами и суммами.

Читать далее
Total votes 24: ↑22 and ↓2+26
Comments29

Процессоры, ядра и потоки. Топология систем

Reading time12 min
Views290K
В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.



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

Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments18

StringBuilder прошлое и настоящее

Reading time13 min
Views64K

Вступление


Моя прошлая статья была посвящена особенностям строкового типа данных String в .NET. Эта статья продолжает традицию, однако на этот раз мы рассмотрим класс StringBuilder.

Как известно, строки в .NET являются неизменяемыми (не используя unsafe), а поэтому проводить с ними операцию конкатенации в больших количествах не самая лучшая идея. Это значит, что следующий код имеет весьма серьезные проблемы с нагрузкой на память:

string s = string.Empty;
for (int i = 0; i < 100; i++)
 {
    s += "T";
 }
Читать дальше →
Total votes 78: ↑67 and ↓11+56
Comments32

Все секреты многопоточности

Level of difficultyMedium
Reading time16 min
Views15K

Disclaimer. Данная работа не повлияла на мои взгляды на программирование, но повлекла достаточно радикальные изменения в подходах к проектированию автоматных объектов.  Теперь, если процесс  автономен и/или не предъявляет требований  к синхронизации, он может использовать другие механизмы параллелизма, не переставая при этом быть автоматным по сути. А почему так случилось, что этому предшествовало  и что это за изменения, вы прочтете далее.

Это не самая большая моя статья (так я думал, начиная ее), над которой я работал, пожалуй, дольше и больше, чем над другими. Но это точно первая моя статья, в которой автоматы и ВКПа не будут главной темой. Тема потоков для меня достаточно необычна, т.к. я совсем не фанат многопоточного программирования. Но,  тем не менее, занимаясь параллельным программированием, время от времени возвращаюсь к теме многопоточности. И вот, чтобы добыть какие-то аргументы для критики и одновременно попробовать найти практическое применение потокам, я решил в этот очередной раз более плотно заняться потоками. А что из этого получилось,  читайте далее.

Читать далее
Total votes 10: ↑5 and ↓5+1
Comments41

Руководство по Docker Compose для начинающих

Reading time9 min
Views887K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

image
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments14

Книги для начинающих разработчиков: от «Чистой архитектуры» до «Паттернов проектирования»

Reading time5 min
Views33K

Книги — отличный источник знаний, это верно. Но как определить, где хорошая книга, а где не очень? Лучше всего воспользоваться рекомендательными сервисами либо же посмотреть обзоры на разные книги в сети. Именно поэтому сегодня публикуем подборку хороших изданий, которые в основном пригодятся начинающим разработчикам. Но, вероятно, они будут полезны и более опытным коллегам. Под катом — самое интересное!

Читать далее
Total votes 13: ↑10 and ↓3+16
Comments13

С чем едят конечный автомат

Level of difficultyEasy
Reading time9 min
Views22K
image

Машина Тьюринга и машина состояний, детерминированный и недетерминированный конечный автомат, конечный автомат Мура и конечный автомат Мили. Голова кругом от всех этих понятий. Как во всем этом разобраться новичку? Тем более, что и у бывалых спецов бывает такая каша в голове из этих понятий. Чего только стоит вебинар от Яндекс Практикум на тему «Конечные автоматы в реальной жизни». Именно случайный просмотр этого вебинара сподвиг меня написать статью. Я обратил внимание, что даже более опытные лекторы ловко жонглируют всеми этими понятиями или подменяют одни другими в своих лекциях. С этим можно просто смириться, или дойти до безумия, разбираясь что к чему. И как со всем этим жить начинающему ардуинщику, если про конечные автоматы в программировании трубят из каждого утюга, а добраться до истины самостоятельно непросто?

Не гарантирую, что после прочтения статьи все сразу станет на свои места, но, как минимум, постараемся выудить из всей этой «каши» что-то полезное для себя. Так что усаживайтесь по удобнее, тема не простая, под катом будет много текста.
Читать дальше →
Total votes 21: ↑15 and ↓6+16
Comments26

Еще раз про асинхронную машину состояний и где именно там аллокации

Level of difficultyMedium
Reading time8 min
Views22K

Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы подробно рассмотрим машину состояний, сгенерированную компилятором из асинхронного метода для понимания принципа работы асинхронности в C#, разберемся где именно там аллокации и порешаем задачи для самопроверки. Если вы уже раз сто видели как выглядит асинхронная машина состояний, но все равно недопонимаете ее, тогда эта статья для вас.

Читать далее
Total votes 23: ↑21 and ↓2+24
Comments9

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2

Reading time13 min
Views82K
Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight.

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

Содержание



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

Замыкания в C#

Reading time2 min
Views64K
Перед прочтением статьи, ответьте на следующий вопрос — что будет напечатано, после исполнения следующего кода?

P p = Console.WriteLine; // P объявлен как delegate void P();
foreach (var i in new [] { 1, 2, 3, 4 }) {
  p += () => Console.Write(i);
}
p();
Элементарно?
Total votes 65: ↑53 and ↓12+41
Comments43

Замыкания на переменных цикла в C# 5

Reading time4 min
Views39K
Многие разработчики языков программирования, библиотек, да и классов простых приложений стремятся к интуитивно понятному интерфейсу создаваемых классов. Скотт Мейерс еще полтора десятка лет назад сказал о том, чтобы мы стремились разрабатывать классы (библиотеки, языки), которые легко использовать правильно, и сложно использовать неправильно.

Если говорить о языке C#, то его разработчики подходят к вопросам «юзабилити» весьма основательно; они спокойно могут пожертвовать «объектной чистотой» в угоду здравому смыслу и удобству использования. Одним из немногих исключений из этого правила является замыкание на переменной цикла, той самой фичи, которая ведет себя не так, как считают многие разработчики. При этом количество недовольства и недопонимания настолько много, что в 5-й версии языка C# это поведение решили изменить.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments46

Медленная сборка кода с .NET Roslyn: как найти и устранить причину

Level of difficultyHard
Reading time12 min
Views4.8K

.NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать код 5 раз, можно потерять полчаса при сборке, а то и больше.

Теперь на примере платформы автоматизации маркетинга Mindbox. Основное программное решение — это монолит на C#: несколько миллионов строк, 50 проектов, над которыми одновременно работают десятки команд. Даже сэкономленная при сборке минута выливается в кучу продуктивных человеко-часов. Поэтому, когда речь зашла о переходе всей компании на MacBook в будущем, мы решили выяснить, как это отразится на производительности.

Читать далее
Total votes 46: ↑46 and ↓0+53
Comments26

Information

Rating
Does not participate
Registered
Activity