Pull to refresh
-12
0
Иван @IvanSTV

User

Send message

Хитрые бактерии и антибиотики

Reading time13 min
Views28K

Аптека в Африке, сейчас пациент получит одну таблетку доксициклина

Бактерии — мастера генетических рекомбинаций. У них очень короткий цикл жизни, большое потомство, миллиарды попыток на мутации и очень короткая петля обратной связи. Одного этого достаточно, чтобы если не забрутфорсить, то найти решение проблемы алгоритмами группы Монте-Карло.

Плюс у них есть такая милая штука, как горизонтальный перенос генов. В смысле, бактерия может брать и раздавать свой код. Например, в виде плазмид — вынесенных за хромосому хранилищ ДНК. Это значит, что даже не надо проходить циклы размножения — достаточно одной приспособленной бактерии, которая встанет на раздачу. Причём раздаёт она разным видам, не только своему.

Поэтому антибиотики уже через 15 минут после появления начали резко создавать эволюционное давление.

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

В общем, там есть пара суперинтересных историй про то, насколько бактерии хитрые и продуманные. Пора бы в этом разобраться. Сегодня мы это делаем с экспертом — Денисом Кузьминым, к.б.н., директором физтех-школы биологической и медицинской физики МФТИ.
Читать дальше →
Total votes 175: ↑174 and ↓1+215
Comments81

Его величество Граф

Level of difficultyEasy
Reading time10 min
Views6.6K

Графы для меня особенная тема, в них есть нечто таинственное и мощное.

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

Я не буду рассказывать основы графов, они есть в Википедии.

Цель статьи — поделиться с вами некоторыми случаями из моей практики, когда графы становились естественной частью какой‑то задачи. Иногда без них задачу решить было невозможно. Иногда через них решение получалось более изящное. А иногда просто тяга к перфекционизму, графы это круто же).

Ну что, поехали, будет интересно!

Читать далее
Total votes 11: ↑11 and ↓0+17
Comments21

Новые методы появятся в Set JavaScript

Level of difficultyEasy
Reading time4 min
Views4.6K

Привет всем! Я Кирилл Мыльников, frontend разработчик компании Usetech. Сегодня хочу поделиться информацией о новых методах, которые скоро появятся в коллекции Set в JavaScript.

Set был добавлен в стандарте ES2015, но всегда казался немного ограниченным. Работать с ним можно было только через добавление, удаление и проверку наличия элементов. Однако, при работе с несколькими коллекциями или сравнении их, приходилось писать дополнительные функции. Но теперь нам готовят новые методы, которые значительно упростят работу с Set и позволят избежать необходимости придумывать свои функции.

Давайте вместе погрузимся в мир Set и вспомним, что это такое, какие методы доступны на данный момент и какие новые методы могли бы появиться в следующей спецификации. Мы рассмотрим все на практических примерах.

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

Основные методы:

Читать далее
Total votes 17: ↑13 and ↓4+13
Comments10

Работа с XML в C#

Level of difficultyMedium
Reading time6 min
Views7.1K

Привет, Хабр!

Обработка XML-данных остаётся актуальной задачей несмотря на появление более крутых технологий для работы с данными. XML — это все еще гибкий и мощный инструмент для структурирования данных, который используется в самых разнообразных приложениях.

В статье рассмотрим как работать с XML в C#.

Читать далее
Total votes 5: ↑5 and ↓0+9
Comments17

Типизированные массивы должны умереть

Level of difficultyEasy
Reading time5 min
Views4.8K

Хаха :). Не, я серьезно. Позвольте мне объяснить.

Хорошо. Что такое типизированный массив?

Это одна из тех языковых причуд, которые делают VBA таким... я бы сказал, восхитительным.

Читать далее
Total votes 6: ↑6 and ↓0+7
Comments14

SimpleUI — фреймворк для быстрого создания бизнес приложений на Android

Level of difficultyMedium
Reading time14 min
Views8.9K

Добрый день! Меня зовут Дмитрий Воронцов. Несколько лет назад, я сделал небольшую локальную разработку под нужды своих 1С проектов (ERP, MES, WMS) — андроид клиент для ТСД и планшетов, который по сути являлся тонким клиентом для 1С и работал через HTTP сервис. Он был написан на Java и Android SDK и причина его создания была такая — нужен был легковесный и высокроизводительный клиент для работы с оборудованием и с возможностью быстрой разработки бизнес логики. Довольно простой бизнес‑логики, укладывающейся в рамки того, что обычно делается на ТСД. Он был достаточно примитивен и умел отрисовывать экраны на мобильном устройстве, а логика выполнялась на стороне 1С в рамках HTTP‑запроса. Постепенно он обрастал функционалом, добавились возможности для offline работы, добавился Python, CV‑функционал и многое другое. Им стали пользоваться кроме меня и моих коллег другие комманды разработчиков. И вот сегодня, в феврале 2023 я хочу подвести определенные и рассказать о том, во что превратился этот проект сейчас и что из себя представляет фреймфорк на текущий момент.

Сейчас SimpleUI для Android — это бесплатный full‑app фреймворк для упрощенного создания широкого спектра бизнес‑приложений (клиентских приложений для ERP,WMS и других корпоративных систем, а также самостоятельных приложений). За счет особой архитектуры и принципов проектирования значительно сокращается время разработки, распространение и администрирование, поддержка.

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

LibreOffice под микроскопом: создаём одноклеточное расширение

Level of difficultyEasy
Reading time4 min
Views4.1K

В своё время для создания расширения к LibreOffice (LO) мне пришлось перелопатить кучу форумов и документации. Информации много, но она разбросана про крупицам. А когда если не знаешь, с какой стороны подступиться, на завершение проекта может уйти много времени.

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

Надеюсь, cозданный в статье шаблон поможет снизить порог входа и сэкономить время тем, кто захочет добавить свой функционал в бесплатный офисный пакет. Я сосредоточусь на практике, объясняя технические детали лишь там, где это необходимо.

Давайте разберёмся, что к чему
Total votes 23: ↑23 and ↓0+23
Comments6

Чтение Micro QR Code версии М3 (кириллица, первый тип библиотек)

Level of difficultyEasy
Reading time21 min
Views1.3K

Задание: необходимо прочитать Micro QR Code версии М3, содержащий кодовое слово, на примере закодированных слов – АБВГДЕ, абвгде, АБВГ и абвг (почему именно такое количество символов будет расшифровано далее), на основе алгоритмов, приведенных в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4, алфавитно-цифровой и/или байтовый режим). Аналогично версий М1 и М2 данный режим невозможно прочитать стандартными ресурсами мобильных устройств, производимых GAFAM (Ассоциация отказалась и от этого режима).

Примечание: здесь и далее будет использоваться информация ГОСТ Р ИСО/МЭК
18004-2015, в оригинале ISO/IEC 18004:2015 кодовой таблицы кириллицы не существует...

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

Чтение Micro QR Code версии М2 (алфавитно-цифровой режим)

Level of difficultyEasy
Reading time16 min
Views780

Задание: необходимо прочитать Micro QR Code версии М2, содержащий кодовое слово, состоящее из символов верхнего регистра (на примере закодированных слов – NOVICE, MONEY и M1ND5; почему выбрано именно такое количество символов будет также расшифровано) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.4). Аналогично версии М1 данный режим невозможно прочитать стандартными ресурсами мобильных устройств, производимых GAFAM (как оказалось, свободно распространяемые библиотеки страшно глючат, поэтому Ассоциация отказалась и от этого режима).

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments0

Секреты USA в Micro QR Code M4 (часть 1)

Level of difficultyEasy
Reading time24 min
Views1.1K

Встроенные в Micro QR Code технологии насыщенны мифами и нереальностями. Программисты моделисты часто добавляют артефакты и/или cookies в свои наработки, которые интересно находить при расшифровке кодов и алгоритмов. А затем и самому кодировать и декодировать практически любую информацию. Рассмотрим этапы расшифровки микрокодов самого старшего микроуровня – М4 формата буквенно-цифрового кодирования на историческом примере.

Первый и, наверное, самый важный на фоне остальных мифов вопрос: почему максимальное количество смешанных символов для кодирования в микрокодах ровно 21 (цифро-кода – 35 символов, но для алфавита это не актуально)?

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments0

