Как стать автором
Обновить
53
0
Иван Роденков @veter

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

Отправить сообщение

Как я за вечер написал быструю CMS для статических сайтов по правилам бизнес-логики в одном файлике

Время на прочтение 5 мин
Количество просмотров 13K

Не Wordpress-ом единым


Не Wordpress-ом единым

Рынок CMS длительное время оставался местом, где Wordpress, Joomla, Drupal — тройка абсолютных лидеров. Эти прекрасные времена уже постепенно проходят, хотя WP, сбавляя в динамике появления новых сайтов, все ещё сохраняет лидерство. Не мудрено: активное сообщество, огромное количество плагинов. Но, эта статья вовсе не будет посвящена “восходящим звёздам” рынка систем управления контентом (привет, решениям на базе Laravel). Скорее даже, объектом нашего внимания будет “черная материя”, которая находится несколько в стороне. А именно — барабанная дробь…
Читать дальше →
Всего голосов 41: ↑22 и ↓19 +3
Комментарии 43

Как делать гипер-казуальные игры, популярные во всём мире

Время на прочтение 9 мин
Количество просмотров 17K

Гипер-казуальные игры стали трендом на рынке мобильных игр. В 2019 году число активных пользователей в день в топовых гипер-казуалках составило 94 тысяч игроков. И  это самый высокий показатель среди других мобильных игр. В 2020 году гипер-казуальные игры, судя по всему, не теряют популярность: только в первом квартале число установок по всему миру выросло на 103%. Более того, игроки стали проводить в игре на 72% больше времени, чем раньше. 

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

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

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 6

Как построить диаграмму на Python

Время на прочтение 6 мин
Количество просмотров 21K

Каждый, кому хоть раз приходилось строить диаграммы в draw.io или Google Diagrams, помнит всю утомительность и медлительность этого процесса. Сегодня делимся с вами материалом, в котором шаг за шагом показывается, как можно строить красивые архитектурные диаграммы с помощью Python. Главное удобство — встроенные узлы для обозначения сервисов и языков программирования. Только код и никакой мыши.
Приятного чтения!
Всего голосов 37: ↑37 и ↓0 +37
Комментарии 11

Правила удалённой работы на все времена (восемь штук)

Время на прочтение 6 мин
Количество просмотров 15K

Google, Яндекс, а вслед за ними и другие компании изо всех сил стараются сделать офисы удобными и уютными, а процессы простыми и понятными. И дело не в том, что им некуда девать деньги, просто чтобы люди были эффективны, нужно продумать рабочее пространство и организовать всё так, чтобы сотрудники не уставали, могли легко сосредоточиться, меньше времени проводили на больничных и больше — в офисе. И если у IT-компаний получается делать классные рабочие места и настраивать процессы для тысяч людей сразу, получится и у вас — для себя лично. Сделать удаленную работу из дома комфортной не так уж и сложно, если учесть некоторые штуки, о которых нам рассказали опытные ребята: врачи, эйчары и удаленщики со стажем. Начнем с самых основ, а закончим «тонкой настройкой».

Читать далее
Всего голосов 29: ↑25 и ↓4 +21
Комментарии 3

Как я уехал в испанскую глубинку, но работаю на русском языке

Время на прочтение 8 мин
Количество просмотров 52K

Уехать в другую страну, работая удаленно? Легко! Но я сделал иначе. Я переехал из Краснодарского края в Валенсию (Испания), имея опыт только офисной работы. И лишь потом устроился удаленно, причем в российскую компанию.

Как и почему так получилось - под катом.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 42

[Личный опыт] Работа в Uber в Амстердаме: как устроена разработка, карьерный рост, подготовка к интервью

Время на прочтение 9 мин
Количество просмотров 22K

В нашем блоге мы уже не один раз рассказывали о переезде в Нидерланды (раз, два). Разработчики, которые оказались в Амстердаме в один голос говорят о том, что с точки зрения технологий и подходов к разработке среди местных ИТ-компаний в лучшую сторону выделяется Uber.

Сегодня нам удалось поговорить Алиной Коваленко, которая работает в компании в должности Software Engineer II. Алина поделится своим опытом переезда и даст несколько полезных советов.

