#linux #zombie #defunct #notOrphans
Zombies process occurs for child processes, where the entry is still needed to allow the parent process to read its child's exit status: once the exit status is read via the wait system call, the zombie's entry is removed from the process table and it is said to be "reaped". A child process always first becomes a zombie before being removed from the resource table.
Zombie processes should not be confused with orphan processes: an orphan process is a process that is still executing, but whose parent has died. These do not remain as zombie processes; instead, (like all orphaned processes) they are adopted by init (process ID 1), which waits on its children. The result is that a process that is both a zombie and an orphan will be reaped automatically.
Zombies process occurs for child processes, where the entry is still needed to allow the parent process to read its child's exit status: once the exit status is read via the wait system call, the zombie's entry is removed from the process table and it is said to be "reaped". A child process always first becomes a zombie before being removed from the resource table.
Zombie processes should not be confused with orphan processes: an orphan process is a process that is still executing, but whose parent has died. These do not remain as zombie processes; instead, (like all orphaned processes) they are adopted by init (process ID 1), which waits on its children. The result is that a process that is both a zombie and an orphan will be reaped automatically.
#kafka #architecture
A good and perhaps an opinionated video about Kafka and why it is better than traditional coupling technologies such as MQs, ETLs, etc.
https://www.youtube.com/watch?v=6yG2myKcMQE
A good and perhaps an opinionated video about Kafka and why it is better than traditional coupling technologies such as MQs, ETLs, etc.
https://www.youtube.com/watch?v=6yG2myKcMQE
YouTube
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or Frenemies?
This session discusses how to build an event-driven streaming platform leveraging Apache Kafka’s open source messaging, integration and streaming capabilities.
Learn the differences between an event-driven streaming platform and middleware like Message Queues…
Learn the differences between an event-driven streaming platform and middleware like Message Queues…
#lambda #aws #benchmarking
Benchmarking of AWS Lambda performance using different languages. Who wins: Java or Python? what's your guess?
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
Benchmarking of AWS Lambda performance using different languages. Who wins: Java or Python? what's your guess?
https://medium.com/the-theam-journey/benchmarking-aws-lambda-runtimes-in-2019-part-i-b1ee459a293d
Medium
Benchmarking AWS Lambda runtimes in 2019 (part I)
Have you ever wondered whether your AWS Lambda could be faster if you used a different runtime?
Forwarded from Типичный программист
Яндекс выложила Testsuite в открытый доступ
Это такой фреймворк для тестирования HTTP-сервисов. Применяется, например, в Яндекс.Такси, где бэк состоит из сотен микросервисов.
Testsuite основан на pytest и работает на Linux и macOS. Фреймворк удобен для интеграционных тестов преимущественно по принципу чёрного ящика. Но, конечно, и один сервис тоже можно проверить.
Ключевые фишки: вызов HTTP API тестируемого сервиса, перехват запросов во внешние сервисы, проверка внешних обращений к другим сервисам и порядка их вызова, взаимодействие с БД сервиса (начальное наполнение, проверка результата).
В статье на Хабре подробно описан пример использования: http://bit.ly/2wLcrcW
Там же найдёте ссылки на репо, доки и дополнительные примеры.
Это #партнёрский пост
Это такой фреймворк для тестирования HTTP-сервисов. Применяется, например, в Яндекс.Такси, где бэк состоит из сотен микросервисов.
Testsuite основан на pytest и работает на Linux и macOS. Фреймворк удобен для интеграционных тестов преимущественно по принципу чёрного ящика. Но, конечно, и один сервис тоже можно проверить.
Ключевые фишки: вызов HTTP API тестируемого сервиса, перехват запросов во внешние сервисы, проверка внешних обращений к другим сервисам и порядка их вызова, взаимодействие с БД сервиса (начальное наполнение, проверка результата).
В статье на Хабре подробно описан пример использования: http://bit.ly/2wLcrcW
Там же найдёте ссылки на репо, доки и дополнительные примеры.
Это #партнёрский пост
#systemDesign #interviews #distributedSystems
Are you preparing for a system design interview?
Or are you a junior software developer who wants to see a bigger picture?
Or are you just an architect of distributed systems or microservices who wants to refresh your knowledge and approaches?
If you answered to any of this questions "yes", then this video and the whole channel is definitely for you!
https://www.youtube.com/watch?v=bUHFg8CZFws
Are you preparing for a system design interview?
Or are you a junior software developer who wants to see a bigger picture?
Or are you just an architect of distributed systems or microservices who wants to refresh your knowledge and approaches?
If you answered to any of this questions "yes", then this video and the whole channel is definitely for you!
https://www.youtube.com/watch?v=bUHFg8CZFws
YouTube
System Design Interview – Step By Step Guide
Please check out my other video courses here: https://www.systemdesignthinking.com
Topics mentioned in the video:
- Stages of a typical system design interview: functional requirements (API), non-functional requirements, high-level design, detailed design…
Topics mentioned in the video:
- Stages of a typical system design interview: functional requirements (API), non-functional requirements, high-level design, detailed design…
Forwarded from AWS Notes
Дешёвая (бесплатная) база данных на AWS для собственных проектов (обучения/попробовать)
#начинающим #интересующимся
Допустим, у вас есть какой-то проектик, например, на условной Django для собственных нужд — как хобби, для обучения и т.п. Он где-то хостится бесплатно или за несколько долларов в месяц.
Вы почитали, что здесь пишут про AWS и загорелись попробовать на него переехать или сразу поднять тут свой, чтобы познакомиться поближе и получить опыт. Расценки на хранение файлов (S3) совершенно комфортны, но вот проблема — у вас есть (реляционная) база данных. Вы смотрите прайс на RDS, а там самая простая начинается от 12 долларов в месяц и желание пробовать AWS резко пропадает.
Разберём варианты, что можно сделать с БД, чтобы она была дешёвой, а лучше бесплатной.
RDS
Обязательно прочтите про бесплатный AWS — открыв себе новый аккаунт, вы получите возможность целый год крутить базу на виртуалке
EC2
Можно поднять БД на дешёвой виртуалке, например, на
DynamoDB
Отличная и даже близкая к идеальной БД, по сути бесплатная (и постоянно/бессрочно/всегда) для собственных проектов, т.к. имеет суперовскую ценовую модель. Но есть одно но — не реляционная.
Очень выгодно, если ваш проект/фреймворк умеет с ней работать. Или если можете допилить его до работы с DynamoDB. На выходе получаете крутизну serverless подхода при минимальной цене (обычно совсем бесплатно).
Гляньте видео с последнего реинвента, возможно оно подскажет, как можно переделать свой проектик под DynamoDB:
https://www.youtube.com/watch?v=DIQVJqiSUkE
Aurora Serverless
Вдруг вы пропустили и не знаете, что есть реляционная база данных с ценовой моделью а-ля DynamoDB, где вы платите лишь за реально используемые ресурсы.
https://aws.amazon.com/rds/aurora/serverless/
Её использование подпадает под Free Tier, так что также можно попробовать годик бесплатно.
Задеплоить Django на Aurora Serverless можно так:
https://www.agiliq.com/blog/2019/01/complete-serverless-django/
Cassandra
Не реляционная, но с аналогичной DynamoDB ценовой моделью.
https://aws.amazon.com/ru/mcs/
S3
Речь про файловую БД. Если прикрутить прослойку в виде условной Лямбды, что будет хранить данные не в БД, а на S3, то можно вообще избавиться от БД. Однако, понятно, это обычно требует серьёзной переделки проекта.
Athena
Не БД, но можно делать SQL запросы к S3. Под Django есть djathena.
Итого. Есть разные недорогие варианты прикрутить БД в свой проект на AWS. Реляционные и нет, с переделкой и без. Выбирайте, что подходит сейчас и что будет круто в дальнейшем. Главное — пробуйте!
#начинающим #интересующимся
Допустим, у вас есть какой-то проектик, например, на условной Django для собственных нужд — как хобби, для обучения и т.п. Он где-то хостится бесплатно или за несколько долларов в месяц.
Вы почитали, что здесь пишут про AWS и загорелись попробовать на него переехать или сразу поднять тут свой, чтобы познакомиться поближе и получить опыт. Расценки на хранение файлов (S3) совершенно комфортны, но вот проблема — у вас есть (реляционная) база данных. Вы смотрите прайс на RDS, а там самая простая начинается от 12 долларов в месяц и желание пробовать AWS резко пропадает.
Разберём варианты, что можно сделать с БД, чтобы она была дешёвой, а лучше бесплатной.
RDS
Обязательно прочтите про бесплатный AWS — открыв себе новый аккаунт, вы получите возможность целый год крутить базу на виртуалке
db.t2.micro.EC2
Можно поднять БД на дешёвой виртуалке, например, на
t3a.nano это выйдет 3.4$/мес (плюс стоимость диска и некоторые другие расходы). Примитивный и самый очевидный способ. БД нужно будет поднимать и поддерживать самому, потому вряд ли рекомендуемый.DynamoDB
Отличная и даже близкая к идеальной БД, по сути бесплатная (и постоянно/бессрочно/всегда) для собственных проектов, т.к. имеет суперовскую ценовую модель. Но есть одно но — не реляционная.
Очень выгодно, если ваш проект/фреймворк умеет с ней работать. Или если можете допилить его до работы с DynamoDB. На выходе получаете крутизну serverless подхода при минимальной цене (обычно совсем бесплатно).
Гляньте видео с последнего реинвента, возможно оно подскажет, как можно переделать свой проектик под DynamoDB:
https://www.youtube.com/watch?v=DIQVJqiSUkE
Aurora Serverless
Вдруг вы пропустили и не знаете, что есть реляционная база данных с ценовой моделью а-ля DynamoDB, где вы платите лишь за реально используемые ресурсы.
https://aws.amazon.com/rds/aurora/serverless/
Её использование подпадает под Free Tier, так что также можно попробовать годик бесплатно.
Задеплоить Django на Aurora Serverless можно так:
https://www.agiliq.com/blog/2019/01/complete-serverless-django/
Cassandra
Не реляционная, но с аналогичной DynamoDB ценовой моделью.
https://aws.amazon.com/ru/mcs/
S3
Речь про файловую БД. Если прикрутить прослойку в виде условной Лямбды, что будет хранить данные не в БД, а на S3, то можно вообще избавиться от БД. Однако, понятно, это обычно требует серьёзной переделки проекта.
Athena
Не БД, но можно делать SQL запросы к S3. Под Django есть djathena.
Итого. Есть разные недорогие варианты прикрутить БД в свой проект на AWS. Реляционные и нет, с переделкой и без. Выбирайте, что подходит сейчас и что будет круто в дальнейшем. Главное — пробуйте!
Telegram
aws_notes
Бесплатный AWS
#интересующимся #начинающим
Вот читаете вы различные статьи — для админов, разработчиков, девопсов и везде встречаете AWS. Собственно, наверняка, и на этот канал подписались, просто из интереса, чтобы узнать какие-то подробности по теме…
#интересующимся #начинающим
Вот читаете вы различные статьи — для админов, разработчиков, девопсов и везде встречаете AWS. Собственно, наверняка, и на этот канал подписались, просто из интереса, чтобы узнать какие-то подробности по теме…
Forwarded from Человек и машина
Этот пост для Medium давно лежал у меня черновиках, но его пришлось заморозить, пока я не закончу работой над книгой.
Теперь, когда у меня появилось в разы больше свободного времени, я смог его закончить.
Этот опус для тех, кто не теряет связи с реальностью и понимает, что одними авсами и куберами сыт не будешь - в погоне за благосостоянием придется начать все больше и больше работать с людьми. В публикации вы найдете мой опыт и советы, которые, я надеюсь, помогут вам принять верное решение.
Теперь, когда у меня появилось в разы больше свободного времени, я смог его закончить.
Этот опус для тех, кто не теряет связи с реальностью и понимает, что одними авсами и куберами сыт не будешь - в погоне за благосостоянием придется начать все больше и больше работать с людьми. В публикации вы найдете мой опыт и советы, которые, я надеюсь, помогут вам принять верное решение.
Medium
My Tech career is shifting — and I am happy with that
What makes my current role different? I talk a lot.
JWT - супер важная штука для аутентификации в распределенных системах и микросервисных архитекрутах.
В этой статье очень просто описывается что это такое:
https://blog.angular-university.io/angular-jwt/
В этой статье очень просто описывается что это такое:
https://blog.angular-university.io/angular-jwt/
Angular University
JWT: The Complete Guide to JSON Web Tokens
A Step-by-Step Guide for learning JSON Web Tokens, including signatures, single page web application User Authentication and Session Management.
#async #python
Рекомендую! В каждом языке программирования concurrency реализовано по разному.
В этом видео автор круто и просто рассказывает об ассинхронном Python.
https://www.youtube.com/watch?v=Mj-Pyg4gsPs
Рекомендую! В каждом языке программирования concurrency реализовано по разному.
В этом видео автор круто и просто рассказывает об ассинхронном Python.
https://www.youtube.com/watch?v=Mj-Pyg4gsPs
YouTube
Python Async basics video (100 million HTTP requests)
How I made 100 million HTTP requests in a single thread with Python. I go over the basic concepts that are used to write asynchronous Python code. Once I got my head around them, writing the code we reasonably straightforward, but but I got my head around…
#рекомендос #python #pydantic #validation
Pydantic - это способ валидации данных в Питоне. В этом видео докладчик делает доброе дело: простым языком и наглядно показывает и плюсах работы с этой либой, для улучшения своего API
https://www.youtube.com/watch?v=_5kCjRj6bng
Pydantic - это способ валидации данных в Питоне. В этом видео докладчик делает доброе дело: простым языком и наглядно показывает и плюсах работы с этой либой, для улучшения своего API
https://www.youtube.com/watch?v=_5kCjRj6bng
YouTube
"Валидация данных при помощи Pydantic", Степан Плетнев (Tinkoff.ru)
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
#interview #amazon #bloomberg
There are plenty of resources that one can use to prepare for technical interviews at large tech giants. I would even say, that there are tons of information that it becomes even more crucial to spend time on the helpful resources only and do not waste time doing/watching/reading bad info.
I have structured the knowledge and skills by topics that one needs to learn and hone before applying to the interviews. I also added some links that helped me to learn the skills to be able to get two offers to Software Developer Engineering positions— one from Bloomberg and another from Amazon. Grasping the key concepts about CS Fundamentals, data structures and algorithms was sufficient to pass the interviews.
If those topis are normally taught in universities for people studying for Computer science or alike degrees. I am come from financial background and therefore, I am eager to spend my time effectively on the relevant resources only.
These topics are mostly useful for those people who want to start a career as an SDE in large companies and have not studied formally CS.
Of course, I had to demonstrate that I had been eager to learn more and honestly that’s just the beginning or so called top of the iceberg. Since then I’ve learned way more of knowledge and concepts to dig and fix problems of any kind (still did not master it).
If you struggle with making sense of where to start from and have a short question, feel free to drop a comment down below or PM me. I will be glad to guide you where I can.
http://balgabekov.com.s3-website.eu-central-1.amazonaws.com/
There are plenty of resources that one can use to prepare for technical interviews at large tech giants. I would even say, that there are tons of information that it becomes even more crucial to spend time on the helpful resources only and do not waste time doing/watching/reading bad info.
I have structured the knowledge and skills by topics that one needs to learn and hone before applying to the interviews. I also added some links that helped me to learn the skills to be able to get two offers to Software Developer Engineering positions— one from Bloomberg and another from Amazon. Grasping the key concepts about CS Fundamentals, data structures and algorithms was sufficient to pass the interviews.
If those topis are normally taught in universities for people studying for Computer science or alike degrees. I am come from financial background and therefore, I am eager to spend my time effectively on the relevant resources only.
These topics are mostly useful for those people who want to start a career as an SDE in large companies and have not studied formally CS.
Of course, I had to demonstrate that I had been eager to learn more and honestly that’s just the beginning or so called top of the iceberg. Since then I’ve learned way more of knowledge and concepts to dig and fix problems of any kind (still did not master it).
If you struggle with making sense of where to start from and have a short question, feel free to drop a comment down below or PM me. I will be glad to guide you where I can.
http://balgabekov.com.s3-website.eu-central-1.amazonaws.com/
#cv #resume #google
In short, keep it simple, X-Y-Z
For details feel free to read a good short article:
https://www.inc.com/bill-murphy-jr/google-recruiters-say-these-5-resume-tips-including-x-y-z-formula-will-improve-your-odds-of-getting-hired-at-google.html?cid=sf01002
In short, keep it simple, X-Y-Z
For details feel free to read a good short article:
https://www.inc.com/bill-murphy-jr/google-recruiters-say-these-5-resume-tips-including-x-y-z-formula-will-improve-your-odds-of-getting-hired-at-google.html?cid=sf01002
Inc.com
Google Recruiters Say Using the 'X-Y-Z Formula' on Your Resume Will Improve Your Odds of Getting Hired at Google
Alternative: Reverse engineer their advice and improve recruitment at your business.
#video #quantum #computing #blockchain #VR #neuroscience
This night my attention was drawn by this brilliant series of short talks tought concepts like Quantum Computing, Neuroscience, VR, and so on.
What makes these talks unique is that each theme is explained in 5 levels of difficulty. They start from kids and increase the complexity of a topic to an expert level.
https://www.youtube.com/watch?v=opqIa5Jiwuw&list=PLibNZv5Zd0dyCoQ6f4pdXUFnpAIlKgm3N
This night my attention was drawn by this brilliant series of short talks tought concepts like Quantum Computing, Neuroscience, VR, and so on.
What makes these talks unique is that each theme is explained in 5 levels of difficulty. They start from kids and increase the complexity of a topic to an expert level.
https://www.youtube.com/watch?v=opqIa5Jiwuw&list=PLibNZv5Zd0dyCoQ6f4pdXUFnpAIlKgm3N
YouTube
Neuroscientist Explains One Concept in 5 Levels of Difficulty | WIRED
The Connectome is a comprehensive diagram of all the neural connections existing in the brain. WIRED has challenged neuroscientist Bobby Kasthuri to explain this scientific concept to 5 different people; a 5 year-old, a 13 year-old, a college student, a neuroscience…
#system #design #lambda_architecture #big #data
Lambda Architecture (LA) - способ обработки больших данных используя распределенные системы, когда вам нужно, скажем, проиндексировать ваши данные тем или иным способом. Например, посчитать какой из документов у вас более просматриваемый.
На огромном датасете в несколько терабайт ежедневно обычный алгоритм вам точно не подойет. Используя Ламбда Архитектуру можно удовлетворить необходимость запрашивать у системы самые просматриваемые документы (скажем видео на ютуб) в разрезе последних 5 минут или нескольких дней/месяцев.
У каждого способа есть свои плюсы и минусы в точности и скорости, но мы всегда можем их объеденить.
Для этого мы отправляем данные для обработки двумя параллельными процессам: быстрый/speed layer (неточный) и комплексный/batch layer (точнее).
Speed layer работает с данными за короткий период (скажем минута, 5 минут), в то время как, Batch Layer обрабатывает большее количество данных сагрегированных за более длительный период (скажем за час).
Когда клиент дергает данные, то сервис (serving layer) объединяет результат работы обоих процессов.
Почитать можно, например, тут:
https://jameskinley.tumblr.com/post/37398560534/the-lambda-architecture-principles-for
с указанием возможных технологий для релизации
В этом видео автор блестяще раскрывает как, используя эту архитектуру, можно решить поставленную задачу:
https://www.youtube.com/watch?v=kx-XDoPjoHw
Lambda Architecture (LA) - способ обработки больших данных используя распределенные системы, когда вам нужно, скажем, проиндексировать ваши данные тем или иным способом. Например, посчитать какой из документов у вас более просматриваемый.
На огромном датасете в несколько терабайт ежедневно обычный алгоритм вам точно не подойет. Используя Ламбда Архитектуру можно удовлетворить необходимость запрашивать у системы самые просматриваемые документы (скажем видео на ютуб) в разрезе последних 5 минут или нескольких дней/месяцев.
У каждого способа есть свои плюсы и минусы в точности и скорости, но мы всегда можем их объеденить.
Для этого мы отправляем данные для обработки двумя параллельными процессам: быстрый/speed layer (неточный) и комплексный/batch layer (точнее).
Speed layer работает с данными за короткий период (скажем минута, 5 минут), в то время как, Batch Layer обрабатывает большее количество данных сагрегированных за более длительный период (скажем за час).
Когда клиент дергает данные, то сервис (serving layer) объединяет результат работы обоих процессов.
Почитать можно, например, тут:
https://jameskinley.tumblr.com/post/37398560534/the-lambda-architecture-principles-for
с указанием возможных технологий для релизации
В этом видео автор блестяще раскрывает как, используя эту архитектуру, можно решить поставленную задачу:
https://www.youtube.com/watch?v=kx-XDoPjoHw
#software #architecture
A brilliant talk about when designing a system, to approach every case separately and uniquely. Learning what other companies or teams has applied in their case is helpful and useful, yet it does not mean it must be simply replicated. he makes fun of everyone trying to copy Netflix 😅
It is very important to learn the rationale of patterns applied in this or that case. As none of them is a silver bullet and solves only a sub set of problems that is most crucial for a case.
https://www.youtube.com/watch?v=PzEox3szeRc
A brilliant talk about when designing a system, to approach every case separately and uniquely. Learning what other companies or teams has applied in their case is helpful and useful, yet it does not mean it must be simply replicated. he makes fun of everyone trying to copy Netflix 😅
It is very important to learn the rationale of patterns applied in this or that case. As none of them is a silver bullet and solves only a sub set of problems that is most crucial for a case.
https://www.youtube.com/watch?v=PzEox3szeRc
YouTube
"Good Enough" Architecture • Stefan Tilkov • GOTO 2019
This presentation was recorded at GOTO Berlin 2019. #GOTOcon #GOTOber
http://gotober.com
Stefan Tilkov - Co-founder & Principal Consultant at INNOQ
ABSTRACT
In this session, we’ll take a look at some of the ways we can determine whether the development…
http://gotober.com
Stefan Tilkov - Co-founder & Principal Consultant at INNOQ
ABSTRACT
In this session, we’ll take a look at some of the ways we can determine whether the development…
Forwarded from Павел Дуров
На протяжении последних 10 лет я не раз бывал в Америке, открывал и закрывал там компании, участвовал в конференциях, встречах, проектах. Когда-то рассматривал и возможность переезда в Кремниевую долину, но в итоге отказался от этой идеи в пользу других вариантов.
Ниже я описал причины, по которым считаю, что Америка – не лучшее место эмиграции для IT-предпринимателей. Спасибо @yurydud, фильм которого вдохновил меня на этот текст.
Ниже я описал причины, по которым считаю, что Америка – не лучшее место эмиграции для IT-предпринимателей. Спасибо @yurydud, фильм которого вдохновил меня на этот текст.
Telegraph – Pavel Durov
Семь причин не переезжать в Долину
Недавно вышел фильм Юрия Дудя о Кремниевой долине. В нем предприниматели-эмигранты рассказывают о преимуществах переезда в США. Будучи знакомым со многими героями фильма Юрия лично, я заметил контраст между тем, что они декларируют на камеру, и тем, о чем…
#tutorial #makefile
A very simple explanation of how to work with Makefile on the example of a pie recipe
https://github.com/kyclark/make-tutorial
A very simple explanation of how to work with Makefile on the example of a pie recipe
https://github.com/kyclark/make-tutorial
GitHub
GitHub - kyclark/make-tutorial: Tutorial on using Makefiles
Tutorial on using Makefiles. Contribute to kyclark/make-tutorial development by creating an account on GitHub.