Pull to refresh
12
0

Пользователь

Send message

Создание красивого Desktop-приложения на Python (customtkinter)

Level of difficultyEasy
Reading time4 min
Views60K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее
Total votes 27: ↑25 and ↓2+26
Comments112

Начинающим разработчикам: как оформлять резюме и проходить интервью — мой опыт

Level of difficultyEasy
Reading time4 min
Views5.8K

Привет! Я Кирилл, фронтенд-разработчик в «Северстали» и выпускник курсов «Веб-разработчик» и «React-разработчик». Последние три года я проходил много собеседований, делал пометки о вопросах и задачах, чтобы поработать над ошибками.

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

Читать далее
Total votes 19: ↑12 and ↓7+8
Comments14

Cython: более чем 30-кратное ускорение Python-кода

Reading time4 min
Views98K
Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу на этот язык. Особенно тогда, когда о Python говорят знатоки языка C. Вот как она звучит: «Python — это медленно». И те, кто так говорят, не грешат против истины.

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



Есть несколько способов ускорения Python-программ. Например, можно применять библиотеки, рассчитанные на использование нескольких ядер процессора. Тем, кто работает с Numpy, Pandas или Scikit-Learn, можно посоветовать взглянуть на программный комплекс Rapids, позволяющий задействовать GPU при проведении научных расчётов.
Читать дальше →
Total votes 77: ↑60 and ↓17+43
Comments31

Компилятор за выходные: лексер и парсер

Level of difficultyMedium
Reading time12 min
Views17K

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

Сегодня я публикую две статьи разом, поскольку по дороге меня довольно круто занесло, и получился небольшой спин-офф. Очень рекомендую к прочтению :)

Ну а тема этой статьи - автоматическое построение синтаксического дерева aka лексер и парсер.

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

Полевые транзисторы. For dummies

Reading time8 min
Views599K

Введение


А теперь давайте поговорим о полевых транзисторах. Что можно предположить уже по одному их названию? Во-первых, поскольку они транзисторы, то с их помощью можно как-то управлять выходным током. Во-вторых, у них предполагается наличие трех контактов. И в-третьих, в основе их работы лежит p-n переход. Что нам на это скажут официальные источники?
Полевыми транзисторами называют активные полупроводниковые приборы, обычно с тремя выводами, в которых выходным током управляют с помощью электрического поля. (electrono.ru)

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

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

Три контакта полевых транзисторов называются исток (источник носителей тока), затвор (управляющий электрод) и сток (электрод, куда стекают носители). Структура кажется простой и очень похожей на устройство биполярного транзистора. Но реализовать ее можно как минимум двумя способами. Поэтому различают полевые транзисторы с управляющим p-n переходом и с изолированным затвором.

Вообще, идея последних появилась еще в 20-х годах XX века, задолго до изобретения биполярных транзисторов. Но уровень технологии позволили реализовать ее лишь в 1960 году. В 50-х же был сначала теоретически описан, а затем получил воплощение полевой транзистор с управляющим p-n переходом. И, как и их биполярные «собратья», полевые транзисторы до сих пор играют в электронике огромную роль.

Перед тем, как перейти к рассказу о физике работы униполярных транзисторов, хочу напомнить ссылки, по которым можно освежить свои знания о p-n переходе: раз и два.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments25

Биполярные транзисторы. For dummies

Reading time10 min
Views960K

Предисловие


Поскольку тема транзисторов весьма и весьма обширна, то посвященных им статей будет две: отдельно о биполярных и отдельно о полевых транзисторах.

Транзистор, как и диод, основан на явлении p-n перехода. Желающие могут освежить в памяти физику протекающих в нем процессов здесь или здесь.

Необходимые пояснения даны, переходим к сути.
Читать дальше →
Total votes 76: ↑73 and ↓3+70
Comments26

Диоды. For dummies

Reading time8 min
Views171K

Введение


