Всем приветик в этом чате.
Dating app that depends on the concept of drawing. You draw a picture. Other users go through pictures and can add details to the ones they like.
Once somebody added details to the picture of yours, you can see them and LIKE or DISLIKE.
If you love the picture, you can start a conversation.
За один місяць
За декілька днів написав свою першу технічну статтю у front-end напрямку. Через декілька днів вона буде опублікована на DOU.ua.
A few months ago, I moved production to a new server. And then changed all the domains to show to the new IP.
But I missed some of the old domains. I was sure I checked them all and left some unused to delete them later.
So that was a bad idea.
You should just move them all.
(And then probably delete unused as a different task.)
A few months after that, I was moving staging to a new location and checked the domains again.
Then I found that I had missed that old domain. And it has links from other sites, old articles, etc.
Google Analytics showed a small but noticeable drop in traffic, maybe a few percent.
Потрібно було зробити 3 сторінки з дизайну та вставити їх у проект на Go.
In simple setup with nginx in the base system and crontab scripts.
And certificates in /etc/letsencrypt directory.
I have /var/www/html directory with the .well-known directory.
And added to nginx config such block:
server {
listen 80;
listen [::]:80;
server_name my.domain;
root /var/www/html/;
location /.well-known/ {
root /var/www/html;
allow all;
}
location / {
if ($host = my.domain) {
return 301 https://$host$request_uri;
}
return 404;
}
}
And I have such lines in crontab:
40 2 * * 1 /usr/bin/docker run --rm -i -v /var/www/html/:/var/www/html -v /etc/letsencrypt/:/etc/letsencrypt -v /var/log/letsencrypt/:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt certonly --webroot --webroot-path /var/www/html --agree-tos --renew-by-default -d my.domain -d www.my.domain -m me@my.domain,admin@my.domain --cert-name my.domain
45 2 * * 1 systemctl restart nginx
зняти 5 уроків по Дарт
It was scary and intensive 3 weeks, but I'm proud I did it. A lot of knowledge and networking.
Ненадовго поклав стейджинг в AWS бо ліньки було фіксити непрацюючий пайплайн в гітхабі. Збілдив іміджі і передеплоїв сервіси з макбука, забувши що в мене М1 ARM, а в клауді зовсім не ARM (: В результаті стейджинг живий, пайплайн пофікшений.
Problem was that MySQL took the wrong index for the query and did it for 500ms instead of 1ms.
Django query had .filter() for 3 fields and .order_by() for another 4th field.
And best index was for that 4th field – content_published_desc.
But MySQL consider only indexes with fields from .filter(), took some strange index, and made the query slow.
So solution was to add fake .filter(published__gte='1970-01-01') and then MySQL got that best index – content_published_desc.
My query is 0-1ms now.
Transferred project to new server with ubuntu 20.
Changed:
venv -> docker
MySQL 5.7-> 8.0
ElasticSearch 2->7
Django 1->3
Python 2.7->3.10
Also changed some deprecated libs to their fresh analogs, and patched some libs to work with Python3.10.
Full timing of the project:
- 1.5 months to dive into completely new project with ~30k lines of python code, upgrade it, solve problems by the way, and prepare upgrade ready to deploy.
- 3 months to mentally recover after a very bad phone call with the main stakeholder. It was a really bad idea to have this call before finishing.
- 4 weekends to deploy upgrade safely by 4 parts.
Project monthly audience is 2M.
Summary downtime was <2h at weekends' nights. 1.5h of them for database upgrade.
Пройшла успішно трьох-денний марафон по Python, виконавши всі завдання)
UPD: It was a bad solution and later was thrown away. Because we loose everything in /var/run after reboot.
-----------
I did it.
Setup linode longview MySQL for MySQL in docker.
Here is how:
create user in database:
CREATE USER 'linode-longview'@'localhost' IDENTIFIED BY 'mypasswd';
add username and password to linode longview config:
sudo vi /etc/linode/longview.d/MySQL.conf
restart longview:
sudo systemctl restart longview
add to my docker-compose-production.yml mount volume with mysql socket:
mysql:
...
volumes:
...
- /var/run/mysqld:/var/run/mysqld
created catalog with 777 permissions at first:
sudo mkdir /var/run/mysqld sudo chmod 777 /var/run/mysqld
start my docker:
docker-compose -f docker-compose-production.yml up -d
and see which user has it:
ls -laF /var/run/mysqld
In my case it was systemd-coredump. So then chown/chmod for him:
sudo chown systemd-coredump:systemd-coredump /var/run/mysqld/ sudo chmod 755 /var/run/mysqld/
it's done.
I have MySQL tab in web longview dashboard.
Company had a problem - some of company's emails got into spam at recipient's inbox.
We've identified all company's email channels, setup SPF and DKIM where missed, and turned on DMARC policy.
As a result, now all company's emails successfully reach their recipients.
Article about full process, in ukrainian - https://dou.ua/forums/topic/39521/
Реєстрація дуже проста і швидка - кілька хвилин в Дія заповнити дані, більшість даних підтягнуло автоматично. Авторизація і електронний підпис - із застосунку "Дія".
Перехід на єдиний податок - в Дії на сайті клікнула, податкова через 2 дні увімкнула.
Рахунки завела в монобанк, але треба було ще сапорт пнути, щоб включили ФОП-рахунки.
На наступний день після реєстрації ФОП отримала ще десяток пропозицій від різних банків відкрити в них ФОП-рахунок - на телефон дзвінками, по смс, у viber, та на email (хоча Дія обіцяла, що спамити не буде).
SWIFT оплата прийшла на монобанк через 45 хвилин після відправки з USA.
З UK, знайомий казав, що надходить миттєво.
"Ласка"
Встречаемся 28 июня.
Закрыла его
It took me 2 days to complete in relaxed mode.
Knowledge was good enough to write my first simple react app.
Который приехал в Украину волонтером.
People showed how to analyze your .VCF full genome file.
You can get it from Dante Lab ($500) or Nebula ($300).
Analyzing with https://opencravat.org service.
Check snps at https://pharmgkb.org
Also they showed a long list of ready programming opensource tools to analyze it.
There were also some other interesting presentations about different longevity projects.
Выучить 20 слов
500px
d3.js has default us locale.
You need to define minimal set of those and can override. In my case the code I added:
definition = {
"decimal": ".",
"thousands": "\xa0",
"grouping": [3],
"currency": ["$", ""],
}
d3.formatDefaultLocale(definition);
Needed to run project under windows. And such combination has a lot of problems. Main takeaways:
- install docker for windows with WSL2 (otherwise filesystem will not work correctly and mysql container will just break);
- you can add more memory by C:\Users\myname\.wslconfig
[wsl2]
memory=10GB
- use only native docker volumes for win and macos - it speedups file work 2-5x, for linux doesn’t matter;
- in the end, don’t forget to switch off unneeded debug tools, they also slows down your project.
Потреную, поки є час і можливість. Нарешті знайшла вчительку, яка мені показує мої типові помилки.
До цього, з іншими вчителями, або просто спілкувались без фідбеку, або гнали по курсу, який був дуже простий.
I complained to a friend that I have $130/mo AWS costs for simple server with low activity and it was $75/mo with empty activity just some months ago.
He asked about details, I've checked and found unused resources.
So thanks to him, now I will have $80 AWS costs :))
Операція пройшла з місцевим наркозом, лікар професійно відпрацював.
Дуже хворобливо проходив після операційний період, добу майже не спав але вже краще)
Still testing and checking, but most functionality is working.
Вже приїхало 3 великих вантажівки на 40т і ще 2 збирається.
З першою машиною було багато суєти, страшний overhead в комунікаціях. З наступними вже все пройшло злажено.
В кожній відправці приймали участь десятки людей, може навіть до сотні.
Після 2.5 місяців війни людям вже важче мобілізовувати надлишкові ресурси (гроші, час, речі) і не так багато їх залишилося.
Але з іншого боку, вже всі навчені, є контакти і ресурси використовуються на порядок ефективніше.
Everything worked as usual, but 1 change was extremely dangerous.
Manager noticed something strange after 5 hours. Thanks to her!
Now I'm checking all last master commits after any branch/push/merge actions :))
Setup CloudFlare, tuned settings. Successfully fought off the attack of 500M requests.
Attack started at 8am, so site was mostly available during usual hours after 10am.
During the peak - ban countries was useful, mostly China.
Made some small fixes, updated some libraries, pinned old versions of containers, fixed one library.
And it's working! :)
Працював як backend, frontend, мобільний розробник (react native) та team lead
1. Научился делать авторизацию через Telegram Login Widget
2. Закончил авторизацию через Google
3. Немного разобрался как локально по домену idied.org ходить на сервер разработки используя файл hosts. Это нужно было, так как Telegram Login Widget в документации требовал реальный домен, а не локалохосты там всякие с портами.
4. Придумал как мне максимально просто валидировать идею с минимальными усилиями на разработку
Увидел рекламу и зарегетсрировался, а теперь создаю ачивки!
Spying user location from an app
Я научился обходить НДС 20% на Фейсбуке
Implemented CI/CD on a side project for 'development' environment using GitHub Actins.
YES!
Дописав кредитний калькулятор на платформі hyperskill на python. Фішкою було використання модулю args для передачі параметрів програмі.
Got to know with basic principles of Elasticsearch indexing, querying, mapping, etc.
dolinks plugin allows you to transform links in the text to <a> tag, preserving new lines and ignoring other HTML tags.
https://www.npmjs.com/package/dolinks
Яких скілів зараз не вистачає найсильніше?
https://dou.ua/forums/topic/36355/
У дефіциті Data Engineer, Technical Writer, DevOps, QA Automation. По скілам не вистачає компетенцій у Kubernetes, Terraform, Kafka, Helm.
Introduce CI process by GitLab Werf Kuber
I started with Hiragana
now I know the letter あ = a ^^
Написал скетч который управляет автоматической делительной головкой для нарезания косозубых шестерней !
Закінчив курс по бекенд розробці на Python в Hillel IT School
Наразі в пошуках теми для першого повноцінного проекту на react...
Ще навчаюсь, досвіду мало...та своєї мети досягну!!!
Хто має ідею? Буду радий пораді!!!
Сделал проект, который предоставляет набор принципов для версионирования проектов: Git-тэгов, Docker-образов, API, библиотек.
Проект связан с семантическим версионированием и с помощью набора скриптов контролирует правильность поднятия версии и
позволяет автоматизировать деплой Git-тэгов, Docker-образов, IaaC-конфигураций.
Ссылка на проект на GitHub — https://github.com/dmytrostriletskyi/project-version
В ходе консультации получила д\з в процессе выполнения которого продвигаюсь к достижению своих целей по построению команды
Анимации это легко и просто, надо использовать, UI очень сильно выигрывает.
Як результат:
Проект заморозили зі словами у вас не працює вигрузка 1 з 7 частин. А підганяли семеро) бо ж клієнту треба вже показати результат.
Хоча посуті весь функціонал ОК.
Горить неймовірно))))
Якщо хтось знає норм книжку з тестами для джуна Python, чи якісь хороші матеріали, буду дуже вдячний!
"Весло своє маєш то і вчися сам гребсти"
https://twitter.com/keks_code/status/1485618572596502535
Черга звичок на впровадження протягом року:
Сон не менше 7,5-8 годин (5 циклів)
Зарядка або Хард зарядка - кожен день з 9:30 по 10:00
Зарядка або зорова зарядка - кожен день з 14:00 по 14:30
Медитація 5+ хв
Контрастний душ 2+ хв
Читаю мінімум 10 хв день максимум 1 год\день
Англійська слова [мінімум повторити 10 слів в анкі, максимум записати 20 слів.
Англійська говорити. Мінімум 5хв максимум 1-2 год.
Запис кожного дня в щоденник, мінімум 1 речення.
Записую відповіді на Початок дня:
1. Чи сталося щось значне з учорашнього вечора?
2. Що необхідно зробити сьогодні?
3. З чого почати зараз?
та на Кінець дня:
1. Чого ви досягли за день?
2. Чи потрібно зробити щось прямо зараз?
3. Коли потрібно зробити те, чого ви не встигли сьогодні?"
Планувати вихідні (на міс)
Гуляти кожен день мінімум 20хв без мобільного
Створення подушки безпеки (1-3-6 міс)
від 2 до 5 книг для кращого розуміння емоцій інших людей
Контакт з потрібними людьми
Дарувати подарунки близьким (мін 1 комусь 1 раз на міс)
Вимикати телефон за 3 години до сну (не пізніше 21:00)
Кожного тижня робити дві нові справи
Потрібно терміново підтягнути мій А2 ::)
Курси розмовні, і для мене ефект кращий коли такий формат.
Прочитать опубликованный кейс на MC TODAY — https://mc.today/blogs/kejs-pochemu-reklama-restorana-rabotaet-i-kak-rabotat-so-spetspredlozheniyami/
Super cool, half of them are super inspiring.
Love whole youtube channel of Y Combinator - https://www.youtube.com/c/ycombinator
Especially the last one - https://www.youtube.com/watch?v=zB_SkaERWZY
Раньше работал без него а теперь в новой компании нужно открыть. Пока мне не привычно отдавать часть своих доходов ))
Нарешті, пофіксила в собі проблему із онлайн-курсами, адже далеко не всі вдається закінчити) І поділилася досвідом на сторінках улюбленого ресурсу. Приємно від того, що комусь мій матеріал може допомогти.
І купити те взуття що я вважаю достатньо теплим
Passed 7 courses of the Cloud Architecture with Google Cloud Specialization
Cайт генерить під час кожної сесії унікальний ID і пхає його в лінки скрізь на сайті.
Була проблема його отримати щоб не юзати селен.
Трохи креативності і 8 годин сну допомогло.
Підглядав в книжку Python Requests Essentials
Facebook рекламу запускала десь штук 20 по $5-$15 просувань постів. Лайки та кліки є, реєстрацій немає. Схоже, що клікають боти або проплачені, щоб заховати своїх платних клієнтів від антиспам-алгоритмів.
Як у цьому відео від Veritasium, хоча 7 років вже пройшло, мабуть тяжко з таким боротися:
https://www.youtube.com/watch?v=oVfHeWTKjag&t=1s
+ нотатки
+ практика
4-5 годин
приємний післясмак
Час не могла понять, почему у меня не выводится функция, а проблема была в выводе
Продовжуємо співати народні пісні, у грудні насичена програма, фото і відео звіт тут https://www.facebook.com/100001465760344/videos/pcb.4821474471244697/311636440672125
Ми з колегами створили канал, де будемо публікувати новини і ділитися досвідом . Це перша вітчизняна спільнота в соціальних мережах, відчуття від створення корисного проекту суперове! Приєднуйтесь кому цікаво https://t.me/+Ti2DXSEpB1Y2M2Uy
Закрила 4 вакансії - два розробника і два продакт менеджера для компанії MakeBeCool
На проекті ше були приколи з sass i sass-loader - їх не було "з коробки", прийшлось перед тим погратись з залежностями
Дякую всім причетним! ;)
Діло було влітку. Почали кликати мене гори. Я засинав і прокидався з однією думкою хочу в гори. Приймаю рішення йти в гори сам, так я це було спонтанно, а у всіх друзів і знайомих такої змоги не було. Декілька відео на ютюбі що робити при зустрічі з ведмедем, замовляю хорошу палатку, пальник, трохи їжі додаток з картою і в дорогу...Маршрут пролягав від с.Ділове через Піп Іван Мармароський - Піп Іван Чорногірський - с.Дземброня
День 1: я з "переляку" пройшов більш як 25 км
Ніч 1: залишився ночувати біля підніжжя гори сам всі інші туристи пішли далі. О 1 годині ночі я прокинувся від звуків звірів. Стая чи то вовків, чи то лисиць намотувала круги навколо палатки і шукала чогось смачненького (або когось). Так страшно за життя мені ще ніколи не було. Я взяв у руки сокиру і почав готуватись до оборони. На щастя лізти у намет вони так і не наважились. Через 3 години я заснув з сокирою в руках
День 2: Недалеко від своєї палатки знайшов свіжі сліди вовка, була купа цікавих знайомств по маршруту, хороша погода, нереальні краєвиди і я двічі за день ледь не наступив на гадюк, доки милувався горами (загалом +-20 км)
Ніч 2: я ледь дочалапав до кемпінгу на карті і виявилось що там знову нема людей. Проте я вже на досвіді, а сили йти далі просто не було. Ночую тупо посеред лісу біля гірської річки
День 3: штурм Піп Івана Чорногірського і спуск у с. Дземброня ще 20 км
Ніч 3: Ночівля у кемпінгу білий слон і перший дощ за мою подорож
На кінець хочу сказати що це було одна з найкращих подорожей за моє життя. Отримав купу позитивних емоцій і перезавантаження. На наступний рік планую похід Горганами
Рік тому поставив ціль. Почав тренуватись навіть зимою. За 2 тижні до марафону захворів по класиці. Стартував з однією думкою я зроблю це, або мене буде відкачувати швидка) Як кажуть всі ті хто проходив цю дистанцію марафон починається з 30 км останніх 4 км були найважчими. Так близько до смерті я ще не був, але нічого я це зробив результат 4 год 8 хв. Наступного року спробую вибігти з 3:45, а через два роки бомбану половинку Ironman. Всім спорт)
Now you can add achievements and fuckups here via the bot.
And get messages and reply to them by telegram reply (swipe to the left).
Now achievki has chat with users :) 1 admin user is in the free plan.
https://www.sendinblue.com/features/chat/
tricky thing was - how to add "Chat" menu to the sendinblue admin site %)
answer is - "+" in the top row
DrawSQL — колекція шаблонів баз даних, https://dou.ua/forums/topic/35730/
Использовал компонент https://github.com/zxing-js/ngx-scanner
Не відкладайте до останнього !
Wrote a comprehensive article – https://telegra.ph/Time-management-app-12-09
https://sifolk.com
Сайт: https://sifolk.com
Группа в telegram для жалоб и пожеланий: https://t.me/sifolk_com/
Подробности: https://dou.ua/forums/topic/35649/
Покупал квартиру от застройщика (ещё на стадии строительства) Делюсь основными рекомендациями:
1) Если хотите "ждать" более-менее спокойно - выбирайте основных лидеров рынка! Рейтинг легко найти в интернете. (В моём случае это был "Интергалбуд") Даже с ними бывают приколы. Но если застройщик крупный и много объектов - даже его банкротство обычно на госуровне разруливают. Как было с Укрбудом,например)
2) Сразу закладывайте опоздание до года с окончанием строительства и,особенно, вступление в права собственности! Вовремя не получает ключи никто! ☹️ Это важно, если вы снимаете жильё на данный момент.
3) Начиная собирать инфу о конкретных ЖК или строящихся домах, сразу звоните в отдел продаж, или приезжайте к ним:
Обычно цены на квадратный метр из рекламы в метро и даже на их банерах возле комплекса пишут, подразумевая дорогие трёшки с большой площадью. Цена за метр однушек вас,скорее всего, удивит не в лучшую сторону.
4) Такая же ситуация и с самими квартирами. Сразу узнавайте, что есть в наличии. однушки, недорогие двушки, квартиры с хорошим видом с окна разгребают сразу. Причем часто сами же продажники или перекупы. Короче, сразу интересуйтесь наличием конкретных квартир. Их можно ставить в резерв. В том числе с залогом.
5) Проверяйте документы. Причём на всё. На землю, на право строительства. Особенно важно это с мелкими застройщиками. Обычно у лидеров рынка всё в порядке с этим и они выставляют все документы сразу на своем сайте.
Инфу по документам на многие комплексы можно посмотреть на Лун или подобных сайтах.
6) Не стесняйтесь послоняться возле комплексов этого застройщика и просто спрашивайте у людей, которые уже живут в домах, которые сданы. Они обычно чем-то всегда "недовольны" и скажут вам честно, которые как обстоит дело и с лифтами, и с горячей водой, и со всеми остальными нюансами))
УДАЧИ!