python |
Pythonタグが付けられた新着投稿 - Qiita |
[Python]キーを入力するたびに音を鳴らすやつ(初投稿) |
https://qiita.com/st17086ts/items/c0f64f2327cdeeb8fcba
|
簡単ですので是非作ってみてくださいうわさのキーボード環境OSWinpython使用するモジュールpygamekeyboard音声出力してくれるやつとキー入力を監視してくれる便利なモジュールです。 |
2022-04-04 01:31:21 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
一般化加法モデルを用いた回帰分析④:Neural Additive Models |
https://qiita.com/tabintone/items/1469a01a743eb9370c8e
|
NAMに交互作用を追加してみるNAMは個々の特徴量の効果主効果の和で目的変数の値を予測するモデルですが、ここに交互作用を追加するとさらに予測精度が向上しそうな気がします。 |
2022-04-04 01:28:18 |
海外TECH |
MakeUseOf |
6 Keywords Research Tools to Expand Your Job Search |
https://www.makeuseof.com/keywords-research-tools-job-search/
|
keyword |
2022-04-03 16:45:13 |
海外TECH |
MakeUseOf |
How to Choose the Right Calendar App to Increase Productivity |
https://www.makeuseof.com/how-to-choose-right-calendar-app/
|
management |
2022-04-03 16:30:13 |
海外TECH |
MakeUseOf |
How to Use an Android Tablet as a Second Screen in Windows 11 |
https://www.makeuseof.com/windows-11-android-tablet-second-screen/
|
android |
2022-04-03 16:15:14 |
海外TECH |
MakeUseOf |
How to Clear the Cache on Your Xbox One |
https://www.makeuseof.com/how-to-clear-cache-xbox-one/
|
system |
2022-04-03 16:15:13 |
海外TECH |
DEV Community |
How we built a student project platform using Graphql, React, Golang, Ory Kratos and Kubernetes, part 3: Authentication |
https://dev.to/peteole/how-we-built-a-student-project-platform-using-graphql-react-golang-ory-kratos-and-kubernetes-part-3-authentication-2603
|
How we built a student project platform using Graphql React Golang Ory Kratos and Kubernetes part AuthenticationIn this series we are exploring the steps we took to build a student project platform where students can share their sideprojects and explore what their peers are doing After looking at the architecture of our GraphQL backend and how we consume it in a typesafe way we will take a deeper dive into authentication High level architectureWe have three software components that are involved in the authentication process The React UI The user enters their password here and wants to see their protected dataThe GraphQL API The API wants to verify that requests that need authentication really come from the user the request claims to come from Located in our kubernetes clusterOry Kratos Kratos manages user login credentials Located in our kubernetes cluster too Since I have been confused by it in the beginning I created an image of all the messages sent in a typical login FlowsOry Kratos often works with so called flows A flow is a process that my consist of several steps such as account recovery or login with MFA in the future For login with username password this may seem like an overkill since there is only a singe request send credentials in exchange for session cookie but I expect the flow pattern is used here to allow for MFA logins in the future So the login is as follows Request a login flowKratos returns login flow IDSend login to kratos referencing the flow IDKratos returns session cookieRequest protected field from GQL api attaching session cookieGQL API asks kratos to verify session cookieKratos returns user ID belonging to session cookieGQL API returns protected field Redirects Account recoverySometimes Kratos and the user interface need another concept to interact Let s say you forgot your password and requested a recovery link via mail The problem kratos developers needed to solve here is to send some token from the recovery link back to kratos to verify the email and at the same time associate it with a session of the UI in a web browser so that the user can reset their password in the UI and all with minimal knowledge of the specific app architecture They solved this by hosting kratos on the same domain as the app itself and using redirects For instance our UI is hosted under whereas kratos is hosted under The messages exchanged are as follows User clicks recovery link in the format token QiGjssJcvBHcUdEtyXvQriOSaR Note that this will result in a GET request by the browser that will be handled by kratos totally independent from the UI Kratos verifies the query parameters and responds with a redirect to a preconfigured URL such as A session cookie is set as well so that future requests by the user can be authenticatedAfter the redirect the web application UI takes over For instance the user can set a new password on the profile site Deployment and secret managementLet s first go through the deployment of ory kratos itself which we do in kubernetes with helm and helmfile Kratos has a helm chart that allows to install kratos in a cluster more or less conveniently The interesting thing is how to configure kratos set redirect links email credentials etc We to it by providing values to the helm chart in our helmfile All this is managed in our deployment repo ├ーcert yaml├ーdatabase│├ーmigrate sh ├ーdatabase yml├ーdeployment yaml├ーhelmfile yaml├ーkratos yml└ーuserSchema json The entrypoint for the kratos deployment is helmfile yaml repositories name ory url releases name kratos chart ory kratos values kratos ymlNote how the configuration itself is loaded from another file kratos yml kratos config courier smtp from address huddle bot zohomail eu from name Huddle identity default schema url base ewogICAgIiRpZCIICJodHRwczovLdpdGxhYiscnouZGUvcHJvamVjdGhYizYhlbWEtdXNlcircmFbMuanNvbiIsCiAgICAiJHNjaGVtYSIICJodHRwOivanNvbizYhlbWEubJnLRyYWZLTALNjaGVtYSMiLAogICAgInRpdGxlIjogIlBlcnNvbiIsCiAgICAidHlwZSIICJvYmplYQiLAogICAgInBybBlcnRpZXMiOiBCiAgICAgICAgInRyYWlcyIIHsKICAgICAgICAgICAgInRcGUiOiAibJqZWNIiwKICAgICAgICAgICAgInBybBlcnRpZXMiOiBCiAgICAgICAgICAgICAgICAiZWhaWwiOiBCiAgICAgICAgICAgICAgICAgICAgInRcGUiOiAicRyaWnIiwKICAgICAgICAgICAgICAgICAgICAiZmybWFIjogImVtYWlsIiwKICAgICAgICAgICAgICAgICAgICAibJLnNoLtyYXRvcyIIHsKICAgICAgICAgICAgICAgICAgICAgICAgImNyZWRlbnRpYWxzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcNbJkIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIjogdHJZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBLAogICAgICAgICAgICAgICAgICAgICAgICAidmVyaWZpYFaWuIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpYSIICJlbWFpbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInJlYZXJIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpYSIICJlbWFpbCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHKICAgICAgICAgICAgICAgIHsCiAgICAgICAgICAgICAgICAidXNlcmhbWUiOiBCiAgICAgICAgICAgICAgICAgICAgInRcGUiOiAicRyaWnIiwKICAgICAgICAgICAgICAgICAgICAibJLnNoLtyYXRvcyIIHsKICAgICAgICAgICAgICAgICAgICAgICAgImNyZWRlbnRpYWxzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcNbJkIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIjogdHJZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBCiAgICAgICAgfQogICAgfQp schemas selfservice default browser return url methods link enabled true flows settings ui url verification ui url enabled true recovery enabled true ui url serve public base url cors enabled true allowed origins http localhost autoMigrate truesecret switch to false to prevent creating the secret enabled false Provide custom name of existing secret or custom name of secret to be created nameOverride secret kratosThis config consists of two parts The kratos config subfields follow the schema for configuring kratos independent from kubernetes as described here As you can see we set various fields such as the email address to use for account recovery the url to redirect to after recovery and the identity schema to use for storing account data in base encoding The secret subfields are used for a kubernetes specific way to provide credentials since we don t want to save them in plain text We state that kratos should use a secret called secret kratos to get credentials rather than try to take them from the plain text config This allows us to create the secret in another encrypted repo meaning only encrypted versions of the secrets are tracked with git The secret kratos secret has to be in the following format kind Secretmetadata name secret kratostype OpaqueapiVersion vstringData dsn postgres kratos cmoaincsieadfo psql postgresql kratos secretsCipher nasdlifuhlaiwd secretsCookie lnaslicWERUOZSdicbl secretsDefault ANSIULccbASKNXKAJ smtpConnectionURI smtps huddle bot zohomail eu qnIAsdHmsuU smtp zoho eu of course I replaced the credentials by hitting the keyboard as wild Now running helmfile sync will deploy kratos to our cluster Finally we need to publicly expose kratos using an ingress controller in kubernetes apiVersion networking ks io vkind Ingressmetadata name kratos ingress annotations kubernetes io ingress class nginx nginx ingress kubernetes io rewrite target spec tls hosts huddle ridilla eu secretName huddle ridilla eu prod tls hosts huddle hsg fs tum de secretName huddle hsg fs tum de prod tls rules host huddle hsg fs tum de http paths path ory kratos pathType Prefix backend service name kratos public port number However two things feel a bit hacky about the deployment Even though we correctly set the base URL in the kratos config we need to do regex magic to rewrite the path as if kratos was hosted under the root path I was unable to find a way to put the kratos config in its own file which would for instance enable intellisense in VSCode and include that file as a subfield of the kratos config field of the helm configRunning helmfile sync after altering some kratos preferences does NOT deploy these changes to the cluster You need to delete the kratos deployment and then run the sync comment Do you have any tips on how to solve this The login UINow let s jump right into the code We handle login requests with a popup component that looks like this The component receives an observable of so called login request as a property By default it s hidden Whenever a login requests drops in since a user clicked an item that needs authorization the component pops up and asks the user to fill in their credentials register or reset their password When the credentials are entered the corresponding flow is started using the kratos js sdk import React useEffect useState from react import type Identity UiContainer ValphaApi from ory kratos client let api ValphaApi undefinedexport const getAPI async gt allow for code splitting since the kratos sdk is large if api const ValphaApi Configuration await import ory kratos client const kratosConfig new Configuration basePath clientConfig kratosUrl baseOptions withCredentials true api new ValphaApi kratosConfig return api import AuthenticationManagerPopup css import AuthenticationRequest from authenticationObserbale import Observable useApolloClient from apollo client import Button from shared Button import Input from shared Input import clientConfig from config import Link from react router dom import useGetMeWithoutLoginPromptQuery from schemas export const AuthenticationManagerPopup React FC lt a Observable lt AuthenticationRequest gt gt props gt const meData useGetMeWithoutLoginPromptQuery This should actually never be needed when the popup is shown const client useApolloClient const authRequests setAuthRequests useState lt AuthenticationRequest gt const email setEmail useState const password setPassword useState useEffect gt listen for authentication requests on component creation const subscription props a subscribe req gt setAuthRequests authRequests req and clean up when the component is unmounted return gt subscription unsubscribe if authRequests length return null return lt div id authentication manager popup gt lt div gt lt h gt Authentication Panel lt h gt meData data meIfLoggedIn amp amp lt p gt Hello meData data meIfLoggedIn username old friend lt p gt lt br gt lt Input onChange setEmail description email autoComplete email gt lt br gt lt Input onChange setPassword description Password autoComplete current password type password gt lt br gt lt Button filled disabledMessage email length password length Please enter your email address and desired password above to register undefined onClick async gt try console log registering user const api await getAPI const resp await api initializeSelfServiceRegistrationFlowForBrowsers console log resp data if resp return const registrationFlowId resp data id const csrf token resp data ui nodes attributes as value string value const registrationResponse await api submitSelfServiceRegistrationFlow registrationFlowId method password password password traits email email csrf token csrf token console log registrationResponse data resp data ui api initializeSelfServiceVerificationFlowForBrowsers then resp gt console log resp data const csrf token resp data ui nodes attributes as value string value api submitSelfServiceVerificationFlow resp data id undefined method link email email csrf token then resp gt console log resp data client refetchQueries include active catch e alertUnknownError e gt register lt Button gt lt p gt or lt p gt lt br gt lt Button filled disabledMessage email length password length Please enter your email address and password above to log in undefined onClick async gt try console log login const api await getAPI const resp await api initializeSelfServiceLoginFlowForBrowsers console log resp data if resp return const csrf token resp data ui nodes attributes as value string value const loginResponse await api submitSelfServiceLoginFlow resp data id undefined method password password password password identifier email csrf token csrf token console log loginResponse data authRequests forEach r gt r onFinished setAuthRequests client refetchQueries include all catch error alertUnknownError error gt login lt Button gt lt p gt By registering you consent to the lt Link target blank to about gt data we collect and our terms of use lt Link gt lt p gt lt Button disabledMessage email length Please enter your email address above to recover your account undefined onClick async gt try console log trying to recover account const api await getAPI const resp await api initializeSelfServiceRecoveryFlowForBrowsers console log resp data if resp return const loginFlowId resp data id const csrf token resp data ui nodes attributes as value string value const recoveryResponse await api submitSelfServiceRecoveryFlow resp data id undefined method link email csrf token console log recoveryResponse data authRequests forEach r gt r onFinished setAuthRequests catch error alertUnknownError error gt reset password lt Button gt lt br gt lt Button onClick gt authRequests forEach r gt r onFailed User closed window setAuthRequests gt close lt Button gt lt div gt lt div gt export const logout async gt console log logout const api await getAPI const resp await api createSelfServiceLogoutFlowUrlForBrowsers console log resp data if resp return const logoutResponse await api submitSelfServiceLogoutFlow resp data logout token console log logoutResponse data export const LogoutButton React FC props gt return lt Button onClick logout gt Logout lt Button gt Is there a nicer way to handle the CSRF token This feels a bit hacky Right now the flows can be finished without any further human interventions since they consist only of one step but this may change with FA The missing part that I find really cool is how the popup is triggered We do this by a clever configuration of the Apollo client with Links import HttpLink ApolloClient InMemoryCache ApolloLink Observable from apollo client import offsetLimitPagination from apollo client utilities import PushStream from zen push import AuthenticationRequest from authentication authenticationObserbale import clientConfig from config import StrictTypedTypePolicies from schemas const endpointLink new HttpLink uri clientConfig gqlUrl credentials include Subscribe to this to display the authentication popup when needing authenticationexport const authenticationStream new PushStream lt AuthenticationRequest gt const LoginLink new ApolloLink operation forward gt const observable endpointLink request operation let waitingForLogin false return new Observable observer gt subscribe to http link and handle authentication errors seperately const subs observable subscribe next data gt if data errors message includes authenticate waitingForLogin true Ask for login authenticationStream next onFailed gt observer next data waitingForLogin false onFinished gt retry fetching data after authentication subs unsubscribe endpointLink request operation subscribe next data gt observer next data complete gt observer complete error err gt observer error err else forward data observer next data error error gt observer error error complete gt if waitingForLogin observer complete const typePolicies StrictTypedTypePolicies Project keyFields id merge existing incoming return existing incoming Query fields searchProjects offsetLimitPagination options searchString export const client new ApolloClient uri cache new InMemoryCache typePolicies link LoginLink We hook into the http requests sent to our API and whenever an error contains the word authentication we ask our user to log in by pushing in the authenticationStream which is passed to our instance of the AuthenticationPopup component The nice thing is that in the rest of the UI we have no other point where we need to care about authentication Just make your GraphQL request and authentication will be handled by the client Verifying users in the API backendNow imagine a user wants to access a protected field of our api see here for a post about our API architecture and the backend needs to decide somehow who the requester is in order to know if they have the permission to access the field On a high level the backend must extract the session cookie from the request and ask kratos who that cookie belongs to This is done by injecting some code at the root of our server with the kratos go sdk The go specific part of the sdk is not documented at all as far as I know so we had to fiddle around with it until it worked For every request we attach the user ID of the requester to the context But to find out the user ID we extract the session cookie from the request and check it against kratos with the ToSession function Note that we only set the cookie for that request and not some header package mainimport context fmt log net http os github com designs gqlgen graphql github com designs gqlgen graphql handler github com designs gqlgen graphql playground kc github com ory kratos client go github com rs cors gitlab lrz de projecthub gql api auth gitlab lrz de projecthub gql api graph generated gitlab lrz de projecthub gql api graph resolvers const port func main kratosConfig kc NewConfiguration kratosConfig Host kratos public kratosConfig Scheme http api kc NewAPIClient kratosConfig resolver resolvers NewResolver os ExpandEnv os Getenv DB CONNECTION STRING config generated Config Resolvers resolver config Directives IsLoggedIn func ctx context Context obj interface next graphql Resolver res interface err error if loginErr auth IdentityFromContext ctx loginErr nil return next ctx else return nil fmt Errorf authenticate please srv handler NewDefaultServer generated NewExecutableSchema config http Handle api playground Handler GraphQL playground api query corsHandler cors New cors Options AllowedOrigins string http localhost AllowCredentials true OptionsPassthrough true AllowedHeaders string Handler srv http HandleFunc api query func rw http ResponseWriter r http Request cookie err r Cookie ory kratos session if err nil corsHandler ServeHTTP rw r return toSessionReq api ValphaApi ToSession context Background Cookie cookie String session err toSessionReq Execute if err nil corsHandler ServeHTTP rw r return newContext auth NewIdentityContext r Context amp session Identity newRequest r WithContext newContext corsHandler ServeHTTP rw newRequest log Printf connect to http localhost s for GraphQL playground port log Fatal http ListenAndServe port nil We create a GraphQL directive to annotate that a user must be logged in to access a field here too Like this we can annotate a field with isLoggedIn in our schema and if the user is not an error authenticate please will be returned asking the user to log in in the UI as described above We wrapped the code to write or read the identity to from the context in the auth package package authimport context fmt kc github com ory kratos client go type Identity struct kc Identity traits map string interface type customKey intvar identityKey customKeyfunc NewIdentityContext ctx context Context identity kc Identity context Context return context WithValue ctx identityKey identity func IdentityFromContext ctx context Context Identity error identity ok ctx Value identityKey kc Identity if ok traits ok identity Traits map string interface if ok return amp Identity Identity identity traits traits nil return nil fmt Errorf no identity found in context func i Identity GetTrait key string string bool val ok i traits key string return val ok The traits property of the sdk s identity type is untyped since it depends on the identity schema so in our own identity type we wrapped it in a map with a custom getter for string fields In a resolver we can access the identity like this func r mutationResolver SetMyDescription ctx context Context description string bool error me err auth IdentityFromContext ctx if err nil return false err err r queries SetDescription context Background sqlc SetDescriptionParams Description description ID uuid MustParse me Id return err nil err Pretty elegant right I hope to have given a nice introduction to Ory Kratos Please feel free to comment on what we could do more elegantly Also I m interested in your solutions for secret management in Kubernetes |
2022-04-03 16:36:31 |
海外TECH |
DEV Community |
How To Solve the issue of WebView not redirecting to payment gateway or showing white screen |
https://dev.to/solomonchigozie/how-to-solve-the-issue-of-webview-not-redirecting-to-payment-gateway-or-showing-white-screen-e88
|
How To Solve the issue of WebView not redirecting to payment gateway or showing white screenIf you are having a blank page when redirecting to another url within your WebView Android application or when redirecting to a payment gateway this is how to resolve it In my case my webview had a layout height wrap content and this height is fine because of positioning inside relative layout but when targeting sdk webview was reporting height to the page resulting all its elements collapse to height as well All I did was to change layout height of the webview to match parent and I had everything resolved i hope this helps |
2022-04-03 16:32:28 |
海外TECH |
DEV Community |
Hello |
https://dev.to/khayati/hello-i2p
|
hello |
2022-04-03 16:30:02 |
海外TECH |
DEV Community |
If you are starting as developer, read this. |
https://dev.to/jssantana/if-you-are-starting-as-developer-read-this-549n
|
If you are starting as developer read this Before I start I want to welcome you studant or junior dev that has started in this wondeful area that for sure will change your life I know how you re feeling right now I was there when I start too Maybe you gave up so many times and keeps returning because you know you are capable to make it and yes YOU ARE Maybe you feel stressed anxious maybe you had many bad times thinking that your re not enough and this is not for you but continue reading this and I ll tell you the secrets that I wish someone could have told me when I was starting Save this post to read anytime that you re feeling like loosing your way You do not need to be a genius nerd young or man to work with tech If you love technology if you like to solve problems and have persistence you have everything you need Do not waste your time trying to learn or memorize everything of a language it will make you anxious and will make you feel like a looser because you ll not make it Focus on learn about how internet and mobile apps works database types requests and responses api concepts algorithm basis like variables functions and statements Do not waste your time watching hours and hours of courses instead make a basic algorithm course and chose any language to start do not focus on it download a code editor like VScode take a coffee and DO CODE Create something easy make some loops calculate your BMI create a simple calculator try to solve a simple problem Each time you see your code running and doing what you told him to do you ll feel great and it will give you the fuel you need to continue FAIL IS THE SECRET Yes you need to fail and you ll By failing you ll search for the why and you ll find the because and doing this you ll be teaching your brain to be a problem solver This is what we programmers engineers developers are Problem Solvers Have patience Do not try to learn everything do everything know about everything I know that the some jobs is asking for an entire dev team to a Junior role but listen to me they do not know what they need Many recruiters do a google search take the most actual tech skills languages and do a copy paste on the job description So if you already have the concepts have small projects on github that you re proud of don t be afraid Make a good CV apply for the starter roles talk about what you have done show that you are a good learner and start to put your name on this world as a developer But I do not know so much things I ll not get a job or I ll be fired soon as they see it Let me tell you something of what you ll learn will be on your job you ll be faced with tasks that will challenge you so you ll search for solution you ll read the docs you ll have help from seniors Stackoverflow will save you many times and at the end you ll find yourself as an experienced developer working with the most cool projects and companies and the most important Living Your Dreams Do not give up Your future is the result of what you learned yesterday and what you re doing today |
2022-04-03 16:29:57 |
海外TECH |
DEV Community |
Implementando grandes dependências no AWS Lambda através do AWS Layer |
https://dev.to/xxdannilinxx/implementando-grandes-dependencias-no-aws-lambda-atraves-do-aws-layer-19k
|
Implementando grandes dependências no AWS Lambda através do AWS LayerHoje irei falar um pouco desse serviço da AWS pouco utilizado pois eu precisava implementar em um lambda algumas libs que somavam mais de MB juntas e obviamente não conseguia fazer o deploy devido a limitação de MB da AWS e tive que pesquisar bastante para solucionar o impasse Então descobri esse serviço que vocêpode provisionar as dependências em layers camadas e especificar em qual lambda quer usar podendo ser utilizado por vários lambdas simultaneamente O uso de camadas reduz o tamanho dos arquivos de implantação carregados e agiliza a implantação do seu código Imagine que vocêprecise desenvolver um lambda para declarar imposto de rendas e nesse lambda precisa conter três dependência do node express sequelize e mysql No meu exemplo utilizo node mas o AWS Layer funciona em todas as linguagens em que a AWS dão suporte continuando nosso exemplo vamos supor que o express tem MB sequelize MB e mysql MB deszipados após o build da node modules logo o lambda não iráfazer deploy pela limitação de MB Para resolver esse problema utiliza se o AWS Layer a solução seria criar um layer pro express um layer pro sequelize e um layer pro mysql separadamente como se fosse uma dependência do npm Nas configurações do lambda vocêdeclara o layer como dependência como disse anteriormente podendo ser utilizado por diversos lambdas lembrando que cada layer também tem a limitação de MB e pode ser versionado Esses casos de pacotes grandes são bem raros mas quando precisei essa foi a solução A AWS não cobra pelos layers somente écobrado o valor dos lambdas por execução Vocêpode criar layers usando o console do Lambda a API do Lambda o AWS CloudFormation ou o AWS Serverless Application Model AWS SAM Para obter mais informações sobre como criar os layers consulte a documentação da AWS ReferênciasLayer AWS Docs |
2022-04-03 16:27:06 |
海外TECH |
DEV Community |
How HTTPS works? |
https://dev.to/codewithkarthik/how-https-works-2n1f
|
How HTTPS works We saw what is HTTP in another post So now we will seehow HTTPS works What is HTTPS HTTPS means Hyper Text Transfer Protocol Secure Why do we need HTTPS To transfer data to a server securely Let s say you are sending some money to Alice You are entering Alice s account number and amount in the bank website s form and clicking submit button But what if someone who is connected to your network intercepts your request and changes Alice s account number to their account number Well you will lose money if the bank s website does not have HTTPS protocol This type of attack is called a middle man attack In order to prevent this type of attack we should encrypt our data and send it to the server The server will then decrypt data and then use it This encryption decryption and protection integrity of your data is handled by HTTPS How does HTTPS protect your data HTTPS uses Transport Layer Security TLS protocol to send data securely to the server Factoid Transport Layer Security is the successor protocol to SSL Secure Sockets Layer SSL is now obsolete and TLS is the new name for SSL protocol Almost all websites that useHTTPS uses TLS but everyone knows says it is SSL Initially the browser sends a handshake message to the server which contains data like the TLS version the browser supports which cryptographic algorithm and a secret message called client random Upon receiving the handshake server will send back an acknowledgment along with a digital certificate and random secret called server random This digital certificate contains a public key which can be used to encrypt the messages sent to the server Once the client receives the digital certificate containing the public key it will then send a secret key premaster secret which is encrypted using the public key from digital certificate Then server uses its private key to decrypt the message and will retrieve the secret By using this client random server random and premaster secret both server and client can create a secret called master secret With this Handshake is complete Now we have a secure secret key Now the form data which is sent to the server is encrypted using the master key This master key is only known to the browser and the server So middle man cannot decrypt your data without the secret |
2022-04-03 16:26:24 |
海外TECH |
DEV Community |
Why I HAD To Scrape The Web For Some Data |
https://dev.to/danielbellmas/why-i-had-to-scrape-the-web-for-some-data-833
|
Why I HAD To Scrape The Web For Some DataShow me the conclusions IDCIt all started on a cold night JK It all started when I decided that I want to make my own project so that I will check if developing websites is something that can interest me But I didn t want to make a todo or a movie site I wanted to do it about something that I can connect with I thought if I ll feel connected to the topic of the project it will be a good foundation for the motivation I ll need to harness for this mission And I was right insert self pat on the back emoji here So the first thing that popped in my head was PLANTS Why cause I ve always liked growing them Ok everything was going according to plan I decided the project will be an Ecommerce store for plants The name of the store is grow yes I thought about it myself thank you The only thing that was missing was the data I thought No problem I m sure there are a tone of APIs waiting for me in the world wide web Little did I know I was wrong all I could find was a bunch of photos of roots for Machine Learning projects to Identify a sick plant which don t get me wrong sounds really cool but I needed DATA At the time I looked at a lot of online plant stores to draw some inspiration And then it came to me I ll just take the plants from one of the websites I found But that will be too tedious to do one by one So I ll throw some code at this problem and build a bot to scrape it for me I searched how to do that that s where I found out it s called Web Scraping What s web scraping Web scraping is the process of extracting data from a website in an automated fashion After a small search I came across an article that suggested Selenium and python in hindsight they weren t the best tools for the job but it was still fun learning about this whole new world called web scraping OK OK STOP Where is the code though The Bot s Code can be found here it s not perfect but it did the job The full project can be found on my github ️Here is a little snippet of the scrape Snippet of the scrapeThis is how I felt when I saw my script moves through the pages by itself invincible All of the scraped data is for personal use only and no plants were harmed in the process Conclusions Choose a topic that you enjoy for your personal projects it ll take you far Don t stress over the technologies if you enjoy programming you ll enjoy and learn from every project so much There will always be some obstacles in the way of creating something our job is to make it happen nonetheless |
2022-04-03 16:20:46 |
海外TECH |
DEV Community |
Jetpack Compose Country Code Picker |
https://dev.to/caglayantolga/jetpack-compose-country-code-picker-4nag
|
Jetpack Compose Country Code PickerI really enjoyed developing applications with Jetpack Compose I was looking for the Country Code Selector package When I couldn t find it I decided to prepare it myself It may come to your business in the future That s why I wanted to share it with you Link GithubHighlightsCountry numbers hintsPhone number visualTransformation Automatic number formatting Automatic country recognition detection by sim card if sim card is inserted With TextFieldCan CustomizeAdding language translationsNumber verification added Example Composable fun SelectCountryWithCountryCode val getDefaultLangCode getDefaultLangCode Auto detect language val getDefaultPhoneCode getDefaultPhoneCode Auto detect phone code var phoneCode by rememberSaveable mutableStateOf getDefaultPhoneCode val phoneNumber rememberSaveable mutableStateOf var defaultLang by rememberSaveable mutableStateOf getDefaultLangCode var verifyText by remember mutableStateOf var isValidPhone by remember mutableStateOf true Column modifier Modifier padding dp Text text verifyText fontWeight FontWeight Bold modifier Modifier fillMaxWidth wrapContentSize Alignment Center TogiCountryCodePicker pickedCountry phoneCode it countryPhoneCode defaultLang it countryCode defaultCountry getLibCountries single it countryCode defaultLang focusedBorderColor MaterialTheme colors primary unfocusedBorderColor MaterialTheme colors primary dialogAppBarTextColor Color Black dialogAppBarColor Color White error isValidPhone text phoneNumber value onValueChange phoneNumber value it val fullPhoneNumber phoneCode phoneNumber value val checkPhoneNumber checkPhoneNumber phone phoneNumber value fullPhoneNumber fullPhoneNumber countryCode defaultLang Button onClick verifyText if checkPhoneNumber isValidPhone true Phone Number Correct else isValidPhone false Phone Number is Wrong modifier Modifier fillMaxWidth padding dp height dp Text text Phone Verify |
2022-04-03 16:09:08 |
海外TECH |
DEV Community |
What everyone's getting wrong about bootcamps vs degrees |
https://dev.to/heyjtk/what-everyones-getting-wrong-about-bootcamps-vs-degrees-521e
|
What everyone x s getting wrong about bootcamps vs degreesConsidering how much I tweet bootcamps and degrees are something I haven t spent extensive energy on Compared to the numbers of tweets about animals hiking food or just making terrible jokes I ve been next to silent on this matter comparatively But I did recently have this to say and I meant it JTK heyjtk PSA I will never fight with you about bootcamps in my mentionsI have recruited had tech certs done a bootcamp done a degree more weeks been Tech Lead and led hiring There is honestly a steep ask to have more nuance on this subject than I already do so you can stop PM Feb For the better part of a decade spent in tech I ve had to hear the endless choir of people pontificating about bootcamps and degrees and self learning each acting as if they were bringing down the word from the mountaintop I ve worked places where they assumed I had a degree and even repeatedly degraded people without them in front of me and I functioned as a “degreed engineer with Schrodinger s credentials you might say But now I am done I have the degree and I m ready to talk Part No Degree Days Why I don t didn t have a degreeI m writing this on February Saying I don t have a degree will be accurate for about two more weeks ish I mean that s when my classes are done I guess it gets conferred in May But honestly who gives a s The second that last assignment is turned in in my mind it is done Updating this writing March th and I received two As yay For anyone wondering why I didn t manage to get a degree until now there are many reasons I didn t know for sure what I wanted to do While in college my dad got very sick and it became extremely difficult to manage his constant hospitalizations and keep up with the coursework The teachers were not understanding Also I was poor and it was not clear that I would make enough money even with a degree to pay back student loans and thus was hesitant to take them out my sister had just gone through finishing a degree that she couldn t find work in and her example was informative to me I ll pause here For anyone whose thinking is so rigid that they don t understand that any one of those reasons by itself is good enough to not get a degree you may as well stop reading It is a fool s errand to pressure people into getting degrees when they don t know what they want to do It is harmful that we make students feel like they must go on when they are facing life and death family crises It is irresponsible honestly it is like a pyramid scheme that we bully people into taking on debt to buy their way into a middle class life when increasingly a degree does not guarantee it What it was like without a degreeAs a developer I have led a surprisingly charmed life I made senior rapidly Dev Lead early too Money equity and what now comes easy once seemed like a distant fantasy Early into my life it at one point seemed impossible that I d ever be able to get an office job at all or anything out of service manual work It is not an exaggeration to say that doors were rudely slammed in my face over and over and over again during that time of trying to find a first office job over not having the degree After the recession there were enough job seekers that you could get rejected for hr administrative jobs for not having a degree Nothing about that work requires one for what it s worth There s a study I came across about how poverty lowers IQ and I absolutely believe it What I remember from this time were multiple prolonged cold wars waged between me and being poor and being an undesirable worker So bleak was my path in getting into any office role that I could leverage into a career that I found myself over and over again looking at online degree mills When I say degree mill I do not mean some online college people turn their noses up at I mean a literal degree mill where you mail them a check for a fake diploma It was made so crystal clear to me that the degree was the problem I really almost did it even though it would certainly have been grounds to be fired if I did and it came to light it might have counted as actual fraud Things looked that grim The lack of a degree was a black cloud trailing me constantly That and my credit score Simultaneously I schemed and stewed and plotted as if in a long arduous chess match How do I get a job any job where I ll build marketable skills How do I budge my credit card up from something I can only imagine my IQ was lower It felt like being haunted I was always preoccupied Whatever forward momentum I now enjoy as someone with assets the opposite was true as someone without them To clean up my credit I paid additional fees for a debt consolidation service and high cost high fee credit cards to begin to have a history It was pay to play But still a far lower entry fee than what it would take to attend school I still feel strange sometimes saying that I was “poor but I don t know what else to call it when they were at various points chasing me around trying to repossess my car or that when living in Baltimore we kept the heat inside to in the winter and used space heaters because me and my roommates were all broke When I finally got a first office job I volunteered at every opportunity to travel because I got a daily per diem for it but was constantly at risk of embarrassing myself on these trips with colleagues if we ever had to spend money because with one wrong move I would easily hit my credit limit or overdraw my bank account I once volunteered for an extra two weeks away because I was too broke to pay rent and it gave me a pretext for the check to be late ahh simpler times without Venmo So yeah Plenty of people had it worse than me but I was pretty broke And yeah it was miserably hard to live that way When eventually I got a low paying job but where I was taught transferable skills there were no limits to my tenacity for those of you who think people don t finish degrees out of laziness I was a recruiter and so had no reason to get tech certs or a security clearance but I saw a pathway I was opportunistic to the extreme Anything I saw that would give me a foothold give me legitimacy give me something to propel me to a better life I grabbed on as hard as I could and didn t let go I had no fixed plan of what I would be I would have taken anything available to me that moved me forwards The one exception to this remained school infuriatingly As a white collar worker I began to have tuition benefits at work up to or so dollars which is the limit the company can use it as a tax write off Here s the catch you typically had to pay up front and then be reimbursed I never had the money You also had to repay the money if you left and I was constantly expecting the sky to fall and to be laid off It s amazing when you don t have money how much you have to worry about it constantly to not be caught off guard by the next disaster The tech certs though the company paid up front So that s what I did Although this tenacity launched me out of being poor and into a stable enough career the lack of degree continued to embarrass and dog me Fun things people have said to me about not having a degreeI would be remiss to not give my mom a shoutout here I m not in touch with her anymore but at the point of me struggling so hard to get into any office role I was At the point that I told her how frustrated I was by my job search and how little luck I was having I once said something like “I m so disappointed I didn t get that one I know I would have been great at it and she replied something to the effect of “You aren t qualified for it you are qualified to work at Target I d be lying if I said that line won t be burned onto my brain forever although it s pretty funny in hindsight Maybe I SHOULD work at Target I shop there enough could use the discount But at the time I knew it would do nothing to advance me towards something where I could use my brain and actually build a career Of course there were other places where I got dinged over the lack of degree In the screening call for what would wind up being my first programming job they were so abjectly horrified when I answered that I didn t have a degree that I felt like an untouchable like I might as well have had cartoon stink lines coming off of me I finally just blurted out having never done so before that my dad had gotten very sick up until his death that year and I d dropped out for family reasons but was trying to go back After a stunned and uncomfortable silence they apologized and moved on When hired it was clear that because of my lack of degree they perceived me only suited to be sort of a code plumber an unrefined hand who could do basic tasks unlike the music major they also hired at the same time with no experience which makes sense how My boss made his disdain for my unfinished degree known he brought it up in our s frequently And with great great irony that job was in the Education unit of a research institute So I had the dubious honor of being the least educated person IN THE EDUCATION GROUP Fun times It has actually been fun and funny at times to observe all the different reactions people have to the information Stuff like “But you are so smart which thanks I guess My all time funniest favorite is when I have been in situations and realized that even with a degree there was a higher level of arbitrary gatekeeping that would have kept me out anyway If my life had gone differently in a couple of spots I would probably be the proud owner of a Graphic Design degree from a state school I ve been in a small number of interviews where they led with “Well we hire engineers from elite colleges but someone from other schools could start in tech support and potentially work their way up but it isn t a guarantee Cool At some point working in tech though it stopped mattering Actually I guess I can pinpoint when years in With two years of experience it seems like no one gave a lick whether I went or not Either that or people are exceptionally bad at reading I put my field of study under a deliberately ambiguously titled Education Training section on my resume I never lied I listed the field of study with no degree or graduation date Having been burned over and over and over again for not having the degree I suppose at that point I decided “if you don t care enough to ask I don t care enough to tell you It was always very hilariously clear when people assumed I had it and I didn t A colleague once guffawed over me not knowing what Conway s Game of Life was and exclaimed “Did you even TAKE computer science In the moment I answered “Nope they must have saved that for the fancy kids doing the Master s program but internally I felt like shit This colleague was a friend and I know only ribbed me that way because of the assumption that we were peers and it was in no way punching down Little did they know they had hit me where it hurt Although having now finished a degree I can tell you I STILL would never have learned about Conway s Game of Life I have since of course looked it up I do not feel as if it made me a better engineer to know it lmao The other truly truly funny one was a boss I had I forget what level of education he had but a degree for sure and he definitely assumed I had mine as well He used to say benevolently rude things like “You know JT we could hire someone with occupational training and they could string code together but they wouldn t be able to right algorithms like you or Reader I s you not this man s code was THE WORST I VE EVER SEEN I WOULD GLADLY HAVE HIRED SOMEONE WHO “JUST STRUNG CODE TOGETHER OVER HIM He wrote API endpoints that were concatenated together in what sounds like a joke of a SQL injection nightmare He wrote all his joins in what would have been cartesian products cross joins without the database engine cleaning up his misdeeds under the hood He wrote a new ass application in Python the year it was to be sunsetted when the maintainers had said they wouldn t even patch security bugs going forward just because he didn t know about system python He sure liked me though He made me Tech Lead I had an even more talented male colleague at that job who switched teams to get away from this boss and with great irony I later found out it was because the boss was giving him a hard time about having an unrelated Construction Management degree This dude was amazingly talented and could code circles around the boss Eeesh A lot to unpack there but I m going to throw away the whole suitcase What someone without a degree would want you to knowThe only thing I will ever say no one can accuse me of is a lack of work ethic or ambition Whatever you want to say about me not having a degree you could chalk it up to just about anything in the world but there is no credible case to be made that laziness or lack of tenacity were in play I m not unique I didn t write the first half of this post to be woe is me I m obviously very lucky and have enjoyed a drastic change in circumstances Honestly it s been so drastic that for all I know I m just part of a bubble about to pop and my fortunes will all reverse the next economic downturn The reason I mention it is that I was always the person capable of having the degree I m about to earn I mean heck I used to work harder without it I had to exercise such a high level of showmanship and boldness to compensate I was probably a better worker So please take away from this that education intelligence education work ethic and in many cases it is just a reflection of someone s luck When you judge people harshly on it that is in fact what you are judging and it is frankly crappy Part II Bootcamps What brought me to bootcampsWhen in my father died he had some miscellaneous life insurance policies that resulted in me inheriting something like That might have paid for school Unfortunately the price I had paid to get to the fringes of the middle class was to work jobs with ridiculous hours I felt extreme concern that I could keep it up if I added school At this point my recruiting background had taken me into recruiting for technical roles in government contracting most often for Network Engineers and Cybersecurity professionals My claim to fame in recruiting was that I was very good at boolean searches which was fortunate since government contracts often had roles with complex mixtures of security clearance and technical certification requirements There is an entire DoD regulatory proviso code for the Security exam by CompTIA DoD so invested are government agencies in these various tech certs Some jobs had requirements with a complex mix of certification combinations where you would need one or more certifications from group A one or more certifications from group B and then a security clearance Point being I come from a world where ongoing professional development was very respected and in demand After my dad died and I debated using the inheritance for school vs getting more technical certifications somehow strategically placed advertisements for bootcamps found their way to me I immediately liked the idea It sounded like a combination of instruction and apprenticeship I would actually be BUILDING things not just memorizing and regurgitating things I bought in completely It is worth pointing out that although I wasn t recruiting developers heavily I was in the tech industry and had no idea that bootcamps were widely criticized and considered by many totally illegitimate I want to pause on that If me a white collar worker actually already working with these types of roles and around tech people wouldn t know the baggage that came with that path how do you expect someone working at Mcdonald s and dreaming of a better life to know it Part of the hate on bootcamps honestly in effect s s on people who risked a lot and put their neck on the line trying to do the really hard work of building a career So consider that The mixed bag that is bootcampsHere s where it gets dicey I just finished telling you that you need to show people who attend bootcamps some respect I can t and don t necessarily say the same for the people running them I attended General Assembly s first remote Web Development Immersive program in since rebranded I very clearly remember that the marketing was emphatic that the program could take you from zero to sixty even with no experience I even had some experience I had been doing Coursera CodeAcademy and technical certs I thought I d be coming in from a good starting position I was very wrong About half the people in my bootcamp were technical One did tech support one had a CS degree and had freelanced one was a graphic designer who did some code on and on By the end of the first unit about half of the cohort s projects did not pass a condition that could cause us to fail out of the program without a refund As you may guess the entire almost failing half were me and the other people not working in technical roles before joining the program I remember now and laugh that on the day we were supposed to present our projects I said something like “This is my project and spoiler alert it doesn t work With that large of a group failing it was impossible to make us individually shoulder the blame it was too blatant The bootcamp split us up into groups with mine to repeat our first unit As time went on myself and one other woman in the program realized how screwed up it was that we were missing instruction and content that we paid for at the time on MEAN stack all the rage We raised hell We made them agree to extra workshops after and other conciliatory measures As a sidebar I felt such stress and desperation that I had thrown all my eggs in this basket quit my job spent all that and then let down by the system I d pinned all my hopes on my brain got mean and focused and steely After the first unit I moved up up up towards the top of the pack in my group I was stressed I was angry and I was scared but I channeled it and I liked code even as bad as I was back then Since then bootcamps have arguably only gotten worse Parasitic income sharing agreements are a Faustian bargain Bootcamps are functionally unregulated and cherry pick statistics to give the reporting body CIRR or just stop doing so altogether The inexperienced instructors and recycled recent graduate TAs don t know what they re doing As the market is flooded with junior candidates many of whom are all trained in the same things bootcamps have to pivot wildly and come up with new curriculum I could go on and on and on and often do Some of them have gotten better I have seen B Corps free bootcamps bootcamps to get former convicts into coding schools free to disabled people Some of the programs are now two years long In response to critiques that bootcamp graduates don t know data structures well some have added things like that There are also orgs like Code The Dream that give me a lot of hope in the nonprofit model they follow the bootcamp with an apprenticeship period building sites for nonprofits to give the students real experience Least favorite takes on this topic and rebuttals“Bootcamp people are ok as programmers but will never be software engineers As someone who just finished four years of schooling largely debugging and learning alone you can f right off with this Nothing magical happened in my degree that transformed me There was little new in my coursework and I could plow right through on code alone Most of our books were open source resources “People who join bootcamps need hand holding and structure but if you don t you can self teach Yes I hear this not always this clear but I hear comments reeking of it often You know why I wanted instructors I had worked around software engineers and the field seemed hard I wanted to do it right I wanted to give it my all I trusted that people in the field might have something to teach me I trusted that learning these skills would be difficult and I wanted to give myself the best possible chance of success Wanting instructors came from a place of humility It was a lot of money and a lot of risk but it was a representation of my commitment to choose active instruction I wanted to do it right I was giving this challenging material respect by wanting a guide What someone who attended a bootcamp would want you to knowIt is possible to be critical of bootcamps but still respect the people who attended them and treat them as people who took a huge risk out of willingness that they could build a better life for themselves and their family Doing a bootcamp is PAYING to work extremely hard These people don t deserve your scorn or your in group out group blanket dismissal What does it say about you if you are someone that enjoys deriding people for trying to learn something What did it ever do to hurt you What makes you the authority on high to pass judgment on someone else just trying to be compensated for their labor and make a living The more you unpack it the more appalling it sounds But the number one super duper incredibly important thing I need you to remember is this Yes you you who secretly has a low opinion of bootcamp people there is also a lot of bias at play here and I don t mean credentialism It is a known fact that bootcamp graduates are far more diverse across multiple categories than CS degree students In group out group bias is a real thing and no matter how nice of a person you are the human brain was built to categorize and we all must contend with that It is not a coincidence that this group of people who is maybe queerer browner and more female than you and all your CS cohort peers show up and the initial brain reaction is mistrust or disbelief As one study of in group out group bias puts it “Experiments … have been repeated time and time again demonstrating that the favoritism people show for their own group doesn t need to founded in anything particularly meaningful The same linked article goes on to say Another basic truth about people we have a need to feel positive about ourselves and we are frequently overly optimistic about how exceptional we are compared to other people These processes of self enhancement guide our categorizations of ourselves and others and lead us to rely on stereotypes that demean the out group and favor our in group In short because our identities are so heavily reliant on the groups we belong to a simple way to enhance our image of ourselves is by giving a shiny veneer of goodness to our in groupーand doing the opposite for our out group In this sense I feel for people with skepticism about bootcamps Your brain is really not set up to like this concept It is invalidating to people to have spent years of a Bachelor s Degree on Computer Science concepts and have someone who spent a fraction of that be competing at your level I recently saw a tweet that was a pretty terrible take tbh but the comments were illuminating in one way Above this the poster had a video of them saying “I took six years to get my degree you went to a three month bootcamp We are not the same I laughed a little at this because the “no one is better at the end clearly is tacked on to avoid criticism This person riffing on the “we are not the same meme makes it clear they think one is better than the other Some of the replies were And another that most closely supports my point about in group out group bias While I m skeptical that anyone who knew Canva alone was off finding work as a designer this person recognizes what s happening in their own cognition they feel invalidated by people from other paths It feels invalidating to the work they did and that s upsetting to them I appreciate that they had the clarity to recognize it that way because at the end of the day I think that s part of what is going on with a lot of people One final thought to leave you with if like the poster above you find yourself thinking “a few months can t compare with years I want to reframe that a bit for you An average college student goes two semesters a year with a credit workload The average semester is weeks with hours of classroom time per course So hours a week over weeks x or hours of instruction time per year Using General Assembly my own bootcamp as an example the schedule was with an hour break at lunch That is not including time alone coding afterwards for homework So that s hours a day for weeks although I m going to subtract that last week because I think we spend it on the final project Let s call it weeks x hours hours of instruction Draw from that what you will Part III The Degree What made me decide to finish the degreeThis is a question I get asked A LOT by bootcamp people “Why did you go back did you feel like you needed it and it isn t that easy to answer People in this field feel all the time like they are “imposters regardless of background and experience and I wasn t immune Being a woman in a male dominate field it would be a lie to say that I never felt the need to be unimpeachable in my track record credentials and output Having seen the fate of people without degrees in the last economic downturn it also seemed like a way to protect myself If the job market ever got bad again to where employers just needed to filter out some arbitrary number of people degree requirements are a very easy way to do it I also just wanted to know To know what it was exactly that I was missing by not going What exact things I wasn t aware of that seemed to make this whole industry think people with my background were a joke in the abstract anyway individually people treated me well and I was obviously very successful even before finishing the degree What exact topics a degree would cover that would take me from the fringe to being a Real Programmer Tm You might say I wanted the degree just so I could tell everyone to STFU up about this all That is literally what I tell people who want to talk about this topic as I showed in the tweet included in Part I There are a very very small number of topics where my mentality is “you can t tell me s about this but this is one of them I have the complete perspective At this point I have done a degree done a bootcamp and have professional certifications I have tried it all But was it worth it The mixed bag that is degreesOk so You ve already heard that I was not super impressed by my bootcamp and it would probably be more satisfying to end this arc by me saying the degree was far superior Meh Some of the stuff was pretty cool I think my favorite courses included one where I got to use JavaScript and Flask to make demos of different software vulnerabilities I came up with behavior with VueJS to imitate a bot doing a brute force attack on a login page for instance By far the HARDEST courses I took were actually during a brief time when I was doing a Network Engineering major and had to do coursework aligned with the CompTIA A and Network certifications I don t know how hard the certifications were but the classes relied on all these virtual labs and they were incredibly time consuming and finicky if you did things correctly but in the wrong order you wouldn t get points that kind of thing Most of the coding I could just show up and code without much paying attention to anything else Ironically some of the things I was best at SQL were some of my worst grades just because I would do things the “industry way not the “textbook way or use techniques that accomplished what was needed but weren t what the book was trying to highlight etc There were some more relevant things like AWS and some less relevant things like assignments so old that they were dependent on Java tools that could no longer be installed on modern machines At the end of it all it was probably equal parts Python Java JavaScript used in classes where I was allowed to pick and SQL Not a bad mix for employability I will say that neither the types of tasks we were assigned nor the way content was presented were particularly engaging A lot of “build a desktop Java app to do payroll “build a Java app to look up semester grades “build a Java calculator As someone who didn t like Java I definitely had the realization that if college HAD been my first instruction to code I would have abandoned it I would have switched majors I m almost certain If I thought all coding was was building dull apps with Java where it takes a bazillion lines of code to do the simplest thing I would have noped out hard The degree also pointedly side stepped a lot of extremely relevant industry concepts There was one class where a classmate managed to bork his code irreparably and I was trying to help on the class forum I was curious if anyone would tell this person about version control to save them from similar issues in the future Knowing the professor would respond I said something like “It would be great if there was a way to go back in time with code wondering if they would mention git at all Nope We also got assignments where to follow the instructions the cyclomatic complexity of the end result was horrendous To get an A you had to follow the arbitrary instructions even if the resultant code was poor We also spent an honestly somewhat embarrassing amount of time on things that are decidedly not industry standard anymore like drag and drop UI builders in Java incredibly old versions of Oracle etc Some of the more relevant things we learned were approached in very weird ways like having to use spool files for SQL and topics like types of software testing or code efficiency were entirely skipped while instead we spent a mind numbing amount of time on things like the Software Development Lifecycle Least favorite takes related to this topic and rebuttals“Degrees are pointless Look while ultimately mine may not be worth it you ve seen from my experiences listed earlier how rudely the world may treat you for not having one That s not to mention that for groups that aren t well represented in tech there is often additional pressure to “prove ourselves and it is not always possible to be taken seriously without credentials People might do it to advance themselves just out of the curiosity to learn or a multitude of other reasons Same as we aren t going to s on bootcampers for the act of learning we are not going to s on people getting degrees Why even would you What is scorn worthy about someone wanting to work and learn “People who get degrees are fools a bootcamp is enough Nothing is enough Truly Our society has increasingly moved to requiring degrees even when they are only nominally of benefit for the role or even irrelevant Automated hiring is filtering people out in bizarre ways like screening nurses who need data entry skills for computer programming And yet I don t know if I know ANYONE who walks onto their first programming job and doesn t feel kind of lost In mine I was able to immediately make contributions with bug fixes but even so was in way over my head on other things Most schools still teach Java or C most workplaces use a variety of things If I extrapolate where I d be starting from with the degree alone my whole atrocious learning curve with git would have had to happen at work I would have known little to nothing about CSS or HTML much less accessibility It would still have been a steep STEEP learning curve If someone feels like going to college because they want to feel prepared for the workplace good for them Just as it doesn t invalidate people from college for bootcampers to exist it is pretty iffy to completely disregard any time spent learning period Also this statement is clearly wrong there is a reason people continue to find CS grads more prepared although it is not the reason people think and I ll elaborate in the next sections Whenever I hear someone so self satisfied with their conclusion I can t help but think of the saying trust those who seek answers not those who claim to have found them Anyone too gung ho with no nuance I do not trust your conclusions What someone with a degree would want you to knowThe reason I m so sick of how people talk about this subject is the complete lack of nuance brought to it And yes you are hearing me correctly that my view that IMO does have sufficient nuance boils down to people may be leaving degree programs slightly better prepared than bootcamps but there is also a lot of bias impacting how we evaluate people in these two groups and the difference has absolutely nothing to do with degrees being superior or the people who get them being superior At the end of the day despite everything I ve said me with a degree may still be a little better than the version of me existing in some alternate universe without it Not because the degree itself was special but simply through the act of having to engage with the material and the extra hours put in That didn t need to occur in school and I don t know that school was even the right place for it ALL of the more advanced things I have learned or done in my career have been learned on the job period But attending school of course didn t make me any worse As time has gone on as I ve worked with people with and without degrees as I m now on a team that is made up largely of career changers with degrees but unrelated who are among the smartest colleagues I ve ever had my views on this entire thing remain hard to put into words While I DON T think the act of attending college is magical I am comfortable roughly saying that college does seem to generally be producing more prepared entry level programmers than bootcamps are As time goes on the more I see though I am increasingly sure that it is not because these two forms of training are so fundamentally different or that one is inherently better The longer I go on I think the benefits of college are simply that it goes on longer There is evidence that we retain more when concepts are explored slowly Something called the spacing effect has studied that our brain holds on to more and benefits from superior long term memory performance when the time spent learning is spread out At the end of the day I am of the opinion that that is the only difference that matters in this debate Part IV Where does this leave us If everything sucks what s the point then What s the solution Well okay so I know I was critical of my bootcamp and now critical of my degree That being said I wouldn t change either experience When prospective career changers ask me which they should do or ask what language they should learn or how they should spend their time I often tell them something like “any time spent learning will be valuable Pick what interests you or what you think is the direction you want to take your career It doesn t matter I have a suspicion if you pick something enjoyable to you it will enable you to spend more time learning and overall have the biggest ROI The real takeaway I would like people to have from this post is that bootcamp vs degree training is not a valid premise for evaluating programmers Period If your brain has a sticky attachment to the idea of this hierarchy ask yourself why What benefit HAS ever really come from broadly profiling a huge group of people without any nuance What benefit does it really give you An alternate frameworkWith that said we reach a conundrum if concrete credentials are not the way to evaluate programmers how do we We all know everyone hates whiteboarding and take home projects Although I will say certainly me feeling stupid for an hour while live coding is less trouble than getting a whole ass degree At the end of the day if a company wants to have an entrance test and uses those in lieu of specific years of experience or degree requirements I don t think that s the worst thing in the world It at least would be something consistent And while yes it s a time commitment again less so of one than either a bootcamp or school to prove yourself But really I don t even think that s a necessary alternative if degree requirements were scrapped One philosophy in hiring that I like is the competency based approach described here as being the solution for hiring challenges where people were coming in with the right backgrounds degrees etc and still having issues on the job This approach relies on job profiles and structured interviews and as discussed in the article above has also been linked with facilitating more diverse hires It is also an excellent way to account for the fact that not all years of experience are equivalent and some people progress faster than others to the same level of mastery This article goes on to say that naturally there are numerous ways of doing this for software engineers whether it be assessments technical questions whiteboarding etc I think we d be better off even with some combination of measures Like a degree requirement OR you can do a take home OR you can whiteboard to demonstrate whatever level of mastery Ultimately my opinion is that you can assess an engineer without the whiteboarding but if it moves places away from arbitrary degree requirements then fine Also worth consideringIt is also worth noting that both bootcamps and colleges have numerous other issues I didn t even get to cover here My personal opinion is that the bootcamp model is not worth throwing away despite the issues with poorly run and disorganized ones but it is screaming for legislation Some of the things I ve heard go on are borderline fraudulent like ISA repayment being triggered by jobs that are barely tech adjacent It is valid to have specific issues with the way bootcamps are run but it is also valid to have extremely real concerns that stop you from wanting to go to college When colleges shut down due to the COVID crisis students were displaced from housing and meals that they were still on the hook for financially and many are now suing This excellent episode of Patriot Act addresses that increasingly schools cost is only half related to genuine fees and schools are using atrociously paid adjunct professors to keep their own costs low while institution president salaries and investment trusts have exploded The number of administrators at schools has increased in some cases while adjunct pay has gone down but executive level salaries are up That s not to mention that for cases like mine with a sick parent it isn t like in return for all that money you are getting any kind of understanding Even in the recent invasion of Ukraine by Russia students requesting deadlines to account for the fact that they are literally in a war zone are being refused I m not even going to touch the ongoing embarrassment of sexual assault on college campuses and its abysmal handling So with all that said even if college might send you into the world SLIGHTLY more prepared for an entry level programming job is it worth it At the end of the day For some people the answer is no and for others it s a moot point they don t have the money they don t have the time and it was never in the cards for them In closingWhere does this leave us The prospect of learning challenging material with no direction is somewhat bleak If I had it all to do again and had known about these options I might have turned to something like the Open Source Software Degree or a new development one I have my eye on as potentially the most promising revolution in software engineering education that I ve heard of the Free Code Camp accredited free computer science degree I think if supplemented with learning groups like I ve found on Slack communities an option like this when combined with community could likely do as good of a job as the path I wound up taking If I can ask anything of anyone after this absurdly long diatribe on this topic it would be to realize that people s lives are messy and unpredictable The same options are not realistically available to everyone When compared side by side the amount of instruction in a bootcamp vs a degree is not actually all that different and there is nothing about degrees or the people who get them that is inherently superior I truly believe that if CS grads are coming out slightly ahead it is a function of the degree having a longer duration and nothing else Take a moment to examine why you might feel so strongly about someone else s educational background when it doesn t hurt you either way And overall realize that people s capabilities are not neatly assessable through the lens of bootcamp vs degree vs self taught |
2022-04-03 16:08:21 |
海外TECH |
DEV Community |
!!! MY CONTRIBUTIONS !!! |
https://dev.to/arindam0310018/-my-contributions--3bgp
|
|
2022-04-03 16:08:05 |
海外TECH |
DEV Community |
problem solving skills |
https://dev.to/baraa_baba/problem-solving-skills-25lp
|
problem solving skillsAs we all know problem solving is so important in programming I clearly notice how better I am getting at this and how I developed a certain tool set to fix problems faster understandSearching for the flat problem sometimes doesn t work instead you should understand the problem and what s causing it preventIts better not to have problems rather than fixing problems so always write clean code understand what the code rather than copying code that you really don t understand take a breakHow many times you tried fixing a problem for hoursThan take a minute rest than fix the problem Well taking a rest helps you clear your mind and release stress leading you to solve problems faster and come with even better solution ask for helpIt s totally fine to Google stuff and even if you don t find your answer don t be shy to ask it on stack overflow or ask a more experience people |
2022-04-03 16:07:53 |
海外TECH |
DEV Community |
Extracting credentials from App Service |
https://dev.to/cheahengsoon/extracting-credentials-from-app-service-51e7
|
Extracting credentials from App Service Test at your own risk Use the Get AzPasswords function to perform a dump of credentials for App Service Get AzPasswords AutomationAccounts N StorageAccounts N Keys N ACR N CosmosDB N Verbose Out GridView When prompted to select an Azure subscription select your test Azure subscription and click OK In the resulting output you should see credentials that were dumped from the App service configurations Now that we have access to the app service publish profile we will see how these credentials can be used with the application Reference |
2022-04-03 16:04:25 |
海外TECH |
Engadget |
Jack Dorsey regrets his role in creating a centralized internet |
https://www.engadget.com/jack-dorsey-regrets-centralized-internet-164519243.html?src=rss
|
Jack Dorsey regrets his role in creating a centralized internetTwitter founder Jack Dorsey would like you to know he too misses the early days of the internet when protocols like IRC made the web seem like a place of boundless possibility He also knows he s partly to blame for the current state of things the days of usenet irc the web even email w PGP were amazing centralizing discovery and identity into corporations really damaged the internet I realize I m partially to blame and regret it ーjack️ jack April “The days of Usenet IRC the web…even email with PGP were amazing Dorsey said on Saturday in a tweet spotted by Mashable “Centralizing discovery and identity into corporations really damaged the internet I realize I m partially to blame and regret it Dorsey s tweet is a remarkable admission by a tech executive who made billions creating a platform that centralized the way we consume news Twitter may not be as big as Facebook and TikTok but the effect it has had on the information economy is undeniable Many of us turn to Twitter when we want to follow ongoing events in close to real time as possible but at times the company has struggled to combat misinformation much to the harm of our public institutions nbsp This isn t Dorsey s first time lamenting the current state of the internet In December he went on a rant about how Web had already been co opted by investors “You don t own Web he said at the time “The VCs and their LPs do It will never escape their incentives |
2022-04-03 16:45:19 |
ニュース |
BBC News - Home |
Ukraine war: Russia attacks are more evidence of war crimes - PM |
https://www.bbc.co.uk/news/uk-60974339?at_medium=RSS&at_campaign=KARANGA
|
putin |
2022-04-03 16:49:34 |
ニュース |
BBC News - Home |
Women's Six Nations: 12-try England earn emphatic win against Italy |
https://www.bbc.co.uk/sport/rugby-union/60975212?at_medium=RSS&at_campaign=KARANGA
|
parma |
2022-04-03 16:02:44 |
北海道 |
北海道新聞 |
林外相、ウクライナ国境を視察 避難民移送へ調整 |
https://www.hokkaido-np.co.jp/article/664989/
|
避難 |
2022-04-04 01:03:06 |
北海道 |
北海道新聞 |
宮崎学さんが死去 作家、「突破者」 |
https://www.hokkaido-np.co.jp/article/665019/
|
社会問題 |
2022-04-04 01:08:00 |
コメント
コメントを投稿