Динамическое программирование: что это, как работает и где применяют

Стиль этой статьи научно-популярный, поэтому термины заменены на «простые» слова. Но материал ориентирован на программистов или на людей, которые практикуют написание кода. Здесь используются понятия из программирования и жаргон. Не нужно пытаться осилить всю статью за один вечер. Сначала почитайте теорию и примеры реального применения, а в другие дни порешайте задачи. Введение и немного истории Всем привет. Меня зовут Тимофей, я Python/ML-разработчик, имею 6 лет опыта в индустрии. Занимаюсь исследованиями в области архитектур нейронных сетей в аспирантуре ХНУРЭ, кандидатская связана с нео-фаззи нейронными сетями. Тема этой статьи важна для тех, кто сталкивается с обработкой данных в своей работе. На практике динамическое программирование может пригодиться вам всего лишь 1–2 раза в жизни, но сам концепт помогает по-другому посмотреть на работу с алгоритмами. Когда я сам учился решать задачи с помощью этого подхода, у меня часто возникали трудности с интуицией решения.

Опубліковано: 08/02/21 @ 11:00
Розділ Програмування Читати далі...

Почему разработка программного обеспечения тесно связана с бизнесом и деньгами

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

Опубліковано: 23/10/20 @ 10:00
Розділ Програмування Читати далі...

«Я вирішила отримати другу ПО — вже з інформатики в Європі». Українка у Бельгії — про непростому шляху в програмування

У 30-річної Наталії Шабини з міста Лубни Полтавської області незвичайна історія. Після закінчення вузу в Києві вона працювала на ресепшені в редакції газети, писала статті про культуру, а потім вирішила стати програмістом і переїхати в Європу. Волонтерство, робота нянею, підробітку в університеті... А ще заради своєї мети довелося нідерландська і французька мови. З часу переїзду Наталії в Європу пройшло майже вісім років, і вона досягла своїх цілей: закінчила коледж в Бельгії і отримала диплом бакалавра інформатики, працювала програмістом в консалтинговій компанії, а нещодавно її підвищили до тимлида. Вона розповіла DOU свою історію. У Бельгії триває карантин, і Наталя працює з дому: «Мені так подобається! Не треба збиратися, їхати нікуди. Повернутися в офіс буде непросто» «Мама казала: будь ким завгодно, тільки не програмістом!» — Перш за все розкажи, чим зараз займаєшся і що робила до того, як піти в програмування? Я працюю в консалтинговій компанії Arhs.

Опубліковано: 08/06/20 @ 10:00
Розділ Програмування Читати далі...

Android дайджест #32: Pie, нативна розробка, KotlinConf, Firebase SDKs

А також: ювілей ОС, Code Reviews, Firebase Messaging, оптимізація витрат батареї, перехід на Koin, Android Go, навігація в додатках, Coroutines і ще багато цікавого! Image credit: The Verge Новини та аналітика Android виповнилося 10 років: згадати все . KotlinConf 2018 Announcements . Kotlin 1.3 RC, in Native Beta, оновлений дитячий майданчик. Open sourcing the Firebase Android SDK . What's new in the google'sAssociate Android Developer Certification exam. Знання Architecture Components тепер обов'язково. Moar Power in Android 9 Pie and the future . Як оптимізується витрата батареї в новій версії ОС. RxAndroid's New Async API . Ефективна робота з Handler в залежності від версії API. List of Android Pie (Android 9) ports for smartphones and tablets. Android Bug Allows Geolocation of Users без відповідних дозволів. Уразливі всі ОС крім 9, обіцяють виправити на більш старих версіях. Frustration-Free Code Reviews . Код vs Его.

Опубліковано: 20/10/18 @ 10:00
Розділ Блоги Програмування Читати далі...

14 березня, Дніпропетровськ - Курс розробка додатків під iOS

Комп'ютерна Академія ШАГ запрошує студентів, початківців розробників і також усіх, хто хоче навчитися програмувати на річний курс розробка додатків під iOS. Навчіться розробляти мобільні додатки під iOS за один рік! Ми вчимо фахівців з нуля. У процесі навчання на курсі «Розробка мобільних додатків під iOS» Ви:
- дізнаєтеся про основні концепції розробки для мобільних пристроїв;
- вивчіть особливості розробки на мові програмування Objective-C для iOS на IDE Xcode;
- отримаєте практичні навички розробки мобільних додатків для iPhone і iPad;
- навчитеся створювати власні мультимедійні мобільні додатки;
- познайомитеся з особливостями публікації додатків в Apple Store. Програма навчання: • Знайомство з платформою iOS і функціоналом iPhone і iPad
- робота з файловою системою Mac OS
- Робота з програмами в Mac OS
- Налаштування операційної системи Mac OS і її інтерфейсу
- Налаштування пристроїв в Mac OS.

