Pull to refresh
6
0
Сысолятин Артем @s493599

Программист

Send message

Я разработчик с 9 до 17 (и ты можешь стать таким)

Reading time4 min
Views64K
Этот конкретный твит от Сафьи Абдалла сподвиг меня на некоторые размышления:
Пожалуй, непопулярное мнение (и тут немного иронии от меня).

Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.

Можете оставить свой код в офисе — и это вполне нормально.
Такая позиция близка и мила моему сердцу, хотя я тоже понимаю иронию. Одна из вещей, которые я говорю потенциальным работодателям с тех пор как меня уволили за отказ оставаться программировать после работы — это то, что я не согласен на овертайм. По крайней мере, не на регулярной основе. Я могу иногда поучаствовать в авралах, когда критически важно срочно накатить конкретное изменение или исправить баг, но за исключением таких случаев я буду появляться, вкалывать — и пойду домой.
Читать дальше →
Total votes 121: ↑105 and ↓16+89
Comments619

Изучаем Docker, часть 1: основы

Reading time6 min
Views607K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

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

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →
Total votes 62: ↑52 and ↓10+42
Comments26

Поднимаем свою Speedtest-ноду

Reading time2 min
Views23K
Если вам необходимо измерить скорость соединения с интернетом, то вероятнее всего, вы откроете speedtest.net. Speedtest позволяет создавать свои измерительные ноды, которыми смогут пользоваться и другие пользователи, например, это будет очень актуально для интернет провайдеров (главное сервер Speedtest размещать после устройства, которое режет скорость абонентам).

Под катом подробный мануал по установке.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments6

Удалённое развертывание и отладка dotnet core приложений на *nix

Reading time4 min
Views8.8K

Введение


Решая довольно элементарную задачу и не осилив спартанских условий разработки под ESP8266 решил вернуться в уютный мир .Net в котором есть и автодополнение и отладка.


Итак, имеем на руках:


  • Компьютер с Windows 10 Pro Build 1803 (однако почти всё написанное ниже можно выполнить и на *nix с минимальными изменениями)
  • Orange Pi Zero с установленным Raspbian Server
  • Желание писать код на C# и отлаживать на устройстве просто нажав F5
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Почтовый сервер на Linux

Reading time11 min
Views313K
Как наладить работу почтового сервера, умеющего принимать и отправлять электронную корреспонденцию, бороться со спамом, взаимодействовать с клиентами? На самом деле, всё довольно просто.

Сегодня поговорим о почтовых серверах на Linux. Мы расскажем о том, как настроить сервер, о широко распространённом в интернете протоколе SMTP, а также о других протоколах, таких, как POP и IMAP. В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой.



Начнём с SMTP-сервера на Linux
Читать дальше →
Total votes 51: ↑39 and ↓12+27
Comments84

ExBB — PHP-форум на файлах

Reading time5 min
Views7.5K
ExBB (Exclusive Bulletin Board) — это движок форума, написанный на скриптовом языке программирования PHP. В отличие от большинства PHP-форумов, он не требует наличия на хостинге MySQL, поскольку хранит все данные в обычных текстовых файлах. Такой движок отлично подойдет для использования на бесплатных или недорогих платных хостингах, поддерживающих PHP, но не предоставляющих доступ к БД MySQL.

Логотип ExBB

Языком по умолчанию в данном форуме является русский. Имеются также украинская и английская локализации.

Немаловажно, что движок ExBB является полностью бесплатным. Он распространяется по лицензии GNU GPL.
Читать дальше →
Total votes 21: ↑8 and ↓13-5
Comments63

Про хаскелль для самых маленьких на примере задачи с codefights

Reading time7 min
Views15K

КДПВ (в представлении художника)
Если вы интересуетесь функциональным программированием или даже пытаетесь его потихоньку освоить то вам, наверняка, не раз приходилось слышать, что главным отличием от привычного вам императивного подхода является тот факт, что программы строятся от общего к частностям, а не наоборот. Т.е. сначала вы определяетесь с тем, что вы хотите получить, а потом уже — как этого достичь. Такая простая, казалось бы, мысль обычно не дает мозгу покоя и вызывает множественные фрустрации в попытках написать что-нибудь полезное. Если эта история про вас, или вам просто интересно немного научится хаскеллю и ФП продолжайте чтение и я покажу вам как все просто. Статья в стиле «некогда объяснять, пиши».

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments35

jl-sql: SQL-запросы по JSON-логами в командной строке

Reading time8 min
Views10K

Вступление никому не интересно, поэтому начну сразу с примеров использования


json-pipe-sql
% cat log.json

{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}

Выполняем запрос:


% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'

{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2}
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments23

Разделение текста на предложения с помощью Томита-парсера

Reading time4 min
Views19K
Чтобы подготовить русскоязычные тексты для дальнейшего анализа, мне однажды понадобилось разбить их на предложения. Разумеется, автоматически. Что приходит на ум в первую очередь, если нужно разделить текст на предложения? Разбить по точкам — угадал?

Если вы начнете это делать, то довольно быстро столкнетесь с тем, что точка — это не всегда разделитель предложений (“т.к.”, “т.д.”, “т.п.”, “пр.”, “S.T.A.L.K.E.R.”). Причем эти токены не всегда будут исключениями при разбивке текста на предложения. Например, “т.п.” может быть в середине предложения, а может и в конце.

