<!-- Facebook Pixel Code -->
<script async>
function isRunningOnMobile() {
// тут уже как решите определять - зависит от вас, можно оттолкнуться от UserAgent, можно от разрешения экрана
return ( ( window.innerWidth <= 800 ) && ( window.innerHeight <= 600 ) );
}
// а дальше просто не выполняйте код, если запущен не на мобильном
if (isRunningOnMobile()) {
!function(f,b,e,v,n,t,s)
.....
fbq('track', 'PageView');
}
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=233919567639809&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
package main
import (
"database/sql"
"log"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db1, err := sql.Open("mysql", `user1:password1@/dbname1`) // Сначала к одной БД подключение.
if err != nil {
log.Fatal(err)
}
db2, err := sql.Open("mysql", `user2:password2@/dbname2`) // Ниже к другой БД подключение.
if err != nil {
log.Fatal(err)
}
// настраиваете пулы как вам нужно
db1.SetMaxIdleConns(10)
db1.SetMaxOpenConns(100)
db2.SetMaxIdleConns(10)
db2.SetMaxOpenConns(100)
}
type Event struct {
EventID int `json:"eventId"`
Type string `json:"type"`
Payload struct {
MsgID string `json:"msgId"`
Chat struct {
ChatID string `json:"chatId"`
Type string `json:"type"`
Title string `json:"title"`
} `json:"chat"`
From struct {
UserID string `json:"userId"`
FirstName string `json:"firstName"`
LastName string `json:"lastName"`
} `json:"from"`
Timestamp int `json:"timestamp"`
Text string `json:"text"`
Parts []interface{} `json:"parts"`
} `json:"payload"`
}
type EventsList struct {
Events []Event `json:"events"`
}
BenchmarkStringBuilder-8 69822454 16.8 ns/op 0 B/op 0 allocs/op
BenchmarkStringConcatenation-8 48197130 25.2 ns/op 0 B/op 0 allocs/op
BenchmarkAppendBytes-8 36008972 33.7 ns/op 48 B/op 1 allocs/op
package benchtest
import (
"bytes"
"testing"
)
func BenchmarkStringBuilder(b *testing.B) {
message := []byte("test message")
for i := 0; i < b.N; i++ {
messageReturn := bytes.NewBufferString("Your message is: ")
messageReturn.Write(message)
_ = messageReturn.Bytes()
}
}
func BenchmarkStringConcatenation(b *testing.B) {
message := []byte("test message")
for i := 0; i < b.N; i++ {
messageReturn := "Your message is: " + string(message)
_ = []byte(messageReturn)
}
}
func BenchmarkAppendBytes(b *testing.B) {
message := []byte("test message")
for i := 0; i < b.N; i++ {
_ = append([]byte("Your message is: "), message...)
}
}
Там суть в том, что статические файлы ищет в указанной вами папке, а все запросы, что не найдёт - отправляет на 127.0.0.1:8080