Диод — двухэлектродный электронный прибор, обладает различной проводимостью в зависимости от направления электрического тока. Электрод диода, подключённый к положительному полюсу источника тока, когда диод открыт (то есть имеет маленькое сопротивление), называют анодом, подключённый к отрицательному полюсу — катодом. (wikipedia)

Все диоды можно разделить на две большие группы: полупроводниковые и неполупроводниковые. Здесь я буду рассматривать только первую из них.

В основе полупроводникового диода лежит такая известная штука, как p-n переход. Думаю, что большинству читателей о нем рассказывали на уроках физики в школе, а кому-то более подробно еще и в институте. Однако, на всякий случай приведу общий принцип его работы.
Читать дальше →
Total votes 124: ↑122 and ↓2+120
Comments42

Родинки — это плохо? Разбираемся с эстетикой и раком кожи (не всё так страшно)

Reading time12 min
Views61K
Родинки уже который год ставят рекорды по мифам и страшилкам. Одно только клиническое исследование «Даже однократное посещение солярия повышает риск развития рака кожи в два раза!» чего стоит! Пруф.

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


Стадии развития меланомы

Зачем нужно разбираться в теме? Затем, что даже если родинка, например, пугающе чёрная или приподнята над кожей — это ещё не значит, что всё плохо. А вот небольшое коричневое пятнышко, у которого края стали неровными (а вы и не замечали, чтобы они и раньше были ровными), — это вполне может быть меланомой, то есть раком кожи.

Ниже будут примеры того, чего бояться не надо, а что, вовремя замеченное, спасёт вас от очень неприятных последствий.
Читать дальше →
Total votes 97: ↑94 and ↓3+120
Comments68

Про импортозамещение

Reading time15 min
Views252K

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

Читать далее
Total votes 472: ↑454 and ↓18+558
Comments1189

Взгляд изнутри: RFID и другие метки

Reading time13 min
Views307K


Let the skyfall
When it crumbles,
We will stand tall
And face it all...


Прошло достаточно много времени с момента публикации последней статьи из всем полюбившейся (по крайней мере, я на это очень надеюсь) серии «Взгляд изнутри» — больше полугода. Не то, чтобы не было, о чём написать или рассказать, просто одолели дела, которые станут предметом одной из следующих моих статей на Хабре (надеюсь, что её не отправят в утиль, так как посвящена она будет не совсем ИТ-тематике). А пока есть свободная минуточка, давайте разберёмся, что же такое RFID (Radio-frequency identification) – к ним примкнут более простые метки – или как один небольшой шаг в технологиях круто изменил жизнь миллионов и даже миллиардов людей по всему миру.

Добро пожаловать в наш уютненький микромир
Total votes 226: ↑225 and ↓1+224
Comments61

Гугл-программисты. Как идиот набрал на работу идиотов

Reading time4 min
Views173K
В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →
Total votes 318: ↑229 and ↓89+208
Comments648

Рынок соискателя или работодателя VS возрастная дискриминация

Reading time5 min
Views33K
image


В продолжение моего разбора полётов по рекрутингу и обстановке в последние лет 5, я хочу затронуть две щекотливые темы:

  • чей же рынок нынче, кто правит балом – работодатель или соискатель;
  • пресловутый возрастной ценз 45+, так ли всё плохо и безнадёжно.

Собственно, про эти вещи и пойдёт дальнейший разговор. Устраивайтесь поудобнее, будет много инсайда.

Две вышеуказанных темы очень близки друг другу и постоянно пересекаются в быту. Одно порождает другое.
Читать дальше →
Total votes 53: ↑46 and ↓7+56
Comments288

Трюки с SQL от DBA. Небанальные советы для разработчиков БД