Поехали!
Всего голосов 33: ↑26 и ↓7 +19
Комментарии 20

Как за два месяца пройти путь от начинающего питониста до сертифицированного TensorFlow-разработчика

Время на прочтение 11 мин
Количество просмотров 29K
Я всё ещё помню тот день, когда сдал выпускную работу в университет. Я тогда вздохнул с облегчением, так как это означало окончание бакалавриата. Но мной скоро овладела скука. Делать было нечего, мир был охвачен пандемией. Мне очень хотелось найти новое занятие, которое избавило бы меня от безделья.



В этом материале я хочу рассказать о том, как скука от самоизоляции помогла мне стать сертифицированным TensorFlow-разработчиком менее чем за два месяца. И это — несмотря на то, что на Python я раньше не программировал. Здесь я, кроме того, дам список ссылок на материалы, которые я использовал, осваивая новую для себя сферу знаний и готовясь к сертификации.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 11

Пишем движок полнотекстового поиска на Go

Время на прочтение 8 мин
Количество просмотров 18K
Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, сообщение электронной почты или любой структурированный текст.

Сегодня мы собираемся написать собственный движок FTS. К концу этой статьи он сможет выполнять поиск по миллионам документов менее чем за миллисекунду. Начнём с простых поисковых запросов, таких как «Выдать все документы со словом cat», а потом расширим движок для поддержки более сложных логических запросов.

Примечание: самым известным движком полнотекстового поиска является Lucene (а также Elasticsearch и Solr, построенные на его основе).
Читать дальше →
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 23

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

Время на прочтение 21 мин
Количество просмотров 34K


Многие научные открытия, когда они уже сделаны, кажутся очевидными. Настолько очевидными, что сложно себе представить, как это ученые могли быть настолько глупыми, чтобы когда-то считать иначе. Пожалуй, в экономической теории чаще других такое недоумение вызывает область, исследующая то, как люди принимают решения – поведенческая экономика. Я изучаю поведенческую экономику и отклонения от рационального поведения последние семь лет – началось всё с дипломного проекта, а в прошлом году исследования в этой области принесли мне кандидатскую степень по экономике. Когда я рассказываю интересующимся друзьям, что только в ХХ веке экономисты стали говорить, что человек, оказывается, не всегда рационален, да еще и не использует для совершения выбора всю возможную информацию, они начинают со скепсисом коситься на экономистов-классиков. Мол, серьезно, мистер Адам Смит? Ты думал, что, когда я молоко покупаю в Пятерочке, я матрицу решений строю, включая туда цены по всем розничным магазинам города?

Бывают ложные белые грибы, у амебы есть ложноножки, а такое отношение к экономистам я называю феноменом ложноглупых классиков. Кстати, частично он тоже объясняется когнитивных искажением, одним из тех, которые изучает современная поведенческая экономика: «мудростью задним числом» (hindsight bias). Однако в первую очередь он связан с той особенностью развития экономической науки, которая отличает ее от естественных наук вроде физики. Об этой особенности экономической теории и о том, как так получилось, что до ХХ века одной из ее самых прочных основ была предпосылка о рациональном и эгоистичном экономическом человеке, и почему в ХХ веке её вдруг решили пересмотреть, я и расскажу сегодня.
Читать дальше →
Всего голосов 70: ↑68 и ↓2 +66
Комментарии 65

Почему 97% программистов 1С мало платят и так будет всегда

Время на прочтение 7 мин
Количество просмотров 124K
Внимание: статья — про программистов 1С, соответственно — не про вас. Считайте, что про вомбатов, и для вомбатов (погуглите, это интересные животные). У них есть проблемы, схожие с вашими.

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

Еще 2 % — люди, регулярно ухаживающие за финансовой стороной своей работы. Им эта статья вряд ли будет интересна.

Ну а 97 % чуваков ведут себя так. Работают. Молчат про зарплату. Хотят, чтобы денег платили больше. Молчат. Работают. Надеются. Молчат. Работают. Не могут больше молчать. Увольняются.

Те, с кем я лично знаком, часто приходят поговорить – между пунктами «не могут больше молчать» и «увольняются». Спрашивают – ну что я не так делаю? Почему мне мало платят? А главное – почему не повышают? Ведь я хорошо работаю! Что мне делать?