Вопросительный и восклицательный знак тоже не всегда разделяют текст на предложения. Например, “Yahoo!”. Предложения могут разделять и другие знаки, например, двоеточие (когда следует список из отдельных утверждений).

Поэтому я долго не думая поискал готовый инструмент и остановился на Томита-парсере от Яндекса. О нем и расскажу.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments18

Верстка интернет-магазина: список товаров

Reading time5 min
Views183K


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


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

Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments58

Высшее образование и ИТ — текущие реалии и перспективы, мнения и опыт экспертов

Reading time21 min
Views88K
image

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

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

Мы пообщались с представителями российских компаний и попросили высказать свое отношение по поводу того, что происходит с российским ИТ-образованием сегодня, насколько оно соответствует рыночным реалиям. Мы также выяснили, кому они отдают предпочтения при приеме на работу и многое другое.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments78

Python: коллекции, часть 2/4: индексирование, срезы, сортировка

Reading time10 min
Views182K
Часть 1 Часть 2 Часть 3 Часть 4
imageДанная статья является продолжением моей статьи "Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация".

В данной статье мы продолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python.

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

ОГЛАВЛЕНИЕ:


  1. Индексирование
  2. Срезы
  3. Сортировка
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments34

Собственный слайдер изображений на jQuery

Reading time14 min
Views135K

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


Total votes 36: ↑24 and ↓12+12
Comments36

Структура проектной папки дизайнера

Reading time4 min
Views33K

image
Заказчику понадобилось изображение, созданное 3 года назад или закончился тираж визиток двухгодичной давности? Внести коррективы в макет сайта которому уже 5 лет или откатиться на версию, которая была отклонена на прошлой неделе? Для всех вышеперечисленных вопросов полезно хранить и быстро находить файлы. Делюсь наработками и структурой папок, которые облегчают задачу.

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments48

Самая нужная программа на свете

Reading time20 min
Views167K
image
Какими программами постоянно пользуются люди? Если подумать над этим вопросом, то окажется, что список этот не такой уж большой. К постоянно используемым программам можно отнести: саму операционную систему, файловый менеджер, текстовый редактор, браузер, мессенджер. Это именно тот базовый набор, которым пользуется на компьютере практически каждый человек. Требования к таким программам должны быть высокими: безотказная работа, быстрое выполнение всех функций, понятный и удобный интерфейс.

Можно сказать, что вышеперечисленный набор программ — это самые нужные программы, которыми пользуется человек в цифровую эпоху. Этот список покрывает все базовые потребности человека-пользователя. Или не все? Есть ли еще одна базовая потребность, которая не учтена в вышеприведенном списке самых необходимых программ? Является ли эта потребность самой важной из тех, что должен автоматизировать компьютер? Для меня такая потребность есть, но в списке самых используемых программ ей места не нашлось. Что же это за потребность?
Ранее компьютер считался устройством для проведения вычислений...
Total votes 115: ↑111 and ↓4+107
Comments303

Идеальный программист. Часть 1

Reading time9 min
Views91K
Статья-конспект по книге Роберта Мартина «Идеальный программист». После прочтения книги у меня поменялось отношение к программистической жизни. В книге рассматривается процесс написания кода, сам код, отношение к задачам, TDD и много других полезностей. Читать нужно разработчикам и менеджерам проектов. Частично применимо к дизайнерам.


Читать дальше →
Total votes 77: ↑61 and ↓16+45
Comments201

Пишем Rest API клиент на Qt5

Reading time4 min
Views30K

Введение


Последнее время я занимаюсь разработкой настольного Rest API клиента. Довольно большая часть работы состоит во взаимодействии с сервером. Для оптимизации обработки запросов был написан класс Requester, обладающий следующими особенностями:


  • возможность отправлять как https, так и http запросы
  • использование одной функции для всех типов запросов
  • возможность получить все данные по запросу с сервера, а не одну страницу(n записей)

Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments8

Slate – «серебряная пуля» для расположения окон на экранах OS X

Reading time3 min
Views16K
Привет, Хабр! Хочу поделиться очень интересным инструментом для «приручения» положения окон в OS X. Если кратко, то вот ссылка на репозиторий с замечательным приложением Slate. За подробностями, добро пожаловать под кат.

image
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments40

Docker: когда нужно размещать контейнер на виртуальной машине?

Reading time3 min
Views19K
image

Контейнеры приложений гарантируют высокую скорость работы и утилизацию ресурсов, но им не хватает той безопасности, которую обеспечивают виртуальные машины. Поэтому сегодня хочется поговорить об использовании Docker внутри ВМ, в частности – OpenSource проекта QEMU/KVM.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments16

FreePBX: первые шаги по граблям

Reading time6 min
Views127K
Начиная знакомство с FreePBX, даже опытные системные администраторы зачастую допускают одни и те же ошибки, которые способны серьезно испортить настроение и отбить всякое желание продолжать освоение этой системы.


Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Fullstack Developer, Server Administrator
Senior
C#
PostgreSQL
Nginx
Vue.js
HTML
CSS
JavaScript
JQuery