Машина свободы: как чилийские социалисты придумали компьютер для управления экономикой

Reading time9 min
Views18K

В 70-е годы в Чили задумали уникальный проект, который и сегодня кажется фантастическим — компьютер, который бы управлял экономикой всего государства. Систему удалось построить и успешно запустить — но ей было не суждено просуществовать долго из-за военного переворота. Однако проект, получивший название Cybersyn, остался важной вехой в истории технологий и до сих пор служит источником вдохновения. 

Читать далее
Total votes 48: ↑44 and ↓4+52
Comments88

Семь приемов в Excel, которые делают диаграммы профессиональными

Reading time8 min
Views82K

Хотя сейчас я работаю в ИТ-отрасли, много лет назад я верстал рекламную газету, и с тех пор дизайн – мой профессиональный навык и увлечение за пределами профессии.

Сделать диаграммы привлекательными гораздо проще, чем вы думаете. Получить рекомендации на все случаи жизни не выйдет, но освоить несколько приемов в Excel и узнать азы теории, вы сможете за 10 минут. 

Из тридцатилетнего опыта и десятков прочитанных книг я выбрал семь полезных приемов. Их мы и разберем в этой статье в блоге ЛАНИТ.

Читать далее
Total votes 70: ↑69 and ↓1+86
Comments37

Небольшой путеводитель по ZPL

Reading time5 min
Views79K

Добрый день, Хабрахабр.


Благодаря тепло принятой прошлой публикации, я могу опубликовать здесь эту статью. Спасибо всем, кто ставил плюсы.
По долгу службы мне частенько приходится формировать отчеты для этикеточных принтеров семейства Zebra.

Зебры они такие
Механизм формирования этикеток выглядит следующим образом: сначала с машины пользователя (компьютер, терминал сбора данных) на принтер отправляется специальным образом оформленная строка, затем внутренний процессор принтера обрабатывает эту строку, и выводит ее на печать.Но язык, на котором формируется строка для принтера (называется ZPL) на первый взгляд вызывает у непосвящённых нервную икоту и мандраж.
Прошу под кат, всех кто хочет разобраться в данном вопросе.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments12

9 алгоритмов сортировки и поиска для JS, о которых вас спросят на собеседовании

Level of difficultyMedium
Reading time15 min
Views63K

Привет, Хабр!

Меня зовут Илья, я frontend-разработчик SimbirSoft. Долгое время вопрос изучения алгоритмов был холиварным. Со я временем убедился, что ни одно современное собеседование в крупную компанию не обходится без вопросов про алгоритмы, и в последний год их всё больше.

Даже если ты frontend-разработчик и решаешь прикладные задачи, тебе в любом случае придётся знать алгоритмы хотя бы на базовом уровне. Но статей на русском с объяснением алгоритмов и тем, как их реализовать на JavaScript, крайне мало. Поэтому хочу поделиться некоторыми алгоритмами сортировки и поиска, и немного рассказать про структуры данных. Знание алгоритмов и структур данных поможет вам в оптимизации приложений.

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

Читать далее
Total votes 8: ↑5 and ↓3+3
Comments19

«Чистый» код, нет проблем с производительностью. (плюс анекдот)

Level of difficultyEasy
Reading time14 min
Views17K

Последнее время мне приходится много ревьювить, анализировать, рефакторить C# код.  Практика показывает, что принципы Объектно-Ориентированного Программирования не просто вызывают затруднения в понимании, и в применении, в большинстве случаев разработчики просто избегают их использования на практике. Я очень надеюсь, что мой относительно простой пример, который можно не только скомпилировать и выполнить, но и написать свой класс расширения и снова скомпилировать, и оценить результат уже своего труда внутри небольшой законченной программы, надеюсь это поможет кому-то преодолеть барьер к использованию принципов ООП на практике.

Конечно, мне придется продемонстрировать применение на практике принципов ООП: инкапсуляция, наследование, полиморфизм и то, как они работают.

Конечно, разберем как все это влияет на производительность. Я надеюсь, что получится сформулировать некое подобие ответа на критику постулатов «чистого» кода от достаточно успешного (видимо) иностранного программиста в переводе на Хабре: «Чистый» код, ужасная производительность.

Правила «чистого» кода, изложенные в той статье помогут нам подойти к реализации принципов ООП в нашей задаче.

где анекдот?
Total votes 16: ↑5 and ↓11-6
Comments55

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views107K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Total votes 131: ↑130 and ↓1+158
Comments162

Ищем замену Excel — OnlyOffice/Р7

Level of difficultyEasy
Reading time5 min
Views7.4K

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

Сегодня речь пойдет об офисных программах. Мы настолько привыкли за много лет работать в известных всем офисных программах фирмы Microsoft, что теперь, когда с лицензионными закупками их ПО, особенно для государства и бизнеса, стало, мягко говоря, «всё плохо», с привычным комфортом офисной работы на привычных «инструментах», можно, казалось бы, попрощаться.

Не всё так печально, если речь идёт о «простом» использовании офисных пакетов, таком как заполнение вручную «стандартных» документов и табличек. Тут отечественное ПО, призванное заместить собой творение «Монстра из Рэдмонда», вполне себе справляется, и даже почти без проблем открывает документы, созданные ранее в MS Office.

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

Степень доступной автоматизации сильно рознится, но данная статья не о сравнительном анализе возможностей нашего отечественно офисного ПО, а о нашем исследовании возможности повторения функционала из нашей разработки  —  расширения (addon) для «MS Excel» in2sql, в офисном пакете «Р7-Офис» от фирмы «АО «Р7».

Читать далее
Total votes 6: ↑4 and ↓2+5
Comments18

Стать программистом: подборка нужных ссылок

Level of difficultyEasy
Reading time5 min
Views25K

В Песочницу Хабра часто залетают непрофильные публикации: статьи не по теме, плохие переводы, заметки на манжетах, вопросы. Среди адекватных лидируют вопросы о том, как стать программистом, и просьбы посоветовать полезные материалы и ссылки. А раз есть такой спрос, почему бы не помочь будущим разработчикам и не собрать для них ссылки. Так, глядишь, сегодняшний день программиста станет спустя несколько лет и их праздником.

В общем, мы собрали ссылки и советы от коллег. Пользуйтесь, дерзайте, становитесь программистами и развивайтесь. А главное, читайте Хабр, здесь много полезного ;-) 

Читать далее
Total votes 21: ↑19 and ↓2+36
Comments2

«Чистый» код, ужасная производительность

Level of difficultyEasy
Reading time17 min
Views71K

Один из самых частых советов программистам, особенно начинающим, гласит, что они должны писать «чистый» код. Это понятие сопровождается длинным списком правил, которые указывают, что вы должны делать, чтобы ваш код был «чистым». Вопрос, который я хотел бы задать — если мы напишем код, следуя этим правилам, какова будет его производительность?

Читать далее
Total votes 95: ↑69 and ↓26+63
Comments222

Что такое XML

Reading time13 min
Views400K
Если вы тестируете API, то должны знать про два основных формата передачи данных:

  • XML — используется в SOAP (всегда) и REST-запросах (реже);
  • JSON — используется в REST-запросах.

Сегодня я расскажу вам про XML.

XML, в переводе с англ eXtensible Markup Language — расширяемый язык разметки. Используется для хранения и передачи данных. Так что увидеть его можно не только в API, но и в коде.

Этот формат рекомендован Консорциумом Всемирной паутины (W3C), поэтому он часто используется для передачи данных по API. В SOAP API это вообще единственно возможный формат входных и выходных данных!

См также:
Что такое API — общее знакомство с API
Что такое JSON — второй популярный формат
Введение в SOAP и REST: что это и с чем едят — видео про разницу между SOAP и REST.

Так что давайте разберемся, как он выглядит, как его читать, и как ломать! Да-да, а куда же без этого? Надо ведь выяснить, как отреагирует система на кривой формат присланных данных.


Читать дальше →
Total votes 8: ↑5 and ↓3+6
Comments30

Information

Rating
Does not participate
Location
Жуковский, Москва и Московская обл., Россия
Date of birth
Registered
Activity