Поначалу я думал, что людям и правда нужны советы, и искренне пытался помочь. Когда-то даже оформил эти советы в статьи с общим названием «Карьерные стероиды». И некоторые этими советами пользовались, потом писали о своих успехах. Угадайте, сколько таких людей было? Правильно, 2 %.
Читать дальше →
Всего голосов 93: ↑74 и ↓19 +55
Комментарии 381

Пишем простую игру на python

Время на прочтение 4 мин
Количество просмотров 160K

Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter, но если вы не знаете что это такое, советую почитать данную статью.




Первое, что нам нужно, это начальная структура, окошко, у меня оно будет выглядеть так:


from tkinter import *
import random as rdm


class Main(Frame):
    def __init__(self, root):
        super(Main, self).__init__(root)
        self.startUI()

    def startUI(self):
        pass


if __name__ == '__main__':
    root = Tk()
    root.geometry("500x500+200+200")
    root.title("Камень, ножницы, бумага")
    root.resizable(False, False)
    root["bg"] = "#FFF"
    app = Main(root)
    app.pack()
    root.mainloop()
Читать дальше →
Всего голосов 21: ↑14 и ↓7 +7
Комментарии 8

Комбинаторика в Python

Время на прочтение 4 мин
Количество просмотров 112K

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

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 12

Matlab vs. Julia vs. Python

Время на прочтение 9 мин
Количество просмотров 13K
Я использовал MATLAB более 25 лет. (А до этого я даже использовал MATRIXx, земля ему пухом.) Это не первый язык, на котором я научился программировать, но это тот язык, с которым я достиг математического совершеннолетия. Знание MATLAB было полезным для моей карьеры.

Тем не менее, невозможно игнорировать рост Python в научных вычислениях. MathWorks должен чувствовать то же самое: они не только добавили возможность вызывать Python напрямую из MATLAB, но и заимствовали некоторые его языковые функции, такие как более агрессивную передачу для компонентов бинарных операторов.

Наступил момент, когда я подверг сомнению мое постоянное использование MATLAB как в исследованиях, так и в преподавании. Тем не менее я столько вложил в материалы, что было трудно найти мотивацию, чтобы научиться чему-то новому.
Читать дальше →
Всего голосов 25: ↑17 и ↓8 +9
Комментарии 4

14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard)

Время на прочтение 7 мин
Количество просмотров 35K
Data Science для начинающих

1. Sentiment Analysis (Анализ настроений через текст)


image

Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R.

Sentiment Analysis — это анализ слов для определения настроений и мнений, которые могут быть положительными или отрицательными. Это тип классификации, при котором классы могут быть двоичными (положительными и отрицательными) или множественными (счастливыми, злыми, грустными, противными ...). Мы реализуем этот Data Science проект на языке R и будем использовать набор данных в пакете «janeaustenR». Мы будем использовать словари общего назначения, такие как AFINN, bing и loughran, выполнять внутреннее соединение, и в конце мы создадим облако слов, чтобы отобразить результат.

Язык: R
Набор данных/Пакет: janeaustenR
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 5
Вру, я Алина и я работаю UX/UI дизайнером. И моя, казалось бы, идеальная удаленная работа этой осенью довела меня до бессонницы. Я слышала о ней раньше, но не представляла, какой это ад. Да, выжившие трудоголики еще соревнуются, кто меньше поспал и выпил больше таблеток, а негативные эффекты депривации сна отрицают директора крупных компаний, которые выжимают сотрудников до последней капли. Я выжала себя сама, и так же самостоятельно мне пришлось искать причины бессонницы и выводить себя из этого чертова состояния.
история одной борьбы
Всего голосов 56: ↑32 и ↓24 +8
Комментарии 64

10 хитростей Python, о которых полезно знать