Reading time22 min
Views33K

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

  • АБД инфраструктуры отвечали за настройку базы данных, конфигурирование хранилища и заботу о резервных копиях и репликации. После настройки БД инфраструктурный администратор время от времени «настраивал экземпляры», например, уточнял размеры кэшей.
  • АБД приложения получал от АБД инфраструктуры чистую базу и отвечал за её архитектуру: создание таблиц, индексов, ограничений и настройку SQL. АБД приложения также реализовывал ETL-процессы и миграцию данных. Если команды использовали хранимые процедуры, то АБД приложения поддерживал и их.

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать дальше →
Total votes 52: ↑48 and ↓4+68
Comments38

Колоноскопия. О деликатной теме без насмешек

Reading time10 min
Views88K
Я работаю медсестрой-анестезистом в кабинете эндоскопии почти 2 года. Этого времени хватило, чтобы понять, что не всегда врачи, колл-центр клиники и интернет дают всю точную информацию по подготовке к такому исследованию, как колоноскопия. Постаралась собрать все часто возникающие вопросы. Хочу поделиться с вами, буду рада, если кому-то окажется полезным.

Современный мир дает возможность многим работать из дома. Особенно сейчас, в «короновирусную» эпоху еще больше людей работают удаленно и перестали ездить на работу. Это значит, что в домашней обстановке в основном сидят, долго сидят и смотрят в монитор. Справедливости ради, надо сказать, что и офисная жизнь не располагает к подвижности. Про вред долгого смотрения в монитор я пока не готова рассказать, а вот долгое сидение точно приводит к проблемам с ЖКТ (желудочно-кишечный тракт). Плюс многие не пьют достаточное количество воды, не едят клетчатку, стрессуют, а это все приводит к некоторым проблемам, которые могут длиться годами. Рано или поздно многие приходят к необходимости сделать колоноскопию. Если хотите узнать про это деликатное исследование подробнее – добро пожаловать под кат. В статье есть описание многих физиологических тем, которых принято стесняться, кому-то может быть просто неприятно, также есть немного ужастиков, так что впечатлительным особам лучше воздержаться от чтения.
Читать дальше →
Total votes 105: ↑98 and ↓7+132
Comments136

Пол Грэм: Как писать полезные тексты (полная версия)

Reading time10 min
Views3.6K
image

Каким должно быть эссе? Многие сказали бы — убедительным. Так нас учили… Но я думаю, что мы можем стремиться к чему-то более амбициозному: эссе должно быть полезным.

Прежде всего эссе должно быть корректным. Но недостаточно просто быть корректным. Легко сделать утверждение корректным, сделав его расплывчатым. Это распространенный недостаток академического письма. Даже если вы ничего не знаете о предмете, вы не ошибетесь, сказав, что проблема сложная, что есть много факторов, которые следует учитывать, что слишком простой взгляд на неё был бы ошибкой, и так далее.

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

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

Точность и корректность подобны противостоящим силам. Легко удовлетворить одну, игнорируя другую. Поддержание академического стиля — смело, но фальшиво, это риторика и демагогия. Полезное писательство — смело и правдиво.

Здесь также есть 2 других момента: говорить людям что-то важное и то, что, по крайней мере, некоторые из них еще не знают.
Читать дальше →
Total votes 10: ↑7 and ↓3+7
Comments1

std::stringstream и форматирование строк

Reading time3 min
Views240K
Ввод и вывод информации — критически важная задача, без выполнения которой любая программа становится бесполезной. В C++ для решения данной задачи традиционно применяются потоки ввода-вывода, которые реализованы в стандартной библиотеке IOStream.

Плюсами такого подхода являются:
— универсальность: не важно, с чем связан поток, — ввод-вывод с консоли, файла, сокета, процесса происходит одинаково;
— прозрачность: программисту не нужно явно указывать тип вводимого или выводимого объекта;
— расширяемость: программист может добавить поддержку ввода-вывода в поток для любого своего объекта, просто перегрузив соответствующие операторы.

В библиотеке IOStream есть также класс stringstream, который позволяет связать поток ввода-вывода со строкой в памяти. Всё, что выводится в такой поток, добавляется в конец строки; всё, что считыватся из потока — извлекается из начала строки.

Он позволяет делать весьма забавные вещи, например, осуществлять преобразование типов:

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments32

Профессия: программист. Не всё однозначно

Reading time11 min
Views92K
Мы писали о фронтендерах и бэкендерах, о мобильной разработке и о тестировании, но это были частные случаи. Когда человек подходит к первой или очередной профессии, он редко говорит, что станет разработчиком под iOS или проктологом, как правило это звучит «программистом» и «врачом». Специализация приходит позже, с опытом. Но чтобы твёрдо заявить, что ты хочешь стать программистом, врачом, архитектором, геологом и т.д., нужно избавиться от романтизации профессии и подойти к ней здраво и осмысленно. Даже если вы вдруг решили стать программистом, чтобы «войти в айти после 35-ти». Если говорить о программистах с позиций романтики, то это люди, которые превращают наши замыслы в код и делают жизнь лучше, проще, удобнее. Если говорить прямо, то работа программиста — напряжённый, зачастую рутинный труд с множеством плюсов и минусов. Об этом и поговорим.

Читать дальше →
Total votes 49: ↑45 and ↓4+65
Comments45

C++/Qt: пора валить?.

Reading time14 min
Views109K

image


Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/язык везде, независимо от структуры проекта и его компонентов, без дополнительных сложностей с зоопарком технологий и зависимостей.

Сейчас, в свете присходящего с Qt, придётся менять подход...


Читать дальше →
Total votes 81: ↑55 and ↓26+48
Comments306

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть четвертая

Reading time32 min
Views375K

Предыдущие части




В данной части мы рассмотрим


Многотабличные запросы:
  • Операции горизонтального соединения таблиц – JOIN
  • Связь таблиц при помощи WHERE-условия
  • Операции вертикального объединения результатов запросов – UNION

Работу с подзапросами:
  • Подзапросы в блоках FROM, SELECT
  • Подзапрос в конструкции APPLY
  • Использование предложения WITH
  • Подзапросы в блоке WHERE:
    • Групповое сравнение — ALL, ANY
    • Условие EXISTS
    • Условие IN

Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments6

Про-джуниоры, или полмиллиона «потерянных» разработчиков

Reading time8 min
Views41K

Об исследовании


Введение


В этой статье речь пойдет о про-джуниорахразработчиках, которые уже состоялись в одной из технологий, и выбрали развитие в профессии через смену профильного стека. О том, как про-джуниоры меняют работу, с какими трудностями сталкиваются, и как их воспринимают потенциальные работодатели. Точно определить количества про-джуниоров достаточно трудно, но на основании имеющихся данных, я предполагаю, что в эту категорию попадают от 0.2 до 2% популяции разработчиков.

про числа
Если числовое значение не подкреплено ссылкой на источник, значит оно является средним арифметическим экспертных оценок, полученных от респондентов в ходе интервью

Возможно, по причине относительной малочисленности этой группы специалистов, ни специфика их опыта переобучения, ни особенности трудоустройства и найма, до сих пор не являлись предметом содержательного обсуждения или исследования. Однако, отсутствие явного интереса к про-джуниорам трудней объяснить, как только мы переходим от относительных величин к абсолютным: даже 0.2% от 24 млн — это почти половина от общего количества разработчиков в Чехии, а 2% или 480 тысяч девелоперов — это уже значительно больше количества разработчиков в России.

Полгода назад я начал работать над исследованием в рамках выпускной работы, чтобы понять из чего складывается профессиональный опыт про-джуниоров. Ниже, я бы хотел поделиться основными сюжетными линиями, которые были выделены в ходе серии интервью с про-джуниорами, рекрутерами и HR-ами.
Читать дальше →
Total votes 36: ↑23 and ↓13+23
Comments80

Information

Rating
Does not participate
Registered
Activity