Признак высокого интеллекта №1 – по мнению Джеффа Безоса

Именно эту особенность ищет в людях основатель компании Amazon, когда пытается понять, действительно ли его собеседник умен. Основатель Amazon Джефф Безос сидит на вершине одной из самых успешных компаний нашего времени, не говоря уже о личном состоянии в размере около $150 млрд. Я думаю, мы все можем согласиться, что по любому значимому определению этот парень довольно умен. Также очевидно, что у него есть талант к окружению себя другими умными людьми, которые могут помочь сделать его Read more

Сравнение оконных функций и CTE в MySQL 8 и MariaDB

Каждый программист базы данных MySQL должен изучить и применить недавно добавленные оконные функции MariaDB и MySQL и выражения общих таблиц (CTE) в своей повседневной работе. И CTE, и оконные функции позволяют легко решать многие проблемы запросов, которые в предыдущих выпусках было сложно, а иногда невозможно преодолеть. Освоение этих функций открывает двери для поиска решений, которые более надежны, выполняются быстрее и их легче обслуживать с течением времени, чем предыдущие решения, использующие более старые методы. Сегодня мы Read more

За что я ненавижу Eloquent ORM

Я обожаю тупой код. Тупой в том смысле, что даже через 10 лет, если заказчик попросит тебя внести изменения в него, ты сможешь сделать это не вникая во всю логику, даже будучи после пятничного корпоратива, ничего в старом коде не сломав. И тупой в том смысле, что не нужно прикладывать никаких когнитивных усилий, чтобы его понять. Но есть в Laravel Eloquent ORM одно архитектурное решение, которое заставляет меня плакать. Интересно? Заходите под кат. Умные люди Read more

The Magic of Laravel Macros

Ever wanted a piece of functionality in a part of Laravel that doesn’t exist? Let me introduce you to Laravel macros. Macros allow you to add on custom functionality to internal Laravel components. Let’s start with a simple example on the Request facade. Request::macro('introduce', function ($name) { echo 'Hello ' . $name . '!'; }); Request::introduce('Caleb'); // outputs "Hello Caleb!" A more practical example of a Request macro would be detecting the current TLD (Top Read more

Assignment to entry in nil map

Why does this program panic? var m map[string]float64 m["pi"] = 3.1416 panic: assignment to entry in nil map Answer You have to initialize the map using the make function (or a map literal) before you can add any elements: m := make(map[string]float64) m["pi"] = 3.1416

Convert uint64 to a String

We’ve already got a post on converting an integer to a string but the process of converting a variable of type uint64 to a string is a little different. For an int we can use Itoa(), but for an unsigned int 64 we can still use strconv but we can use the FormatUint function instead. package main import ( "fmt" "strconv" ) func main() { // Create our number var myNumber uint64 myNumber = 18446744073709551615 Read more

Concurrency, Goroutines and GOMAXPROCS

When new people join the Go-Miami group they always write that they want to learn more about Go’s concurrency model. Concurrency seems to be the big buzz word around the language. It was for me when I first started hearing about Go. It was Rob Pike’s Go Concurrency Patterns video that finally convinced me I needed to learn this language.To understand how Go makes writing concurrent programs easier and less prone to errors, we first Read more

Constructors in Golang

There are no default constructors in Go, but you can declare methods for any type. You could make it a habit to declare a method called «Init». Not sure if how this relates to best practices, but it helps keep names short without loosing clarity. package main import "fmt" type Employee struct { Name string Age int } func (e *Employee) Init(name string, age int) { e.Name = name e.Age = age } func info(name Read more

Повторная отправка HTTP-запросов в Guzzle с помощью RetryMiddleware

Если приложение обращается к каким-либо сторонним сервисам через API, часто встречается ситуация, что сторонний сервис временно недоступен, или перегружен. Т.к. от результатов запроса может зависеть дальнейшее выполнение скрипта, требуется предусмотреть такую ситуацию, и временный отказ внешнего сервиса не должен вызывать серьезных сбоев в работе приложения. Одним из решений будет повторная отправка http-запроса через заданный интервал времени, если запрос не был выполнен. Это можно реализовывать вручную при каждом обращении к стороннему сервису, но гораздо удобнее иметь Read more

How to determine the size of MySQL databases and tables

This article demonstrates how to determine MySQL database size and MySQL table size. You can do this by using the phpMyAdmin web interface or by using the command line. USING THE COMMAND LINE You can use the mysql command-line program to determine the sizes of MySQL databases and tables. To do this, follow these steps: Log in to your account using SSH. At the command line, type the following command, replacing username with your A2 Hosting account username: mysql -u Read more


Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть