Pull to refresh
114
40.9
Влад Ефименко @Doctor_IT

Главный редактор

Send message

SQLite — замечательная встраиваемая БД (часть 1)

Reading time5 min
Views481K
Решил все-таки написать статью про SQLite, в которой хочу обобщить свой 3-х летний опыт использования этой БД под Windows. Вижу, что тема популярная, но информации мало.

Часть 2
Часть 3

Небольшая вводная.

Эта статья не для начинающих программистов.
Она не является учебником по SQL.
Она не агитирует использовать SQLite.
Она не агитирует не использовать SQLite.
Статья написана в виде вопросов от гипотетического новичка в SQLite и ответов на них (поскольку информации очень много и так хоть немного проще ее структурировать).

Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments54

Байконур, часть 2: Отсюда стартуют «Союзы»

Reading time7 min
Views10K

Один день нашей поездки на Байконур был посвящен экскурсии на 31 площадку космодрома. Так называется монтажно-испытательный комплекс и стартовое сооружение для ракет-носителей семейства "Союз".

Под катом 33 фото на 21 Мб
Total votes 28: ↑28 and ↓0+28
Comments15

Транспортная задача линейного программирования

Reading time11 min
Views48K

Транспортная задача линейного программирования относится к перечню классических задач, решаемых в практике деятельности людей. Эта задача методами классической математики не решается. В задаче необходимо отыскивать экстремум целевой функции. В задаче целевая функция – линейная. Ограничения на переменные (их может быть очень много) описываются также линейными зависимостями. Казалось бы чего проще. Но как раз ограничения и порождают трудности, связанные не просто с поиском max и min при отсутствии ограничений, а с необходимостью учета таких ограничений. Искать требуется не просто экстремум, а условный экстремум. Методы решения задачи позволяют учитывать особенности структуры задачи и даже отказаться от симплексного метода решения в чистом виде.

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

Использование потоков WebAssembly из C, C++ и Rust

Reading time12 min
Views9.4K


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

В этой статье вы узнаете, как использовать потоки WebAssembly для переноса многопоточных приложений, написанных на языках C, C++ и Rust, в веб-среду.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments20

Руководство по материалам электротехники для всех. Часть 1

Reading time15 min
Views114K
Привет гиктаймс! Я решил опубликовать по частям свое руководство по материалам, используемым не только в электротехнике, но и вообще в технике, в том числе самодельщиками. С описанием, примерами применения, заметками по работе. Руководство написано максимально просто, и будет понятно всем, от школьника до пенсионера.

В этой части начинаем разбирать проводники — Серебро, Медь, Алюминий.

image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Total votes 95: ↑94 and ↓1+93
Comments161

Володя, где мой компьютер? Проблемы школьной информатики в России

Reading time15 min
Views30K

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

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

MEMS-акселерометры и гироскопы — разбираемся в спецификации

Reading time12 min
Views71K
“Хьюстон, у нас проблемы”, — устало раздалось в мозгу, пытающемся в ночи продраться сквозь Datasheet IMU MPU-9250 от InvenSense. Когда все слова в отдельности понятны, но взаимосвязь их запутана до невозможности. Началось всё с параметра LSB, про который я только смутно помнила, что в переводе это Least Significant Bit. Дальше пошли “Resolution”, “Sensitivity”, а ещё дальше я поняла, что получающийся текст уже можно озаглавить “Datasheet для чайников”.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments9

django-php: PHP в шаблонах Django

Reading time1 min
Views10K
django-phpВ этом посте я расскажу, как подружить Django и PHP с помощью приложения django-php.

Нам понадобится бинарник php-cgi, установленный в системе. Проверить его наличие можно, введя в терминале

$ which php-cgi

Читать дальше →
Total votes 83: ↑59 and ↓24+35
Comments67

Введение в аннотации типов Python

Reading time6 min
Views292K

Введение



Автор иллюстрации — Magdalena Tomczyk


Вторая часть


Python — язык с динамической типизацией и позволяет нам довольно вольно оперировать переменными разных типов. Однако при написании кода мы так или иначе предполагаем переменные каких типов будут использоваться (это может быть вызвано ограничением алгоритма или бизнес логики). И для корректной работы программы нам важно как можно раньше найти ошибки, связанные с передачей данных неверного типа.


Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:



Аннотации типов просто считываются интерпретатором Python и никак более не обрабатываются, но доступны для использования из стороннего кода и в первую очередь рассчитаны для использования статическими анализаторами.


Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.


В этой статье я хочу объяснить основы использования аннотаций типов и рассмотреть типичные примеры, реализуемые аннотациями из пакета typing.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments50

Оптимизация на простых типах данных. Часть №2 «Числа»

Reading time8 min
Views5.7K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

Мы подготовили расшифровку вебинара в двух частях. Первая часть — про строки и работу с ними, вторая — про числа.

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


Total votes 12: ↑8 and ↓4+7
Comments7

Основы языка программирования Python за 10 минут

Reading time9 min
Views1.3M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.


Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments163

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

Reading time12 min
Views513K
image

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

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

Grid или Flexbox?