Опубліковано: 04/03/15 @ 08:46
Розділ Програмування Читати далі...

31 січня, Київ - Майстер-клас " Швидкі Web програми : розробка, профайлинг , оптимізація " від Дениса Радіна та Юрія Лучанінова

Практика створення додатків на Web платформі вже усталилася , проте ставлення до неї як і раніше не однозначно. Одним з основних аргументів проти є низька швидкодія HTML додатків і погана чуйність. Тренінг ознайомить з серією технік , що дозволяють розробляти максимально швидкі Web додатки, підняти чуйність інтерфейсу і зробити ваших користувачів щасливішими. " Оптимізація продуктивності - це не тільки про те що б зробити ваше поточне додаток швидше, це так само про те що б дозволити вам робити речі які ви не могли робити раніше .

Опубліковано: 29/12/14 @ 01:55
Розділ seo Блоги Програмування Читати далі...

Швидка веб - розробка з NReco

Ліричний вступ Написати одну хорошу строчку коду , в общем- то , легко : вона зрозуміла , робить те , що потрібно , її легко прочитати і зрозуміти (якщо це не строчка на Perl) . Коли строчок багато, ситуація радикально змінюється в гірший бік : реальність така , що проектний код зазвичай пишеться в умовах жорстких часових обмежень далеко не клонами Джона Скиту , і замість гарного коду « маємо те, що маємо» . Іншими словами , проектний код - це біль . Чим його менше , тим краще. Ми використовуємо фреймворки , щоб створювати надійні архітектурні та інфраструктурні рішення і не писати зайвий код в проекті ( « велосипеди »). Ми використовуємо компоненти , щоб отримати необхідну функціональність через збірку замість написання одноразової проектної реалізації « з нуля». Повторне використання коду - це срібна куля в боротьбі з проблемою збільшення його кількості . Ми використовуємо повний арсенал ( OOP , FP , CBD , TDD , DDD , MDD і т.д.

Опубліковано: 29/09/14 @ 06:26
Розділ Програмування Читати далі...

28 листопада, Київ - ClojureScript і реактивне програмування , або Як написати гру за 2 дні

Написання інтерфейсів для програм в браузерах зараз зазнає бурхливе зростання . Кількість підходів скоріше навіть дратує , чим вражає , і з першого погляду важко визначити , як же бути . У планах - подивитися , що у нас є на ринку розробки , оцінити , як люди без підготовки пишуть гри і в цілому поговорити « за розробку ». Програма
- Backbone , AngularJS , Ember , React , Hoplon , FRP
- Аналіз існуючих способів написань інтерфейсів
- Написання інтерфейсів Про лектора : Олександр Соловйов - автор нашумілого доповіді про реактивне програмування , автор статей, бібліотек і програм помірною популярністю , програміст зі стажем в 6 років і в цілому любитель приємного життя , краси і розмов. Мови програмування: Python , JavaScript , Go , Clojure .

Опубліковано: 12/11/13 @ 02:15
Розділ javascript Програмування Читати далі...

28 ноября, Киев — ClojureScript и реактивное программирование, или как написать игру за 2 дня

Написание интерфейсов для программ в браузерах сейчас претерпевает бурный рост. Количество подходов скорее даже раздражает, чем поражает, и с первого взгляда тяжело определить, как же быть. В планах — посмотреть, что у нас есть на рынке разработки, оценить, как люди без подготовки пишут игры и в целом поговорить «за разработку». Программа
— Backbone, AngularJS, Ember, React, Hoplon, FRP
— Анализ существующих способов написаний интерфейсов
— Написание интерфейсов О лекторе: Александр Соловьёв — автор нашумевшего доклада про реактивное программирование, автор статей , библиотек и программ умеренной популярности, программист со стажем в 6 лет и в целом любитель приятной жизни, красоты и разговоров. Языки программирования: Python, JavaScript, Go, Clojure.

Опубліковано: 12/11/13 @ 02:15
Розділ javascript Програмування Читати далі...

Експериментальне програмування , або шаманський код у комп'ютерному зорі

Комп'ютерний зір - це саме ті цікаві завдання, про які мріють українські сеньйори , розбираючи черговий гуано -код веб -проекту за сир і автомобіль . Тема, до якої включено безліч пекельно складного мату, шаманства і просто комп'ютерної магії. Причому все це часто за складністю порівнюється з квантовою теорією , хоча практичної користі від останньої набагато менше. Так от , комп'ютерне зір- це певний набір алгоритмів , в більшості випадків евристичних , кожен з яких може взяти один образ , порівняти з іншим і видати ступінь їх відповідності або прийняти якесь рішення (знову ж , на основі відповідності розпізнаваних образів і відповідності їм певного рішення чи дії) . Причому ефекти застосування різні: від віднесення пікселя зображення до фону або образу ( бінаризація ) до визначення траєкторії руху в 3D -просторі . У деяких випадках і там , і там в основі може використовуватися одна і та ж алгоритмічна база .

Опубліковано: 11/09/13 @ 08:04
Розділ Програмування Читати далі...

Дайджест: помер винахідник "мишки" , де застосовується Ada , розробка по -російськи

Добрий день, шановні читачі. Новини В результаті IPO Luxoft залучив $ 70 млн . Команда програмістів з Петербурга вп'яте стала переможцем чемпіонату світу по командному програмування серед студентів. Помер винахідник комп'ютерної миші Дуглас Енгельбарт . Інтерв'ю Diving into Scala : A Conversation with Java Champion Cay Horstmann. Аналітика Чому маленький гаджет може погубити велику ділову зустріч . Цікава інфографіка - хто спонсорує онлайн-навчання . 65% випускників яндексовского ШАД залишилися в компанії . Де використовується Ada . Погляди Як пишуться книги для O'Reilly - вебкасти . Internet Explorer 11: «Don 't call me IE » - огляд прийдешньої версії настільки усіма« улюбленого »браузера ... Особливості російської розробки . Теорія The Play Framework at LinkedIn: Productivity and Performance at Scale. JPA-маппінг типу «багато-до-багатьох» .
Learn X in Y minutes - коротко про мови програмування. Цікаве Як виглядає DDOS-атака.

Опубліковано: 05/07/13 @ 09:19
Розділ Безпека Програмування Читати далі...

Дайджест: jQuery 2.0 , плюси і мінуси роботи в компаніях Top25 , чи потрібно програмування 8- льоткам

Добрий день, шановні читачі. Аналітика Інфографіка: Огляд зарплат 10 найпопулярніших професій у сфері digital-технологій. Інфографіка: дайджест Уанету 2012 . Інфографіка: 5 науково доведених способів отримати більше ретвітів . Інфографіка: бізнес пошукового гіганта Google в цифрах. Top-25: ІТ-компанії з рекордними зарплатами програмістів . Норвезька блог blog.iterate.no проводить чергове дослідження популярності мов програмування. Погляди Керівництво по найму програмістів . І ще про наймання - як не слід проводити співбесіду шукачів . Чи потрібно займатися програмуванням 8-річній дитині ? Про вибір мови програмування . Влад Воскресенський. Як аутсорсеру перейти в продукти ? Едуард Рубін - Заздрість: чому українському ІТ далеко до індійського . Інтерв'юЧи варто їхати з України: колишній адміністратор UA-IX Сергій Поліщук про переїзд до Канади . Теорія Java 8 Optional Objects . RAII and ScopeGuard . Java.next : Common ground in Groovy, Scala, and Clojure.

Опубліковано: 19/04/13 @ 08:29
Розділ javascript Блоги Програмування Читати далі...

Дайджест : інтерв'ю з Кардаковим і CEO Grammarly , дитяче програмування в Естонії , інкубатор в Харкові

Добрий день, шановні читачі. Новини Естонія запускає національну програму розвитку навичок програмування у дітей у віці від семи до 19 років; У Харкові почали будувати інкубатор для IT-фахівців; Керуючий партнер бізнес-інкубатора EastLabs Ольга Бєлькова балотується в депутати Верховної Ради ; В українську комп'ютерну гру Metro: Last Light вклали $ 5 млн jQuery відмовляється від GPL і залишається тільки під ліцензією MIT; Windows Store доступний для розробників з 120 країн , проте, на відміну від Уганди України в списку немає . Нові версії Компанія Microsoft випустила Microsoft Visual Studio 2012 , в тому числі Visual Studio Express 2012 for Windows Desktop і F # Tools for Visual Studio Express 2012 for Web ; як вибрати правильну версію Visual Studio 2012 Express Edition - описано тут Компанія Jetbrains випустила WebStorm 5.0 і PhpStorm 5.0 Після року розробки представлений реліз нової стабільної гілки PostgreSQL 9.2 .

Опубліковано: 14/09/12 @ 06:59
Розділ Інтерв'ю Програмування Читати далі...

Дайджест : інтерв'ю з Кардаковим і CEO Grammarly , дитяче програмування в Естонії , інкубатор в Харкові

Добрий день, шановні читачі. Новини Естонія запускає національну програму розвитку навичок програмування у дітей у віці від семи до 19 років; У Харкові почали будувати інкубатор для IT-фахівців; Керуючий партнер бізнес-інкубатора EastLabs Ольга Бєлькова балотується в депутати Верховної Ради ; В українську комп'ютерну гру Metro: Last Light вклали $ 5 млн jQuery відмовляється від GPL і залишається тільки під ліцензією MIT; Windows Store доступний для розробників з 120 країн , проте, на відміну від Уганди України в списку немає . Нові версії Компанія Microsoft випустила Microsoft Visual Studio 2012 , в тому числі Visual Studio Express 2012 for Windows Desktop і F # Tools for Visual Studio Express 2012 for Web ; як вибрати правильну версію Visual Studio 2012 Express Edition - описано тут Компанія Jetbrains випустила WebStorm 5.0 і PhpStorm 5.0 Після року розробки представлений реліз нової стабільної гілки PostgreSQL 9.2 .

Опубліковано: 14/09/12 @ 06:59
Розділ Інтерв'ю Програмування Читати далі...

Дайджест : університет в Bionic Hill , програмування з першого класу , хмарні ризики , трактор для програмістів , Erlang і Curiosity

Добрий день, шановні читачі. Літо непомітно пройшло повз, відпустки закінчилися, і прийшов час знову зануритися в справи і турботи. Втім, на українському IT-ринку в перший тиждень вересня новин було небагато. У продовження обговорень прийнятого закону про підтримку IT-галузі своє песимістичне (і кілька спірне, як на мене) думку висловив в колонці на Forbes.ua керуючий партнер AVentures Capital Андрій Колодюк. Також триває обговорення нев'янучої теми про те, чи не пора заводити трактор : про це розповідає в інтерв'ю AIN.ua розробник Сергій Ковальов (а його розповідь річної давності можна послухати в 22-му випуску подкасту« Відверто про IT-кар'єризм " ). Практика Pythonect - експериментальна мова програмування на базі Python; Element Finder - нове корисне розширення для популярного редактора Sublime Text 2; шпаргалка для пітоністов Parallel Studio XE 2013 і Cluster Studio XE 2013 від Intel; Speed ??Awareness Month - корисні поради щодо поліпшення швидкодії сайтів.

Опубліковано: 07/09/12 @ 04:40
Розділ Програмування Читати далі...

Дайджест: освіта майбутнього, Java-фреймворки, розробка під Kindle, расизм у Кремнієвій Долині

Добрий день, шановні читачі. Традиційно почнемо сьогоднішній Дайджест з новин, що стосуються вітчизняної ІТ-індустрії. У «Дзеркалі Тижня» опубліковано коротке інтерв'ю з віце-президентом Асоціації «IT Україна» Ігорем Лисицьким про результати змін у податковому законодавстві. На цьому новини української індустрії закінчуються. Втім, за прошедную тиждень в Дайджест надіслали два цікавих матеріалу про російських ІТ-компаніях і розробках. Перший - інтерв'ю з Дмитром Сисоєва , співзасновником компанії «ДубльГІС», відкрила нещодавно офіс в Києві . Останній матеріал даного розділу (і знову інтерв'ю) присвячений ОС «Колібрі», розробляється переважно силами програмістів з РФ. Новини Microsoft відмовилася від проекту Dryad і вирішила зосередитися на розробці імплементації Hadoop; id Software (точніше, її поточний власник компанія Zenimax) відкрила вихідний код Doom 3 в GCC додана підтримка STM .

Опубліковано: 25/11/11 @ 07:30
Розділ Програмування Читати далі...

Дівчата, які вибирають програмування

Останнім часом мені приходить багато листів від дівчат, які хочуть програмувати, вибирають спеціалізацію. . Листи мені пишуть, тому що я веду блог , присвячений програмуванню на С + +. Я - програміст, зараз займаюся розподіленими системами, працюю в компанії Майкрософт. До цього займалася розробкою ігор. Так от, питання в цих листах повторюються і картина складається дещо абсурдна. З одного боку, жінок у програмуванні дуже мало і є усталена думка, що з цим треба щось робити і дівчат і дівчаток-підлітків всіляко намагаються зацікавити програмуванням і інформаційними технологіями в цілому. Серед наших користувачів люди різних національностей, і чоловіки, і жінки, і взагалі дуже різні люди, тому нам теж потрібно таке ж розмаїття, це допоможе нам працювати з нашими такими різними клієнтами. Англійське слово «diversity», що позначає цей підхід, я чую дуже часто.

Опубліковано: 11/07/11 @ 06:47
Розділ Блоги Програмування Читати далі...