Осваиваем 3-рублёвые микроконтроллеры PADAUK
Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
На Хабре публиковалось несколько обзоров, где можно ознакомится с характеристиками и линейкой производителя. Даташиты можно найти на официальном сайте Padauk.
Простые восьмиразрядные микроконтроллеры от именитых фирм теперь или недоступны или имеют негуманный цениик. Одна из возможных замен — микроконтроллеры Padauk. В их линейке есть и однократно и многократно программируемые. Ниже в статье поэтапно расскажу как сделать программатор, создать свой первый проект и прошить «Hello world».
Надо сказать, что фирменные программаторы от производителя тоже доступны, но цена их колеблется около 100 сами знаете чего. Самодельный обойдется значительно дешевле и позволит прошивать большое число микроконтроллеров.
Программатор разработан и поддерживается сообществом FreePDK. Все необходимые файлы выложены на Гитхабе. Эта статья основана на серии видео от EEVblog по той же тематике, там в пяти частях всё рассказано. Я всё повторял за автором. Но лично мне проще работать с текстом и картинками.
https://habr.com/ru/companies/timeweb/articles/786266/
👉 @bookflow
Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
На Хабре публиковалось несколько обзоров, где можно ознакомится с характеристиками и линейкой производителя. Даташиты можно найти на официальном сайте Padauk.
Простые восьмиразрядные микроконтроллеры от именитых фирм теперь или недоступны или имеют негуманный цениик. Одна из возможных замен — микроконтроллеры Padauk. В их линейке есть и однократно и многократно программируемые. Ниже в статье поэтапно расскажу как сделать программатор, создать свой первый проект и прошить «Hello world».
Надо сказать, что фирменные программаторы от производителя тоже доступны, но цена их колеблется около 100 сами знаете чего. Самодельный обойдется значительно дешевле и позволит прошивать большое число микроконтроллеров.
Программатор разработан и поддерживается сообществом FreePDK. Все необходимые файлы выложены на Гитхабе. Эта статья основана на серии видео от EEVblog по той же тематике, там в пяти частях всё рассказано. Я всё повторял за автором. Но лично мне проще работать с текстом и картинками.
https://habr.com/ru/companies/timeweb/articles/786266/
👉 @bookflow
👍2
❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье
Автор «Библиотеки программиста» Станислав Герасимов, инвалид с детства, получил диплом в IT, хочет построить карьеру, поправить здоровье и найти хороших друзей.
Меня зовут Станислав Герасимов, 31 год, я разработчик. Хочу рассказать свою жизненную историю и о том, как я, преодолевая трудности и преграды, шел и иду к своим мечтам — стать профессиональным разработчиком и поправить здоровье.
При рождении врачи повредили мне головной мозг, занесли инфекцию и сказали маме, что я умру. Мама от меня не отказалась. После клинической смерти я выжил и мог бы остаться инвалидом, прикованным к постели. Мама, бабушка и дедушка приложили максимум усилий, чтобы я стал нормальным человеком, лечили меня где только можно.
https://bookflow.ru/put-k-mechte-kak-invalidnost-ne-pomeshala-stat-razrabotchikom-i-prodolzhit-borbu-za-zdorove/
👉 @bookflow
Автор «Библиотеки программиста» Станислав Герасимов, инвалид с детства, получил диплом в IT, хочет построить карьеру, поправить здоровье и найти хороших друзей.
Меня зовут Станислав Герасимов, 31 год, я разработчик. Хочу рассказать свою жизненную историю и о том, как я, преодолевая трудности и преграды, шел и иду к своим мечтам — стать профессиональным разработчиком и поправить здоровье.
При рождении врачи повредили мне головной мозг, занесли инфекцию и сказали маме, что я умру. Мама от меня не отказалась. После клинической смерти я выжил и мог бы остаться инвалидом, прикованным к постели. Мама, бабушка и дедушка приложили максимум усилий, чтобы я стал нормальным человеком, лечили меня где только можно.
https://bookflow.ru/put-k-mechte-kak-invalidnost-ne-pomeshala-stat-razrabotchikom-i-prodolzhit-borbu-za-zdorove/
👉 @bookflow
❤13👍2💔2
Embox отправляется на Vostok
Как, наверное, многие на хабре знают, мы в проекте Embox любим запускаться на отечественных процессорах.
Эта статья – своеобразный (расширенный) анонс того, что Embox перенесен на микроконтроллеры еще одного производителя микроэлектроники в РФ. Речь идет о технологической платформе «Vostok» от ООО «Новатор» базирующейся на микроконтроллерах ГК «Элемент».
https://habr.com/ru/articles/777302/
👉 @bookflow
Как, наверное, многие на хабре знают, мы в проекте Embox любим запускаться на отечественных процессорах.
Эта статья – своеобразный (расширенный) анонс того, что Embox перенесен на микроконтроллеры еще одного производителя микроэлектроники в РФ. Речь идет о технологической платформе «Vostok» от ООО «Новатор» базирующейся на микроконтроллерах ГК «Элемент».
https://habr.com/ru/articles/777302/
👉 @bookflow
👍6💩1
Не нужно блокировать кнопки
Одна из наиболее распространенных проблем доступности, которую я нахожу (и исправляю) в проектах своих клиентов – это динамическое блокирование кнопок в формах после отправки последних. Сегодня я хотел бы рассказать, почему разработчики так делают, почему это не работает и что нужно делать вместо этого. Давайте разбираться!
Почему разработчики деактивируют кнопки
По моим наблюдениям, паттерн используется для того, чтобы исключить возможность повторной отправки формы в процессе ожидания, пока обрабатывается первая. Часто случается, что нужно дождаться ответа API и на это требуется несколько секунд; нежелательно, чтобы пользователь успел отослать еще одну форму, пока система не закончит реагировать на предыдущую.
При блокировании button еще раз нажать на кнопку не получится.
Почему этот паттерн не работает
Начнем с того, что он не делает того, на что рассчитан. Одно то, что кнопка блокирована, не означает, что отправить форму становится невозможно. Можно перейти на какое-нибудь из полей формы, нажать на клавишу enter или return – и форма будет отправлена.
Но, помимо этого, метод никуда не годится с точки зрения доступности. Элементы с атрибутом disabled не могут принимать на себя фокус, а это создает путаницу для тех, кто использует скринридеры или перемещается по вебсайтам при помощи клавиатуры.
Если кнопка находится в фокусе в тот момент, когда вы задаете ей атрибут disabled (скажем, пользователь только что нажал на нее, чтобы отправить форму), то фокус переходит с нее на элемент document. Человека со скринридером это собьет с толку – он окажется совершенно в другой части страницы.
То есть, если обобщить сказанное, этот способ не помогает вам достичь поставленной цели и вдобавок портит опыт определенному сегменту ваших пользователей.
Более удачный способ
Что же тогда делать? Лично я предпочитаю добавлять атрибут для элемента form, а затем убирать его, когда все необходимые действия с формой будут произведены. Всякий раз, когда происходит событие submit, в первую очередь проводится проверка на наличие атрибута. Если он в наличии, я прерываю обработчик событий, чтобы предотвратить многократную отправку формы.
Таким образом, фокус на элементах формы сохраняется, никаких проблем с доступностью не возникает, дублирование форм предотвращается, а также блокируется возможность отправить форму путем ввода команд клавишами в других полях.
Вдобавок вы можете придать элементам особый «деактивированный» вид при помощи CSS-селектора [data-submitting]…
Не забывайте также включать ARIA live region и отображать оповещения о статусе обработки формы на протяжении всего процесса.
👉 @bookflow
Одна из наиболее распространенных проблем доступности, которую я нахожу (и исправляю) в проектах своих клиентов – это динамическое блокирование кнопок в формах после отправки последних. Сегодня я хотел бы рассказать, почему разработчики так делают, почему это не работает и что нужно делать вместо этого. Давайте разбираться!
Почему разработчики деактивируют кнопки
По моим наблюдениям, паттерн используется для того, чтобы исключить возможность повторной отправки формы в процессе ожидания, пока обрабатывается первая. Часто случается, что нужно дождаться ответа API и на это требуется несколько секунд; нежелательно, чтобы пользователь успел отослать еще одну форму, пока система не закончит реагировать на предыдущую.
form.addEventListener('submit', function (event) {
// Don't let the form reload the page
event.preventDefault();
// Get the submit button and disable it
let btn = form.querySelector('button');
btn.addAttribute('disabled', '');
// Do more form stuff...
// re-enable the button after the API responds
btn.removeAttribute('disabled');
});
При блокировании button еще раз нажать на кнопку не получится.
Почему этот паттерн не работает
Начнем с того, что он не делает того, на что рассчитан. Одно то, что кнопка блокирована, не означает, что отправить форму становится невозможно. Можно перейти на какое-нибудь из полей формы, нажать на клавишу enter или return – и форма будет отправлена.
Но, помимо этого, метод никуда не годится с точки зрения доступности. Элементы с атрибутом disabled не могут принимать на себя фокус, а это создает путаницу для тех, кто использует скринридеры или перемещается по вебсайтам при помощи клавиатуры.
Если кнопка находится в фокусе в тот момент, когда вы задаете ей атрибут disabled (скажем, пользователь только что нажал на нее, чтобы отправить форму), то фокус переходит с нее на элемент document. Человека со скринридером это собьет с толку – он окажется совершенно в другой части страницы.
То есть, если обобщить сказанное, этот способ не помогает вам достичь поставленной цели и вдобавок портит опыт определенному сегменту ваших пользователей.
Более удачный способ
Что же тогда делать? Лично я предпочитаю добавлять атрибут для элемента form, а затем убирать его, когда все необходимые действия с формой будут произведены. Всякий раз, когда происходит событие submit, в первую очередь проводится проверка на наличие атрибута. Если он в наличии, я прерываю обработчик событий, чтобы предотвратить многократную отправку формы.
form.addEventListener('submit', function (event) {
// Don't let the form reload the page
event.preventDefault();
// If the form is already submitting, do nothing
if (form.hasAttribute('data-submitting')) return;
// Add the [data-submitting] attribute to stop multiple submissions
form.setAttribute('data-submitting', '');
// Do more form stuff...
// Remove the [data-submitting] attribute
form.removeAttribute('data-submitting');
});Таким образом, фокус на элементах формы сохраняется, никаких проблем с доступностью не возникает, дублирование форм предотвращается, а также блокируется возможность отправить форму путем ввода команд клавишами в других полях.
Вдобавок вы можете придать элементам особый «деактивированный» вид при помощи CSS-селектора [data-submitting]…
[data-submitting] button {
opacity: 0.8;
}Не забывайте также включать ARIA live region и отображать оповещения о статусе обработки формы на протяжении всего процесса.
👉 @bookflow
👍11👎1
Действительно ли C++ — лучший язык, чтобы выстрелить себе в ногу?
В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift.
В этой статье я с позиции Security Champion в KasperskyOS, собственной микроядерной операционной системе «Лаборатории Касперского», расскажу, так ли плохо обстоят дела с безопасностью в С++ на самом деле, а также разберу различные подходы к митигации описанных проблем, которые современная индустрия предлагает для решения данного вопроса.
https://habr.com/ru/companies/kaspersky/articles/787586/
👉 @bookflow
В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift.
В этой статье я с позиции Security Champion в KasperskyOS, собственной микроядерной операционной системе «Лаборатории Касперского», расскажу, так ли плохо обстоят дела с безопасностью в С++ на самом деле, а также разберу различные подходы к митигации описанных проблем, которые современная индустрия предлагает для решения данного вопроса.
https://habr.com/ru/companies/kaspersky/articles/787586/
👉 @bookflow
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое Обработка данных?
Это относится к сбору, обработке и анализу данных для извлечения полезных исследовательских или информационных выводов. Включает в себя преобразование сырых данных в удобный для анализа и использования формат с использованием различных инструментов, методов и алгоритмов. Обработка данных может принимать множество форм, включая пакетную обработку, обработку в реальном времени и потоковую обработку. При пакетной обработке большие объемы данных обрабатываются одновременно, часто ночью или в периоды низкой активности, в то время как обработка в реальном времени включает в себя обработку данных по мере их поступления.
Есть несколько этапов, включенных в обработку данных:
1. Сбор данных: Первый шаг в обработке данных - сбор данных. Это может быть выполнено различными методами, такими как опросы, сенсоры, парсинг веб-страниц и использование API.
2. Очистка данных: Сырые данные, собранные из различных источников, часто содержат ошибки, дубликаты и пропущенные значения. Очистка данных включает в себя выявление и коррекцию этих ошибок для обеспечения точности и последовательности данных.
3. Трансформация: После очистки данные нужно преобразовать в формат, удобный для анализа. Это может включать в себя агрегацию данных, преобразование типов данных или нормализацию данных.
4. Анализ: После трансформации данных следующим шагом является их анализ. Это может быть выполнено с использованием различных статистических и машинно-обучающих методов для извлечения идей и паттернов из данных.
5. Визуализация: Визуализация данных включает в себя представление анализированных данных в визуальном формате, таком как диаграммы, графики или карты, чтобы помочь заинтересованным сторонам понимать и интерпретировать полученные исследования.
👉 @bookflow
Это относится к сбору, обработке и анализу данных для извлечения полезных исследовательских или информационных выводов. Включает в себя преобразование сырых данных в удобный для анализа и использования формат с использованием различных инструментов, методов и алгоритмов. Обработка данных может принимать множество форм, включая пакетную обработку, обработку в реальном времени и потоковую обработку. При пакетной обработке большие объемы данных обрабатываются одновременно, часто ночью или в периоды низкой активности, в то время как обработка в реальном времени включает в себя обработку данных по мере их поступления.
Есть несколько этапов, включенных в обработку данных:
1. Сбор данных: Первый шаг в обработке данных - сбор данных. Это может быть выполнено различными методами, такими как опросы, сенсоры, парсинг веб-страниц и использование API.
2. Очистка данных: Сырые данные, собранные из различных источников, часто содержат ошибки, дубликаты и пропущенные значения. Очистка данных включает в себя выявление и коррекцию этих ошибок для обеспечения точности и последовательности данных.
3. Трансформация: После очистки данные нужно преобразовать в формат, удобный для анализа. Это может включать в себя агрегацию данных, преобразование типов данных или нормализацию данных.
4. Анализ: После трансформации данных следующим шагом является их анализ. Это может быть выполнено с использованием различных статистических и машинно-обучающих методов для извлечения идей и паттернов из данных.
5. Визуализация: Визуализация данных включает в себя представление анализированных данных в визуальном формате, таком как диаграммы, графики или карты, чтобы помочь заинтересованным сторонам понимать и интерпретировать полученные исследования.
👉 @bookflow
👍5⚡1
«Отучаем» WinFXNet от жадности (часть 1)
Предыстория
В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.
В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.
Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.
https://habr.com/ru/articles/790564/
👉 @bookflow
Предыстория
В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.
В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.
Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.
https://habr.com/ru/articles/790564/
👉 @bookflow
⚡3👍2💩1
Что такое Bug Bounty и почему корпорации платят за поиск ошибок?
Bug Bounty — это программа вознаграждения за найденные ошибки в программном обеспечении или на сайтах компаний.
Почему корпорации это делают? Потому что если кто-то найдет ошибку и сообщит об этом, компания может быстро исправить баг, прежде чем кто-то им злоупотребит.
Это помогает сохранить данные и защищает от реальных хакеров. Кроме того, такие программы позволяют привлечь талантливых людей, которые могут помочь им стать еще более безопасными.
Есть ли у российских корпораций Bug Bounty? Да, для крупных IT-компаний это обычная практика. Недавно как раз Яндекс обновил свою программу, подняв вознаграждение за критическую находку до миллиона рублей (!) Тестить можно даже новые устройства: Станцию Дуо Макс, Миди и ТВ Станции.
👉 @bookflow
Bug Bounty — это программа вознаграждения за найденные ошибки в программном обеспечении или на сайтах компаний.
Почему корпорации это делают? Потому что если кто-то найдет ошибку и сообщит об этом, компания может быстро исправить баг, прежде чем кто-то им злоупотребит.
Это помогает сохранить данные и защищает от реальных хакеров. Кроме того, такие программы позволяют привлечь талантливых людей, которые могут помочь им стать еще более безопасными.
Есть ли у российских корпораций Bug Bounty? Да, для крупных IT-компаний это обычная практика. Недавно как раз Яндекс обновил свою программу, подняв вознаграждение за критическую находку до миллиона рублей (!) Тестить можно даже новые устройства: Станцию Дуо Макс, Миди и ТВ Станции.
👉 @bookflow
👍1
Каково это, создавать язык программирования сегодня?
«Эта книга – классика. Относитесь к ней бережно».
Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.
Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.
https://habr.com/ru/companies/ruvds/articles/790868/
original https://blog.whimslab.io/how-much-work-does-it-take-to-build-a-programming-language-784a6868f4e9
👉 @bookflow
«Эта книга – классика. Относитесь к ней бережно».
Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.
Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.
https://habr.com/ru/companies/ruvds/articles/790868/
original https://blog.whimslab.io/how-much-work-does-it-take-to-build-a-programming-language-784a6868f4e9
👉 @bookflow
👍2
Как я поменял профессию: из тканевой инженерии в adult-индустрию
Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.
Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.
Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.
Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.
И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.
Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.
https://habr.com/ru/companies/wiseops/articles/791774/
👉 @bookflow
Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.
Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.
Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.
Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.
И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.
Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.
https://habr.com/ru/companies/wiseops/articles/791774/
👉 @bookflow
👍2
Я мыслю MOV EAX, 1
Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы компьютера на низком уровне.
https://habr.com/ru/articles/721420/
👉 @bookflow
Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы компьютера на низком уровне.
https://habr.com/ru/articles/721420/
👉 @bookflow
👍4
Вороной, Манхэттен, рандом
Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.
Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке.
https://habr.com/ru/articles/794572/
👉 @bookflow
Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.
Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке.
https://habr.com/ru/articles/794572/
👉 @bookflow
👍4👎1
Как работает Git - из рабочего каталога в удаленный репозиторий
[1]. Рабочая директория:
Ваш проект начинается здесь. Рабочая директория - это место, где вы активно вносите изменения в свои файлы.
[2]. Область постановки (Index):
После модификации файлов используйте git add для сохранения изменений. Это подготавливает их к следующей фиксации, действуя как контрольная точка.
[3]. Локальный репозиторий:
После постановки выполните git commit для записи изменений в локальный репозиторий. Коммиты создают снимки проекта в определённых точках.
[4]. Stash (необязательно):
При необходимости используйте git stash для временного сохранения изменений без фиксации. Полезно при переключении веток или выполнении других задач.
[5]. Удаленный репозиторий:
Удаленный репозиторий, размещенный на таких платформах, как GitHub, - это версия вашего проекта, доступная другим пользователям. Используйте git push для отправки локальных коммитов и git pull для получения удаленных изменений.
[6]. Отслеживание удаленных веток:
Локальные ветки могут быть настроены на отслеживание соответствующих веток на удаленном ресурсе. Это облегчает синхронизацию с git pull или git push.
👉 @bookflow
[1]. Рабочая директория:
Ваш проект начинается здесь. Рабочая директория - это место, где вы активно вносите изменения в свои файлы.
[2]. Область постановки (Index):
После модификации файлов используйте git add для сохранения изменений. Это подготавливает их к следующей фиксации, действуя как контрольная точка.
[3]. Локальный репозиторий:
После постановки выполните git commit для записи изменений в локальный репозиторий. Коммиты создают снимки проекта в определённых точках.
[4]. Stash (необязательно):
При необходимости используйте git stash для временного сохранения изменений без фиксации. Полезно при переключении веток или выполнении других задач.
[5]. Удаленный репозиторий:
Удаленный репозиторий, размещенный на таких платформах, как GitHub, - это версия вашего проекта, доступная другим пользователям. Используйте git push для отправки локальных коммитов и git pull для получения удаленных изменений.
[6]. Отслеживание удаленных веток:
Локальные ветки могут быть настроены на отслеживание соответствующих веток на удаленном ресурсе. Это облегчает синхронизацию с git pull или git push.
👉 @bookflow
👍4⚡1
Media is too big
VIEW IN TELEGRAM
Нужна ли математика DevOps-инженеру, программисту, SRE, тестировщику?
Постоянно ведутся холивары нужна ли математика айтишникам. Кто-то говорит, что математика нужна програмистам определенных направлений. Кто-то говорит, что в большинстве своем математика не нужна в IT. А я считаю что математика нужна DevOps-инженеру, программисту, SRE, тестировщику и другим айтишникам без исключения.
источник
👉 @bookflow
Постоянно ведутся холивары нужна ли математика айтишникам. Кто-то говорит, что математика нужна програмистам определенных направлений. Кто-то говорит, что в большинстве своем математика не нужна в IT. А я считаю что математика нужна DevOps-инженеру, программисту, SRE, тестировщику и другим айтишникам без исключения.
источник
👉 @bookflow
👍6👎1
👍2❤1⚡1💩1