Reading time8 min
Views50K
Мишель Баркер, автор материала, перевод которого мы сегодня публикуем, говорит, что недавнее обсуждение в Twitter, начатое Крисом Койером, заставило её задуматься о том, как веб-разработчики делают выбор между технологиями CSS Grid Layout и CSS Flexbox Layout при разработке макетов.



Крис Койер в своём твите задал аудитории вопрос о том, как те, кто знает о том, что такое Grid и Flexbox, предпочитают объяснять разницу между этими технологиями.

Среди ответов на этот вопрос, что, по словам Мишель, вполне ожидаемо, можно было отметить ценные идеи Рэйчел Эндрю и Джен Симмонс.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments6

Сравнение архитектур Viper и MVVM: Как применить ту и другую

Reading time15 min
Views25K


В настоящее время VIPER и MVVM являются наиболее популярными архитектурными решениями, применяемыми при разработке крупных приложений, требующих участия в разработке больших команд, являющихся хорошо тестируемыми, длительно проддерживаемыми и постоянно развивающимися. В данной статье мы попробуем применить их на небольшом тестовом проекте, который представляет из себя список контактов пользователей с возможностью добавления нового контакта. В данной статье больше практики, чем аналитики, и предназначена она в первую очередь для тех, кто уже в теории знаком с данными архитектурами и теперь хотел бы понять как это работает на конкретных примерах. Впрочем, базовое описание архитектур и их сравнение также присутствует.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments2

Дата-центр в космосе: плюсы, минусы и возможность реализации такого проекта

Reading time6 min
Views7.8K

Космос притягивает взгляды не только обычных людей, которые любуются звездами, наблюдают за Луной и размышляют о бесконечной пустоте. Он также привлекает внимание бизнеса — в первую очередь, телекоммуникационных компаний. На низкой орбите Земли уже находятся более 1500 спутников связи Илона Маска. Вскоре созвездие аппаратов может увеличиться до нескольких десятков тысяч, поскольку запустить свои спутники хотят еще OneWeb, китайцы и, конечно, Starlink, которая планирует увеличить количество аппаратов связи с 1500 до 32 000.

Но есть и еще одна ниша, для которой космос может оказаться землей обетованной. Это дата-центры, хранение и обработка данных. Давайте оценим плюсы и минусы развертывания ДЦ в космосе и посмотрим, кто пытается реализовать полноценный дата-центр на орбите или где-то еще.
Читать дальше →
Total votes 48: ↑33 and ↓15+24
Comments23

Математики обнаружили идеальный способ перемножения чисел

Reading time5 min
Views144K

Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости



Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его.

18 марта 2019 два исследователя описали самый быстрый из известных методов перемножения двух очень больших чисел. Работа отмечает кульминацию давнишнего поиска наиболее эффективной процедуры выполнения одной из базовых операций математики.

«Все думают, что метод умножения, который они учили в школе, наилучший, но на самом деле в этой области идут активные исследования», — говорит Йорис ван дер Хувен, математик из Французского национального центра научных исследований, один из соавторов работы.
Читать дальше →
Total votes 183: ↑173 and ↓10+163
Comments224

Система автоматизированного проектирования (САПР). Кто кого?

Reading time8 min
Views91K

Идея родилась в моей голове от нашей бедности наших потребностей. Для тех, кто решил освоить какой-нибудь САПР, казалось бы, выбор должен быть всегда очевиден — это должен быть тот же САПР, что используется на предприятии, где работаешь, или же хочешь работать. Причины, по которой трудно сделать выбор могут быть разными, к примеру – у всех ленивых возникнет вопрос: «А что освоить легче?» или «Пойдет ли он на моем компьютере, если я хочу сделать нечто и в определённом количестве?». На выбор может так же повлиять наличие в программе нужных функций и, как это не странно прозвучит, цена. На эти и возможно некоторые другие вопросы ответы под катом.
ФОТО!!!
Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments50

Кнопка выключения для Raspberry Pi

Reading time3 min
Views87K
Порты GPIO являются одними из главных преимуществ Raspberry Pi, недаром в более поздних версиях платы их количество было увеличено с 26 до 40. К сожалению, большинство подключаемых к ним плат (сенсорные экраны, светодиодные матрицы, платы расширения и т.д.), в целях совместимости со всеми моделями «малинки», используют только первые 26 контактов, оставляя остальные 14 «за бортом». Но мы не дадим пропасть добру! В данной статье я расскажу, как сделать кнопку выключения или перезагрузки на двух неиспользуемых портах. На самом деле функциональность кнопки может быть любой, зависит от вашей фантазии и потребностей.



Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments31

5 способов сделать Python-сервер на Raspberry Pi. Часть 1

Reading time6 min
Views57K
Привет, Хабр.

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



Допустим, у нас уже есть супер Python-программа, делающая что-то очень важное, от мигания светодиодом до управления «умным домом» или хотя бы кормушкой для кота. Я покажу разные способы, от простого к сложному, как сделать web-доступ к такому приложению, добавив немного кода.

Статья расчитана для начинающих, профи вряд ли найдут здесь что-то кардинально новое, ну а новичкам в Linux надеюсь, будет полезно. Для тех кому интересно, продолжение под катом.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments43

Information

Rating
157-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity