Войти
Войти
 

Регистрация

Уже есть аккаунт?
Полная версия Пикабу

Программирование

добавить тег
Любые посты за всё время, сначала свежие, с любым рейтингом

поиск...

Мне кажется, они забыли позвать Scratch

в
Мне кажется, они забыли позвать Scratch
  •  
  • 1424
  •  

Можно же было просто выучить HTML

в
Можно же было просто выучить HTML
  •  
  • 844
  •  

Алгоритмы: сортировка вставками и слиянием

в

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

Устраивайтесь поудобнее, будет интересно.

Для вас старались:

Переводчики — Даниил Левицкий, Дерсим Даваод

Редактор и монтажёр — Олег Жданов

Корректор — Дмитрий Мирошниченко


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


* по данным программистов, ежедневно пишущих сортировку

  •  
  • 505
  •  

Поддержание стабильности проекта

в
Поддержание стабильности проекта Программирование, It юмор, Джеки Чан

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

Статья: https://habr.com/ru/post/435920/


Перевод:

Бизнесс

Горячая задача Срочная задача
ТЫ
Новая задача Задача
Поддержание стабильности проекта

  •  
  • 90
  •  

Вечная битва

в
Вечная битва Вселенная, Программирование

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


Пока вселенная побеждает.

  •  
  • 149
  •  

DENUVO Software Solutions GmbH ищет таланты и загадка от авторов Valeroa

в
DENUVO Software Solutions GmbH ищет таланты и загадка от авторов Valeroa Denuvo, Valeroa, Программирование, Головоломка, Rick Astley, Длиннопост
Показать полностью
  •  
  • 35
  •  

Не-программисты

в
Не-программисты Reddit, It юмор, Программирование, Html

Источник

  •  
  • 308
  •  

Автоматизация на почте

в

Устроился на работу сотрудником почты. На окраине города стоит полупустое здание, там начальство решило сделать архив. Рабочие привезли туда огромную груду мешков с письмами, которые требовалось отсортировать и занести в базу. Процесс таков: имеется пачка писем, обвязанная шпагатом. У каждой пачки есть накладная со штрихкодом, в котором зашифрована информация по этой пачке. Нужно 1) нажать в программе кнопку "сканировать штрихкод" 2) провести сканером по накладной 3) подождать 10-30 секунд пока программа расшифрует ШК 4) нажать кнопку "внести данные" 5) подождать 30-90 секунд 6) написать на пачке диапазон номеров, которые программа присвоила этим письмам (10-15 сек) 7) нажать кнопку "закрыть накладную" (5-10 сек), выйти назад в меню 8) следующий цикл.


Как видите, все эти ожидания плюс время на нажатие кнопок отнимает много времени. Во время 10-30 и 30-90 секундных перерывов можно занять себя открывая очередной мешок в другом конце комнаты и вытаскивая новые пачки, однако приходится бегать туда сюда и жать кнопки. Тогда я написал скрипт, автоматически определяющий когда закончился предыдущий шаг (распознавание экрана), жмущий нужные кнопки, а также назначил горячие клавиши, которые быстро выходят в меню и начинают новый цикл. Также я наловчился писать цифры загодя на основе диапазонов предыдущих пачек и количества писем в текущей. Теперь процесс выглядит так: сканирую ШК, иду занять себя другими делами (вскрытие мешков, написание цифр на следующих накладных, складирование готовых), программа в это время сама проходит полный цикл, возвращаюсь, сканирую следующий ШК и т.д. Скорость работы приблизилась к теоретическому пределу: теперь все упиралось в скорость работы программы, ускорить которую я не мог. Но этого вполне хватало, программа постоянно что-то обрабатывала, а я выполнял другие работы.


Также были бракованные накладные или пачки писем вообще без накладных. Приходилось брать каждое письмо 1) сканировать его ШК 2) клик "ввести данные" 3) 1-2 секунды программа думает 4) вылезает окно с характеристиками письма, тут ничего не делаем, все письма одинаковые, жмем "сохранить письмо" 5) следующий цикл

Как видите, опять много ненужных движений, нужно откладывать сканер в сторону, тянуться к мышке, два раза жать в разные места на экране. Моментально был написан скрипт, автоматизирующий всю эту лабуду, теперь процесс свелся к "пикнул письмо сканером (сканер издает звук при считывании), жду 2 секунды, пикаю следующее письмо" и т.д. Работа ускорилась в 2-4 раза, да и сил тратится гораздо меньше.


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


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


Мои посты по автоматизации


Автоматизация с AutoHotKey

https://m.pikabu.ru/story/avtomatizatsiya_rutinyi_s_autohotk...


Распознавание экрана в AutoHotKey https://m.pikabu.ru/story/avtomatizatsiya_rutinyi_s_autohotk...

Показать полностью
  •  
  • 6183
  •  

Сказка для программистов

в
Сказка для программистов
  •  
  • 590
  •  

Природа против программиста?

в

Даже если программист создаст более понятный интерфейс, то природа создаст более тупого пользователя.

  •  
  • 214
  •  

Черная полоса Apple: торговая война выдавливает из Китая, iPhone продаются плохо

Черная полоса Apple: торговая война выдавливает из Китая, iPhone продаются плохо It, Технологии, Техника, Apple, Iphone, Программирование, Длиннопост

Совсем недавно, всего три месяца назад, капитализация компании Apple достигала на пике $1,2 трлн, что позволила компании не только обновить свой личный рекорд, но и стать ей вообще самой дорогой компанией, которая когда-либо существовала в мировой истории. Несмотря на малое количество инноваций в трех последних моделях смартфона iPhone, представленных в сентябре 2018 года, кризиса ничего не предвещало. Однако в настоящее время у Apple наступила черная полоса, а сама компания стремительно дешевеет, и уже покинула все строчки рейтингов, которые ранее занимала.


В настоящее время рыночная капитализация Apple составляет $750 млрд и этот показатель продолжает уменьшаться. Так, 3 января наступившего 2019 года на американской фондовой бирже Nasdaq акции Apple подешевели в течение дня на 9%. С момента же пика в минувшем году компания из Купертино потеряла уже более трети рыночной стоимости. Падение акций Apple потянуло вниз весь рынок, американский фондовый индекс Dow Jones потерял в результате несколько сотен пунктов.


Капитализация Apple не только опустилась ниже психологического порога в $1 трлн, но и также впервые с 2012 года потеряла звание самой дорогой компании мира, заняв лишь на четвертое место. Компании Google, Microsoft и Amazone стали стоить дороже, чем Apple.


Причиной столь плачевной ситуации стало сочетание двух причин: провал трех новых iPhone и торговая война между США и Китаем, которая привела к тому, что правительство США объявило о вводе пошлин на импорт товаров из Поднебесной. Так, 6 июля 2018 года правительство США ввело пошлины в 10% на импорт товаров из КНР, которые с 1 января 2019 года повысились до 25%. Однако правительство этим не ограничилось, и ввело также специализированные пошлины, коснувшиеся 5 тысяч товаров, импортируемых в США из Китая.


Из-за торговой войны Apple понесла убытки, как прямые, так и косвенные. Если прямые убытки – разумеется, состоят из пошлин на ввоз запчастей из КНР, то косвенные убытки состоят в том, что освободившуюся долю рынка заняли китайские Android-конкуренты: OPPO, Xiaomi и Huawei.


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


Смартфон iPhone XR, помимо высокой цены, провалился еще и позиционированием в качестве флагманского устройства. Чтобы повысить его конкурентоспособность перед другими моделями, и для стимулирования его продаж, в Apple даже повысили количество денег за сдачу старого смартфона по программе Trade-In до $ 300, что давало возможность купить iPhone XR с дисконтов в 40%.


Смартфон iPhone XS Max не впечатлил большим экраном – он оказался почти невостребован, покупатели предпочли приобрести стандартный XS плюс iPad. Однако и iPhone XS не достиг успеха, в результате чего Apple была вынуждена вернуть в производство iPhone X, который дешевле и также имеет OLED-дисплей.


В итоге, по причине низких продаж в Apple были вынуждены закрыть от рынка статистику продаж гаджетов вовсе, чтобы не отпугнуть инвесторов, и вернуть в производство и продажу iPhone X, дабы израсходовать запасы OLED-дисплеев, которые производит по контракту Samsung.


Покупатели предпочитают старые модели, в особенности iPhone 8, которые имеют стабильно высокие продажи, и крайне мало внимания обращают на новинки 2018 года. В результате Apple была вынуждена объявить провести 2 января, сразу после Нового года, срочное совещание топ-менеджеров, в поисках способов исправления ситуации.


Больше полезной, а также интересной информации вы найдёте здесь: https://t-do.ru/joinchat/AAAAAEqkVW04t2mx3GMMbw

Показать полностью
  •  
  • 30
  •  

NVIDIA официально представила GeForce RTX 2060

Как и ожидалось, на специальном мероприятии в рамках CES 2019 компания NVIDIA анонсировала новый графический ускоритель с архитектурой Turing, GeForce RTX 2060. Новинка позиционируется как наиболее доступное решение с поддержкой трассировки лучей в реальном времени и функциями искусственного интеллекта. Официальная цена GeForce RTX 2060 установлена в $349, что по мнению NVIDIA позволяет получить современные возможности, доступные ранее лишь в флагманских ускорителях, в среднем ценовом сегменте.

NVIDIA официально представила GeForce RTX 2060 It, Программирование, Технологии, Наука, Длиннопост

Как утверждает производитель, в существующих играх GeForce RTX 2060 примерно на 60 % быстрее массового ускорителя прошлого поколения, GTX 1060, и даже во многих случаях опережает GTX 1070 Ti. Более того, имеющейся производительности оказывается достаточно для того, чтобы играть в Battlefield V с включённой трассировкой лучей при 60 fps (в разрешении 1440p). Во многом помочь в этом должна реализация нового алгоритма сглаживания — DLSS, использующего тензорные ядра GPU и существенно повышающего частоту кадров.

Показать полностью 3
  •  
  • 30
  •  

Как я JavaScript учить начал

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

Последний раз я был быдлокодером в школе, где нас учили писать на... BASIC. В 2001 году, Карл! В то время, как почти везде уже учили Pascal. Потом я пытался писать на Delphi, но кроме генератора заданного количества случайных чисел в заданном интервале ничего написать не смог (нужно было для дипломной работы).

Потом было по чуть-чуть MAXScript и MEL (исключительно в объеме «мне тут нужна своя кнопка для создания шарика»). В общем, ничего, кроме «Hello, World!» на подавляющем большинстве языков программирования я ничего никогда не писал и не напишу (и то лишь потому, что «Hello, World!» учат писать на первых страницах любого учебника).

А JavaScript мне не нужен особо. Ни в прикладных моментах (для себя мне на нем писать нечего), ни в глобальных. Но уже недели полторы я читаю про него все, что можно, в том числе и MDN. Выходит около часа в день на это дело. Немного пока, но тут, как пойдет.

Вчера я начал разбираться с массивами и в конце своего часа накидал вот такой скрипт:

Как я JavaScript учить начал Программирование, Javascript, Ученики, Учусь, Языки программирования

Без повторения примеров и уроков. Просто было интересно, получится ли. Все заработало и закрутилось, как было нужно.

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

  •  
  • 180
  •  

Моделируем жизнь

в

В прошлый раз я писал о простой модели жизни. Кратко напомню правила. «Вселенная» состоит из клеток, в которых может быть жизнь. У каждой клетки есть 8 соседей. С каждым промежутком времени исполняются следующие правила:

1. Если у живой клетки меньше 2 соседей, она умирает от одиночества

2. Если у живой клетки 2 или 3 соседа, она продолжает жить

3. Если у клетки более 3 соседей, она умирает от перенаселения

4. Если у неживой клетки ровно 3 соседа, происходит размножение и клетка становится живой

Получившаяся модель поражает своей живостью и непредсказуемостью! Играть с ней — одно удовольствие

Моделируем жизнь Жизнь, Программирование, Компьютерная модель, Conways game of Life, Игры, Человек наук, Наука, Гифка, Длиннопост
Показать полностью 9
  •  
  • 124
  •  

Язык смерти

в
Язык смерти Смерть, Скриншот, Комментарии на Пикабу, Мат, Программирование, Японцы

#comment_130244035

  •  
  • 2255
  •  

8. Мышление и человечность.

в

Никогда не сталкивались с ситуацией, когда вас считают странным или не от мира сего?

Сидишь себе, кодишь. Или над проектом думаешь. Подходит кто-то из домашних, задает вопрос. И удивляешься, по чему ты как робот реагируешь.


Я сталкивался. И переключаться быстро – очень непросто.


Разберемся, почему.


Над разными задачами мозг человека работает в разных режимах. При этом задействуются разные системы (ДСМ, СВЗ, ЦИС и другие). Они состоят из многих согласованно работающих областей коры и подкорки. Например, при получении данных, и при их обработке - мозг работает совершенно разными областями. Это подтверждено исследованиями с помощью ФМРТ.


А еще эти системы – антагонисты. Если работает одна – вторая не может работать параллельно. Только переключение. Быстрое или не очень.


И еще один нюанс. За построение и прогнозирование отношений с другими людьми у нас отвечает ДСМ, дефолт-система мозга. В родоплеменные времена она должна была учитывать все отношения каждого с каждым членом нашего племени. Колоссальный объём информации и взаимосвязей.

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

Если эту систему часто гонять не по назначению – она перестраивается под работу с данными, а не с людьми.


Есть несколько побочных эффектов. У разных людей они комбинируются по-разному. Выраженность тоже бывает различной.


1) Снижение эмоциональности. Данным не нужно вызывать в нас что-то кроме интереса. Дофамин – и так сильнейший «наркотик» в нашей нервной системе. А тут его просто завались. Задачу поставил – задачу решил. Чистый вечный кайф.

2) Снижение болевой чувствительности. Тот же самый дофамин заглушает работу остальных систем. Казалось бы, чего плохого. Но – терпим с туалетом до последнего. Вот сейчас дочитаю/допишу – и пойду. Отсиживаем себе всё. Сидим до красных пересохших глаз. Спазмов спины и искривлений позвоночника. Для здоровья – не здорово.

3) Нарушение социальных связей. Отчасти, следует из п. 1 – зачем нам другие люди? От них эмоции разные, а от мышления – всегда приятные.


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


Я с этой проблемой столкнулся в полный рост. Причем настигла она меня неожиданно. Не на старте профессии.

Уже и семья, и дети.

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

А потом зовут ужинать – и досадно. Отвлекают, блин. Ну, пришел, поел. Еда как вата с картоном. Нет вкуса. На «лего» босой ногой наступил – и ничего. С утра кофе язык обжег – не боль, а легкий зуд.

Неделю не отпускало. Четко чувствовал – что-то не то. Чего-то не хватает. Ясно – но мертво и пусто.

Через неделю выпал. От эмоций разных трясло пару дней, потом успокоился.

После еще провалы были. Но короче, и вылезал быстрее. Но не получается пока по желанию ни впадать, ни выпадать.

А вот недавно – получилось совместить «живое» с «неживым».

Был в филармонии, на концерте. Сидел над оркестром, всех видно. Хорошо понятно, кто и когда вступает, от кого какой звук. И музыка в мозг идет – колоссальным потоком данных, только успевай это в гармонию складывать. И при этом – эмоции. Потоком, фонтаном восторга. Впервые сложилась та самая «ясность» и что-то человеческое.

То есть, совмещать все-таки можно, хоть и не просто.

Или нет. Нужно пробовать, нужно разбираться.


Как у вас с такими вещами? Как живете, получается ли вылезать?

П.С. Как это произошло в мозгу – не знаю. ФМРТ с собой не было)

Показать полностью
  •  
  • 125
  •  

Способы применения и искажения меткости в играх. Наглядные графики для сравнения

в

Вычислять факт попадания в играх на основе полученной меткости можно по разному:

— сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]);

— сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел;

— сравнивая среднее из двух и более случайных чисел (среднее тоже можно считать по разному).

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Игровая механика, Разработка игр, Меткость, Случайность, Gamedev, Манипуляция, Программирование, Компьютерные игры, Длиннопост

Бонусы к меткости тоже можно реализовать по разному, вызывая тем самым у игроков раздражение по разными причинам.

Точно также по разному можно рассчитывать наносимый урон, особенно на основе дайсов (кубиков).

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

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

=== Манипуляции с меткостью ===

Обычно, когда игроку сообщается, что меткость у персонажа равна 60%, то он воспринимает эту информацию как: «из 10 выстрелов я могу рассчитывать на 6 попаданий». И если из 10 попаданий он будет наблюдать 1 попадание вместо 6, то он почти наверняка посчитает, что случайность в игре поломана. Особенно сильно он в этом уверится, если такое случится на отрезке из 100 выстрелов. Чтобы избежать таких неприятностей, разработчики часто скрытно манипулируют с реальной вероятностью попадания (либо вообще отказываются от элемента случайности).

Например, в игре Fire Emblem: The Binding Blade для определения попадания с меткостью сравнивалось не одно случайное число, а среднее из двух случайных чисел [2].

Показать полностью 24
  •  
  • 457
  •  

К посту

в

https://m.pikabu.ru/story/pet_detector_opovestit_kogda_vash_...

К посту Кот, Raspberry pi, Батя, Дверь, Программирование
  •  
  • 240
  •  

Программируем жизнь

в

Представьте себе двумерную вселенную, состоящую из клеток (как в школьной тетради). Некоторые клетки закрашены — тогда мы говорим, что в них есть жизнь. У каждой клетки есть 8 клеток-соседей

Программируем жизнь Программирование, Наука, Математика, Игра жизнь, Conways game of Life, Человек наук, Гифка, Длиннопост

Введём некоторые правила для нашей жизни:

1. Если у живой клетки меньше 2 соседей, она умирает от одиночества

2. Если у живой клетки 2 или 3 соседа, она продолжает жить

3. Если у клетки более 3 соседей, она умирает от перенаселения

4. Если у неживой клетки ровно 3 соседа, происходит размножение и клетка становится живой

Показать полностью 12
  •  
  • 1116
  •  

Сроки проекта

в

Заказчик: И сколько нужно времени на проект?

Я: Около 6 недель.

Заказчик: У вас 2 недели.

Я: Хорошо, давайте попробую объяснить понятнее:

  •  
  • 562
  •  

Подумываю купить квартиру. Куда бежать и на что смотреть?

Подумываю купить квартиру. Куда бежать и на что смотреть? Длиннопост

Живешь несколько лет на съемной квартире – все отлично: платишь исправно, сделал ремонт под себя. А тут – бац! – хозяин просит съехать через месяц. Возможно, это прекрасный момент, чтобы подумать о покупке своего жилья и переехать раз и навсегда. Пикабу и застройщик ПИК запускают проект «10 шагов к покупке квартиры». Мы проследим путь покупателя от момента, как у него только появилась безумная идея купить квартиру и ввязаться в ипотеку, до выбора планировки и оформления трех тысяч бумажек (на самом деле меньше).

Показать полностью 3
  •  
  •