Время на прочтение 6 мин
Количество просмотров 33K
По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и о Dropbox. Сервисы этой компании тоже написаны на Python. В соответствии с исследованием Dice, знания в области Python весьма востребованы в наши дни, а индекс популярности языков программирования говорит о том, что Python — это сегодня самый популярный язык в мире. Если сравнить Python с другими языками, то окажется, что у него есть следующие сильные стороны:

  1. Совместимость с подавляющим большинством платформ и операционных систем.
  2. Наличие множества опенсорсных фреймворков и инструментов.
  3. Код, который легко читать и поддерживать.
  4. Надёжная стандартная библиотека.
  5. Стандартный механизм разработки через тестирование.


Читать дальше →
Всего голосов 58: ↑37 и ↓21 +16
Комментарии 22

Точки входа в Python

Время на прочтение 6 мин
Количество просмотров 29K
Многие думают, что точки входа это такие инструкции в setup.py, которые позволяют сделать пакет доступным для запуска из командной строки. Это, в целом, верно, но возможности точек входа не ограничиваются этим.

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



Осторожно: специфический юмор далее по тексту.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 6

О структуре параллельных вычислений или доводы против оператора «Go»

Время на прочтение 23 мин
Количество просмотров 10K


Каждый язык, поддерживающий параллельные (конкурентные, асинхронные) вычисления, нуждается в способе запуска кода параллельно. Вот примеры из разных API:


go myfunc();                                // Golang

pthread_create(&thread_id, NULL, &myfunc);  /* C with POSIX threads */

spawn(modulename, myfuncname, [])           % Erlang

threading.Thread(target=myfunc).start()     # Python with threads

asyncio.create_task(myfunc())               # Python with asyncio

Есть много вариантов нотации и терминологии, но одна семантика — запустить myfunc параллельно основной программе и продолжить родительский поток выполнения (англ. "Control Flow")

Читать дальше →
Всего голосов 30: ↑19 и ↓11 +8
Комментарии 50

Golang: на что рассчитывать специалисту по Go в море IT-специальностей?

Время на прочтение 5 мин
Количество просмотров 34K
image

В апреле на Хабре публиковалась статья «Зачем вам учить Go», в которой подробно освещались возможности языка и его преимущества.
 
Ну а сейчас — самое время поговорить о разработчиках Golang, пороге входа в эту отрасль и о том, чего может ожидать Go-разработчик от работодателей как в плане условий работы, так и размера заработной платы. Разобраться во всем этом «Моему кругу» поможет преподаватель курса Golang в GeekBrains Сергей Кручинин, за что ему огромное спасибо.
Читать дальше →
Всего голосов 28: ↑22 и ↓6 +16
Комментарии 14

Elixir как цель развития для python async

Время на прочтение 17 мин
Количество просмотров 11K
В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал из других языков, Гвидо ответил: «Все, что есть хорошего в Python, украдено из других языков».

Это действительно так. Python давно живет в контексте других языков программирования и впитывает концепции из окружения: asyncio позаимствован, благодаря Lisp появились лямбда-выражения, а Tornado скопировали с libevent. Но если у кого и стоит заимствовать идеи, так это у Erlang. Он создан 30 лет назад, и все концепции в Python, которые сейчас реализуются или только намечаются, в Erlang давно работают: многоядерность, сообщения как основа коммуникации, вызовы методов и интроспекция внутри живой системы на продакшн. Эти идеи в том или в ином виде находят своё проявление в системах вроде Seastar.io.


Если не брать во внимание Data Science, в котором Python сейчас вне конкуренции, то все остальное уже реализовано в Erlang: работа с сетью, обработка HTTP и веб-сокетов, работа с базами данных. Поэтому Python-разработчикам важно понимать, куда будет двигаться язык: по дороге, которую уже прошли 30 лет назад.

Чтобы разобраться в истории развития других языков и понять, куда двигается прогресс, мы пригласили на Moscow Python Conf++ Максима Лапшина (erlyvideo) — автора проекта Erlyvideo.ru.

Под катом текстовая версия этого доклада, а именно: в каком направлении вынуждена развиваться система, которая продолжает мигрировать от простого линейного кода к libevent и дальше, что общего и в чем отличия между Elixir и Python. Отдельное внимание уделим тому, как на разных языках программирования и платформах управлять сокетами, потоками исполнения и данными.
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 21

Информация

В рейтинге
Не участвует
Откуда
Беларусь
Дата рождения
Зарегистрирован
Активность